我是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;
}
}
任何线索我怎么能这样做? 谢谢! 贾斯汀
答案 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);
背景图像在聚焦并按下后发生变化。如果有效,请告诉我。