0

这是我的ImageViews@id/imgUSER@id/imgBG后面。但是当我点击imgUSER它没有响应.. 但是当我删除imgBG并测试它,然后再次点击imgUSER然后它工作。如果imgBG可见或存在,我是否可以单击imgUSER ?

<ImageView
    android:id="@+id/imgUSER"
    android:layout_width="285dp"
    android:layout_height="185dp"
    android:layout_centerHorizontal="true"
    android:layout_marginTop="120dp"
    android:background="@android:color/background_dark"
    android:src="@android:drawable/ic_menu_gallery" />

<ImageView
    android:id="@+id/imgBG"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_above="@+id/linearLayout1"
    android:layout_centerHorizontal="true"
    android:layout_marginBottom="32dp"
    android:src="@drawable/products" />

这是我的侦听器代码

imgUSER.setOnClickListener(监听器);

……

公共 OnClickListener 监听器 = new OnClickListener(){

    @Override
    public void onClick(View v) {
        // TODO Auto-generated method stub
        switch(v.getId()){

        case R.id.imgUSER :
            imgUSER.setBackgroundResource(R.id.bgProduct_1);

            break;

}

4

2 回答 2

0
imgUSER.setOnTouchListener(new OnTouchListener() {    
    public boolean onTouch(View v, MotionEvent event) {
        imgUSER.setBackgroundResource(R.id.bgProduct_1);    
        return false;
    }
  }
});

使用 onTouch 事件。触摸图像后图像会发生变化。您可以谷歌“Android onTouch 更改图像”以获取更多示例代码。

于 2013-09-11T02:43:24.987 回答
0

基本上,您有一个 Textview 在另一个之上。现在,只有上面的 Textview 会接收到触摸事件。如果您希望 imgUSER 接收它,请更改 onTouchReceiver:

imgBG.setOnTouchListener(new OnTouchListener() {

    @Override
    public boolean onTouch(View v, MotionEvent event) {
     //your code here   
     return false; //this is the key
            }
     });
于 2013-09-11T02:26:22.043 回答