我的应用程序显示了一个带有某些设备的 gridview 列表。每个设备有四种状态。我有不同类型的设备图像和四种状态图像。我想将设备图像与状态图像结合起来并在 gridview 中显示。图像存储在应用程序资源中。图像使用 ImageView 显示。
我怎么能这样做?
图像1
图2
输出将是
编辑 新图像
我的应用程序显示了一个带有某些设备的 gridview 列表。每个设备有四种状态。我有不同类型的设备图像和四种状态图像。我想将设备图像与状态图像结合起来并在 gridview 中显示。图像存储在应用程序资源中。图像使用 ImageView 显示。
我怎么能这样做?
图像1
图2
输出将是
编辑 新图像
您可以像这样使用框架布局:
<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<ImageView
android:id="@+id/imageView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/box" />
<ImageView
android:id="@+id/imageView2"
android:layout_width="78dp"
android:layout_height="61dp"
android:layout_gravity="top"
android:layout_marginLeft="120dp"
android:layout_marginTop="150dp"
android:src="@drawable/Remove" />
</FrameLayout>
这段代码的输出是:
试试这个对我很有用
public Bitmap combineImages(int boxDrawableId , int closeDrawableId) {
Bitmap box = BitmapFactory.decodeResource(getResources(),boxDrawableId);
Bitmap close = BitmapFactory.decodeResource(getResources(), closeDrawableId);
Bitmap bitmapCreate = Bitmap.createBitmap(box.getWidth(), box.getHeight(), Bitmap.Config.ARGB_8888);
Canvas comboImage = new Canvas(bitmapCreate);
comboImage.drawBitmap(box, 0, 0, null);
comboImage.drawBitmap(close, box.getWidth()-close.getWidth(), box.getHeight()-close.getHeight(), null);
if (box != null) {
try {
box.recycle();
close.recycle();
box = null;
close = null;
} catch (Throwable e) {
}
}
return bitmapCreate;
}
怎么打电话?
imgView.setImageBitmap(combineImages(R.drawable.box,R.drawable.close));
输出