我很难使用带纹理的背景。我有一个 60 像素 x 60 像素的位图纹理,我想将其设置为重复平铺图案中布局的背景。这是位于 res/layout 中的布局 xml:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="@drawable/dark_texture_background" >
...
</RelativeLayout
这是位于 res/drawable 中的 dark_texture_background:
<?xml version="1.0" encoding="utf-8"?>
<bitmap xmlns:android="http://schemas.android.com/apk/res/android"
android:src="@drawable/dark_background_texture"
android:tileMode="repeat" />
dark_background_texture 是 60x60 像素的图像。
因此,问题在于纹理图像在被平铺的同时被放大。我在纹理图像的外部添加了一条红线,以查看纹理图像的确切位置,结果如下:
我还根据getResources().getDisplayMetrics()添加了屏幕高度、宽度和密度。
由于屏幕宽度为 480 像素,因此纹理图像应重复 8 次 (480 / 60 = 8)。相反,只有 5 ~1/4。图像现在约为 90 像素并平铺。怎么回事?
当我明确告诉它重复时,为什么我的纹理图像会被拉伸?