旋转图层列表中的位图



我正在尝试旋转包含在layer-listitem中的bitmaplayer-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>
您可以使用

RotateDrawable轻松旋转Bitmap。因此,执行Bitmap旋转的最简单方法是将其包装在RotateDrawable中,该也将包装在您的LayerListDrawable中。

最新更新