2011-06-17 159 views
2

我在android中有一个用户点击的imageButton。然后,他点击后,我想t0在它的顶部显示一个勾号或十字图像。 这怎么可能?将一个图像放在android中的另一个图像上

  <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> 
+0

我认为你必须作出两个图像为一个与打勾图像和另一个没有打勾图像。首先,你必须设置没有打勾的图像,点击它后,你必须改变ImageButton(Tick图像)的图像。 – 2011-06-17 11:54:31

+1

无法在其顶部设置透明图像? – nasaa 2011-06-17 11:57:58

回答

3

将您的ImageButton和勾号图像放在FrameLayout中,并使Tick图像“不可见”的可见性。所以当你点击ImageButton时,将Tick图像的状态更改为Visible。

0

得到一个关于你ImageButton,然后利用其setImage方法之一,如setImageResource

+0

但这将取代图像,不是吗?我想把这个刻度图像放在它上面。 – nasaa 2011-06-17 11:54:10

0

您可以使用ImageView实现相同的功能。使用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); 

     } 
    }; 

感谢 迪帕克

相关问题