如何在ImageView中平铺可绘制文件?

时间:2010-09-08 01:58:31

标签: android android-widget

喜欢标题。我有一个小的可绘制文件,但ImageView比它大得多。如何在不留任何额外空间的情况下填充它? 提前谢谢。

3 个答案:

答案 0 :(得分:3)

如果您尝试“填充”ImageView:

android:scaleType="fitXY"

如果您尝试“平铺”,请查看BitmapDrawablesetTileModeXY()

答案 1 :(得分:2)

在res文件夹中创建一个drawable,将其命名为tile_drawable.xml

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

使用此drawable作为ImageView的背景,完成!

<ImageView
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_alignParentBottom="true"
        android:background="@drawable/tile_drawable" />

这是通过XML

的方式

答案 2 :(得分:1)

您可以使用以下代码段:

BitmapDrawable bitmapDrawable  = new BitmapDrawable(getResources(),BitmapFactory.decodeResource(getResources(), R.drawable.tile_image));
bitmapDrawable.setTileModeX(TileMode.REPEAT);
imageView.setImageDrawable(bitmapDrawable);

此示例使用tile_image填充imageView并在X-Direction中重复它。您可以使用其他方法在Y-Direction或两者中平铺:

bitmapDrawable.setTileModeY(TileMode.REPEAT);
bitmapDrawable.setTileModeXY(TileMode.REPEAT,TileMode.REPEAT);