在android中将一个图像放置在另一个图像上

在android中将一个图像放置在另一个图像上,android,imagebutton,Android,Imagebutton,我在android上有一个用户点击的imageButton。然后,在他的点击之后,我想在它的toip上显示一个勾号或一个十字图像。 怎么可能呢 <ImageButton android:layout_width="wrap_content" android:text="Button" android:id="@+id/button1" android:layout_height="wrap_content" andro

我在android上有一个用户点击的imageButton。然后,在他的点击之后,我想在它的toip上显示一个勾号或一个十字图像。 怎么可能呢

            <ImageButton android:layout_width="wrap_content"
            android:text="Button" android:id="@+id/button1"
            android:layout_height="wrap_content" android:layout_gravity="center_horizontal"
            android:background="@drawable/rhino" android:layout_marginRight="20dp"></ImageButton>


获取对的引用,然后使用其设置图像方法之一,例如。

将图像按钮和勾号图像置于框架布局中,并使勾号图像的可视性“不可见”。因此,当您单击ImageButton时,将勾号图像的状态更改为可见。

您可以使用ImageView实现相同的效果。使用图像视图

testimage = (ImageView) findViewById(R.id.imageview);



testimage.setOnClickListener(listener);
编写逻辑,在onclick事件中将两种类型的图像都设置为imageview

public OnClickListener listener=new OnClickListener(){
        @Override
        public void onClick(View arg0) {
            System.out.println("..set image button..");

            Drawable[] layers = new Drawable[2];
            layers[0] = getResources().getDrawable(R.drawable.btn_call);
            layers[1] = getResources().getDrawable(R.drawable.blue_unfocus);
            System.out.println(layers[1]+"...Drawable..."+layers[0]);
            LayerDrawable layerDrawable = new LayerDrawable(layers);
            testimage.setImageDrawable(layerDrawable);

        }
    };
谢谢
迪帕克

但这将取代图像,不是吗?我想把这个勾号图像放在上面。很抱歉,你是对的,我错过了关于在上面打勾或划十字的部分。我想你必须为那个有勾号图像的图像和另一个没有勾号图像的图像制作两个图像。首先,您必须设置无勾号图像,然后单击该图像,您必须更改ImageButton(勾号图像)的图像。是否无法在其顶部设置透明图像?