Android BitmapDrawable setTileModeXY重复不工作

Android BitmapDrawable setTileModeXY重复不工作,android,bitmapdrawable,Android,Bitmapdrawable,我对BitmapDrawable.setTileModeXY有问题 我在谷歌、StackOverflow和其他网站上广泛搜索了这个问题。大多数有问题的人似乎都在使用XML,而使用有问题的代码的人都在旧版本上(在ICS之前)。然而,我使用的是安卓4.2.2,minSdkVersion设置为17,targetSdkVersion设置为19 我正在使用以下代码: public void applyTiledBitmap(ImageView imageView, Bitmap bitmap, Resou

我对BitmapDrawable.setTileModeXY有问题

我在谷歌、StackOverflow和其他网站上广泛搜索了这个问题。大多数有问题的人似乎都在使用XML,而使用有问题的代码的人都在旧版本上(在ICS之前)。然而,我使用的是安卓4.2.2,minSdkVersion设置为17,targetSdkVersion设置为19

我正在使用以下代码:

public void applyTiledBitmap(ImageView imageView, Bitmap bitmap, Resources resources)
{
    BitmapDrawable drawable = new BitmapDrawable(resources, bitmap);
    drawable.setTileModeXY(TileMode.REPEAT, TileMode.REPEAT);
    imageView.setImageDrawable(drawable);
}
ImageView填充整个屏幕。使用imageView.setScaleType(ScaleType.CENTER)可以将图像缩小并居中

根据我在多个线程中读到的内容,这应该会产生平铺图像。但事实并非如此。我已经玩了好几个小时了,我试着做什么都不会有什么不同


有什么想法吗?还是我遗漏了一些非常明显的东西?

解决方案是:

ImageView.setBackground(可位图绘制)


这允许使用平铺,同时仍然能够使用ImageView.setScaleType(),这是使用普通视图组无法完成的。

使用ImageView.setDrawable(drawable);但是,在这种情况下,不需要使用ImageView,简单视图将完成这个任务。这是否意味着我可以使用BitmapDrawable以类似RelativeLayout的方式显示图像并完全忽略ImageView?使用ImageView和位图而不是BitmapDrawable有哪些优点/缺点?当然可以,我更喜欢Drawable,因为它们具有更高的抽象级别,位图是静态的、死气沉沉的“静物”