仅限 Android TileMode X 或 Y?

标签 android

在我的 Activity 的布局中,a 有一个背景,应该由 Y 重复。重复背景没有问题,当它在 X 和 Y 上重复时(只需添加 android:tileMode="repeat" )。此外,在 Android API 15 以上执行此操作没有问题:

RelativeLayout layout = (RelativeLayout) findViewById(R.id.container_layout);

BitmapDrawable bg = (BitmapDrawable)getResources().getDrawable(R.drawable.my_repeating_bg);
bg.setTileModeX(TileMode.REPEAT);`
layout.setBackground(bg);

但是方法setBackground(<BitmapDrawable>)在 Android API < 16 上不可用。 Android 2.3 中只想按X 或按Y 重复背景怎么办? 谢谢。 附言背景的宽高都是MATCH_PARENT .

最佳答案

您可以在 drawable 文件夹(或任何真正的 drawable 文件夹)中创建此格式的 xml 文件。

<?xml version="1.0" encoding="utf-8"?>
<bitmap xmlns:android="http://schemas.android.com/apk/res/android"
    android:src="@drawable/my_repeating_bg"
    android:tileMode="repeat" />

然后做:

layout.setBackgroundResource(R.drawable.name_of_xml_drawable);

如果布局的宽度设置为wrap_content,则只有 Y 会被平铺。如果布局的高度设置为 wrap_content,则只会平铺 X。将两者都设置为 match_parentfill_parent 将平铺 X 和 Y。

关于仅限 Android TileMode X 或 Y?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11934845/

相关文章:

php - 限制对php文件的访问

java - Java fftpack的基本使用

android - 如何在 Android 应用程序的发布版本中删除 Log.d() 调用?

android - 我怎样才能让屏幕空闲监听器?

java - AsyncTasks 对于多个同时的网络操作来说太慢了

android - 当用户关闭验证对话框时,Google 安全网 addOnFailureListener 不会触发

java - 如何计算传递给 renderscript 文件的数组

android - 在android上覆盖布局和数据绑定(bind)生成的类

Android Facebook 聊天示例项目

android - 如何关闭/退出android中的应用程序?