单击按钮后更改ImageView源一段时间

时间:2014-02-20 07:45:31

标签: android button imageview

我有两个按钮和一个imageview:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"   
tools:context=".MainActivity"
xmlns:ads="http://schemas.android.com/apk/lib/com.google.ads" >

<ImageView
    android:id="@+id/dog"
    android:contentDescription="@string/desc"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_centerHorizontal="true"
    android:layout_centerVertical="true"
    android:src="@drawable/dogsec" />

<ImageButton
    android:id="@+id/barkk"
    android:contentDescription="@string/desc"
    android:background="@android:color/transparent"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignTop="@+id/dog"
    android:layout_centerHorizontal="true"
    android:layout_marginTop="45dp"
    android:src="@drawable/bark" />

<ImageButton
    android:id="@+id/rrrr"
    android:background="@android:color/transparent"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignRight="@+id/barkk"
    android:layout_below="@+id/barkk"
    android:layout_marginRight="41dp"
    android:layout_marginTop="15dp"
    android:contentDescription="@string/desc"
    android:src="@drawable/rrr" />

</RelativeLayout>

a)我需要让Imageview将按钮“barkk”点击更改为其来源(我的意思是图像的默认状态是picture1,它应该显示picture2并返回到picture1)。只要按下barkk就不应该显示picture2。

b)只要按下按钮rrrr,我就需要显示picture3。

我正好使用ImageView,它应该根据情况a或b)改变其来源,如上所述。

请帮帮我。提前致谢

1 个答案:

答案 0 :(得分:1)

使用此代码。

myButton.setOnClickListener(new OnClickListener() {
@Override
public boolean onTouch(View v, MotionEvent event) 
  {
    if(event.getAction() == MotionEvent.ACTION_DOWN) {
        myImageView.setImageResource(R.drawable.myNewImage);
    } else if (event.getAction() == MotionEvent.ACTION_UP) {
        myImageView.setImageResource(R.drawable.myNewImage);
    }
}
};