0

我的应用程序显示了一个带有某些设备的 gridview 列表。每个设备有四种状态。我有不同类型的设备图像和四种状态图像。我想将设备图像与状态图像结合起来并在 gridview 中显示。图像存储在应用程序资源中。图像使用 ImageView 显示。

我怎么能这样做?

图像1

在此处输入图像描述

图2

在此处输入图像描述

输出将是

在此处输入图像描述

编辑 新图像

在此处输入图像描述 在此处输入图像描述 在此处输入图像描述

4

2 回答 2

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>

这段代码的输出是: 在此处输入图像描述

于 2013-11-11T11:20:31.880 回答
2

试试这个对我很有用

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));

输出

在此处输入图像描述

于 2013-11-11T11:27:58.300 回答