Android BitmapDrawable setTileModeXY REPEAT не работает

У меня есть проблема с BitmapDrawable.setTileModeXY.

Я много раз искал эту проблему на Google, Stackru и других веб-сайтах. Кажется, что большинство людей с проблемой используют XML, в то время как люди, использующие код, у которых были проблемы, были на старых версиях (до ICS). Тем не менее, я использую Android 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).

Согласно тому, что я прочитал в нескольких потоках, это должно привести к плиточному изображению. Но это не так. Я играл с этим часами, и ничто из того, что я пробую, не имеет никакого значения.

Есть идеи? Или я что-то упускаю до смешного очевидного?

1 ответ

Решение заключается в использовании:

ImageView.setBackground (BitmapDrawable)

Это позволяет использовать мозаику, но также по-прежнему может использовать ImageView.setScaleType(), что невозможно сделать с помощью обычного ViewGroup.

Другие вопросы по тегам