如何将按钮设置为打开和关闭状态(打开和关闭图像)

时间:2013-05-20 19:41:18

标签: android android-layout android-intent android-emulator android-listview

我是Android的新手并使用以下代码,我正在尝试设置一个默认图像按钮,当点击切换到开启状态直到再次按下或点击屏幕上的任何其他位置,以便弹出窗口关联国家消失了。 这是代码: java代码:

private void setOnclickListeners(View view){
        ImageButton button = (ImageButton) view.findViewById(R.id.menu_button);
        button.setOnClickListener(this);
    }

我想将此代码连接到以下内容,以便触发开关状态:

<ImageButton
            android:id="@+id/menu_button"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignParentRight="true"
            android:layout_centerVertical="true"
            android:background="@android:color/transparent"
            android:paddingRight="8dp"
            android:src="@drawable/menu_btn" />

这是xml类的menu_btn代码:

<?xml version="1.0" encoding="utf-8"?>


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

有任何线索如何去做? Ant帮助赞赏。谢谢!贾斯汀

1 个答案:

答案 0 :(得分:1)

您可能需要检查ToggleButton(或Checkable的任何子类)以了解您的实施情况,然后将其状态设置为类似的内容,

<?xml version="1.0" encoding="utf-8"?>
    <selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:state_checked="false" android:drawable="@drawable/menu_off"/>
    <item android:state_checked="true" android:drawable="@drawable/menu_on" />
    <item android:drawable="@drawable/menu_off" />  
</selector>

然后在您的Java代码上,获取ToggleButton(或Checkable)的实例,并根据您的操作更新setChecked - 方法。