2

我是 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;
    }
}

有什么线索我可以做同样的事情吗?谢谢!贾斯汀

4

1 回答 1

3

在您的可绘制对象中创建一个 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);

背景图像在聚焦和按下时发生变化。让我知道这个是否奏效。

于 2013-05-15T14:18:06.920 回答