我使用了一个按钮作为菜单。我在这个按钮里面使用了向下箭头和向上箭头图像。默认情况下,当我单击我希望此向下箭头图像变为向上箭头的按钮时,会显示向下箭头图像,并且它应该保持启用状态。
这是我在xml文件中的按钮声明
<Button
android:id="@+id/patientUtilityButton"
android:layout_width="300dp"
android:layout_height="50dp"
android:text="Patient Utilities"
android:gravity="center"
android:paddingRight="10dp"
android:drawableRight="@drawable/patient_utility_selector"
android:textColor="@android:color/white"
android:textSize="20sp"
android:background="@drawable/round_corner"
android:layout_alignParentBottom="true"
android:layout_alignLeft="@+id/searchButton"
android:layout_alignStart="@+id/searchButton"
android:layout_below="@+id/searchButton"
android:layout_marginTop="15dp"/>
这是我点击按钮后替换图像的可绘制文件
<item android:state_enabled="false"
android:drawable="@drawable/arrow_down_float" />
<item android:state_pressed="true"
android:state_enabled="true"
android:drawable="@drawable/arrow_up_float" />
它正在替换图像,但在按下相同的向下箭头图像后显示。请有人帮忙。
答案 0 :(得分:1)
您应该使用切换按钮,而不是使用按钮。 示例代码如下所示。
<ToggleButton
android:id="@+id/patientUtilityButton"
android:layout_width="300dp"
android:layout_height="50dp"
android:background="@drawable/check" //check.xml
android:layout_margin="10dp"
android:textOn=""
android:textOff=""
android:focusable="false"
android:focusableInTouchMode="false"
android:layout_centerVertical="true"/>
在drawable中创建check.xml文件
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@drawable/down_image"
android:state_checked="true" />
<item android:drawable="@drawable/up_image"
android:state_checked="false"/>
</selector>
答案 1 :(得分:0)
非常简单。 你可以使用ImageButton或Button。
在你的xml文件中设置回到imageButton,如下面的
android:background="@drawable/button_down"
然后单击该图像按钮,如
button.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
button.setBackgroundResource(R.drawable.button_up);
}
});
希望这会对你有所帮助。