在图层列表中旋转位图

时间:2011-09-06 07:35:54

标签: java android xml bitmap layer

我正在尝试轮播bitmap item内的layer-listlayer-list在Android XML文件中定义。我想从Android活动中调整bitmap的轮播。我知道可以使用Matrix旋转位图,但是我不知道如何更新XML文件中包含的位图。

到目前为止我的代码是:

// Inside Activity
Bitmap bitmapOrg = BitmapFactory.decodeResource(getResources(),
                R.drawable.face_line_green);

        int width = bitmapOrg.getWidth();
        int height = bitmapOrg.getHeight();

        Matrix matrix = new Matrix();
        matrix.postRotate(10);

        Bitmap resizedBitmap = Bitmap.createBitmap(bitmapOrg, 0, 0,
                width, height, matrix, true);

// Inside XML
    <?xml version="1.0" encoding="utf-8"?>
    <layer-list xmlns:android="http://schemas.android.com/apk/res/android">
        <item android:top="6px">
            <bitmap android:src="@drawable/face_line_red" android:gravity="center" android:id="@+id/line_red" />
        </item>
        <item android:left="4px">
            <bitmap android:src="@drawable/face_line_green"
                android:gravity="center" android:id="@+id/line_green" />
        </item>
    </layer-list>

1 个答案:

答案 0 :(得分:0)

您可以使用Bitmap轻松轮播RotateDrawable。因此,执行Bitmap轮换的最简单方法是将其包裹在RotateDrawable中,该LayerListDrawable也将包含在{{1}}中。