如何在单击时更改图像按钮

时间:2013-05-15 14:09:38

标签: android android-layout android-listview

我是android的新手,试图弄清楚如何在点击时获得不同的图像。 我有2个图像,一个用于正常状态,一个用于onclick状态。我无法设置onclick状态图像。

以下是代码:

<ImageButton
    android:id="@+id/button_information"
    android:layout_width="90dp"
    android:layout_height="wrap_content"
    android:layout_alignParentBottom="true"
    android:layout_centerHorizontal="true"
    android:onClick="@drawable/em_info_active"
    android:background="@drawable/em_info_active"
    android:src="@drawable/em_info" />

<ImageButton   
    android:id="@+id/button_settings"
    android:layout_width="90dp"
    android:layout_height="wrap_content"
    android:layout_alignParentBottom="true"
    android:layout_toLeftOf="@+id/button_information"
    android:background="@drawable/em_prefs_active"
    android:src="@drawable/em_prefs" />

和相应的java代码是:

public void onClick(final View v) {
    switch (v.getId()) {

        case R.id.button_information:
            leaveMainActivity();
            InformationActivity.newInstance(getActivity());
            break;
        case R.id.button_settings:
            leaveMainActivity();
            PreferencesActivity.newInstance(getActivity());
            break;
    }
}

任何线索我怎么能这样做? 谢谢! 贾斯汀

1 个答案:

答案 0 :(得分:3)

在drawable中创建一个xml文件作为imagebtn.xml并粘贴此代码

<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_focused="true" android:drawable="@drawable/your_imagename_while_focused"/>
<item android:state_pressed="true" android:drawable="@drawable/your_imagename_while_pressed" />
<item android:drawable="@drawable/image_name_while_notpressed" />  
</selector>

并在您的活动中尝试此操作

button_information.setBackgroundResource(R.drawable.imagebtn);

背景图像在聚焦并按下后发生变化。如果有效,请告诉我。