Android 保持按钮处于按下状态

Android 保持按钮处于按下状态,android,Android,在我的应用程序中,我必须创建一组按钮。说按钮1和按钮2 要求: 单击按钮时,按钮应保持按下状态。 一次只能按下一个按钮。也就是说,如果button1处于按下状态并且单击了button2,则button1应未按下,而button2应更改为保持按下状态 我有两个抽屉,一个是熨烫的,一个是未熨烫的。但是我应该如何为选择器编码呢? 还有,我需要在java代码中做哪些更改 我尝试使用复选框按钮,但我的drawables包含图层列表,这造成了问题 谢谢似乎是RadioButton的经典实现。确保在相同的ra

在我的应用程序中,我必须创建一组按钮。说按钮1和按钮2

要求:

单击按钮时,按钮应保持按下状态。 一次只能按下一个按钮。也就是说,如果button1处于按下状态并且单击了button2,则button1应未按下,而button2应更改为保持按下状态

我有两个抽屉,一个是熨烫的,一个是未熨烫的。但是我应该如何为选择器编码呢? 还有,我需要在java代码中做哪些更改

我尝试使用复选框按钮,但我的drawables包含图层列表,这造成了问题


谢谢

似乎是
RadioButton
的经典实现。确保在相同的
radio组中使用它们,您就可以开始了

似乎是
RadioButton
的经典实现。确保在相同的
radio组中使用它们,您就可以开始了

在每次单击时使用ImageView并更改可绘图项如何。

在每次单击时使用ImageView并更改可绘图项如何。

尝试如下:

<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item 
    android:state_selected="true" 
    android:drawable="@drawable/selected_image" />
<item 
    android:drawable="@drawable/unselected_image" />

当第一个按钮被按下时,将其选中true,并将第二个按钮选中false,当第二个按钮被按下时,将其选中visa-verse。

尝试如下:

<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item 
    android:state_selected="true" 
    android:drawable="@drawable/selected_image" />
<item 
    android:drawable="@drawable/unselected_image" />


当按下第一个按钮时,将其选中true,并将第二个按钮选中false,当按下第二个按钮时,将其选中visa-verse。

只需使用以下方法即可:

button1.setEnabled(false);
比如说-

    button1 = (Button) findViewById(R.id.button1);
    button1.setOnClickListener(new OnClickListener() {
        @Override
        public void onClick(View arg0) {
            button1.setEnabled(false);
            button2.setEnabled(true);
            //do something
        }
    });
    button2 = (Button) findViewById(R.id.button2);
    button2.setOnClickListener(new OnClickListener() {
        @Override
        public void onClick(View arg0) {
            button2.setEnabled(false);
            button1.setEnabled(true);
            //do something 
        }
    });

您只需使用以下方法即可完成此操作:

button1.setEnabled(false);
比如说-

    button1 = (Button) findViewById(R.id.button1);
    button1.setOnClickListener(new OnClickListener() {
        @Override
        public void onClick(View arg0) {
            button1.setEnabled(false);
            button2.setEnabled(true);
            //do something
        }
    });
    button2 = (Button) findViewById(R.id.button2);
    button2.setOnClickListener(new OnClickListener() {
        @Override
        public void onClick(View arg0) {
            button2.setEnabled(false);
            button1.setEnabled(true);
            //do something 
        }
    });

您可以尝试切换按钮或swtich小部件(仅适用于更高版本) 其他用户可以尝试以下代码:-

Button button1;
    Button button2;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        button1 = (Button) findViewById(R.id.button1);
        button2 = (Button) findViewById(R.id.button2);

        button1.setOnTouchListener(new OnTouchListener() {
            @Override
            public boolean onTouch(View arg0, MotionEvent arg1) {
                button1.setPressed(true);
                button2.setPressed(false);
                return true;
            }
        });

        button2.setOnTouchListener(new OnTouchListener() {
            @Override
            public boolean onTouch(View arg0, MotionEvent arg1) {
                button2.setPressed(true);
                button1.setPressed(false);
                return true;
            }
        });
    }

您可以尝试切换按钮或swtich小部件(仅适用于更高版本) 其他用户可以尝试以下代码:-

Button button1;
    Button button2;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        button1 = (Button) findViewById(R.id.button1);
        button2 = (Button) findViewById(R.id.button2);

        button1.setOnTouchListener(new OnTouchListener() {
            @Override
            public boolean onTouch(View arg0, MotionEvent arg1) {
                button1.setPressed(true);
                button2.setPressed(false);
                return true;
            }
        });

        button2.setOnTouchListener(new OnTouchListener() {
            @Override
            public boolean onTouch(View arg0, MotionEvent arg1) {
                button2.setPressed(true);
                button1.setPressed(false);
                return true;
            }
        });
    }

你可能想看看
android.widget.RadioButton
。你可以从以下方面获得想法:请发布你的可绘制xml和所有相关代码。你可能想看看
android.widget.RadioButton
。你可以从以下方面获得想法:请发布你的可绘制xml和所有相关代码