gpt4 book ai didi

android - 平铺的drawable有时会延伸

转载 作者:IT王子 更新时间:2023-10-28 23:40:33 26 4
gpt4 key购买 nike

我有一个 ListView,其项目具有平铺背景。为此,我使用以下可绘制 xml:

<bitmap
xmlns:android="http://schemas.android.com/apk/res/android"
android:src="@drawable/tile"
android:tileMode="repeat" />

通常,这是可行的。然而,有时,src drawable 不是平铺的,而是拉伸(stretch)以填充整个列表项。 (我有几个像这样的不同图 block ,我在一个 ListView 中混合使用它们。如果有拉伸(stretch)而不是平铺,那么它永远不会同时出现在所有这些图 block 中,这是值得的。)

我还尝试将 android:dither="true" 添加到该 xml,因为我在某处读到,如果没有它,可能会有错误。这并没有改变任何东西。

有人遇到过同样的问题吗?你是怎么解决的?

最佳答案

我也被这个问题所困扰。很难诊断,甚至更难找到类似的报告和可用的解决方案。

freenode #android-dev irc channel 上的“Tapas”带有以下实用方法:

public static void fixBackgroundRepeat(View view) {
Drawable bg = view.getBackground();
if (bg != null) {
if (bg instanceof BitmapDrawable) {
BitmapDrawable bmp = (BitmapDrawable) bg;
bmp.mutate(); // make sure that we aren't sharing state anymore
bmp.setTileModeXY(TileMode.REPEAT, TileMode.REPEAT);
}
}
}

将其应用于所有具有平铺背景集的 View (例如 findViewById 它们)。

另外,我觉得这个错误是在 AndroidManifest.xml 中设置“anyDensity=true”后开始出现的

关于android - 平铺的drawable有时会延伸,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4336286/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com