【问题标题】:Enable touch feedback for every buttons为每个按钮启用触摸反馈
【发布时间】:2013-12-23 23:46:09
【问题描述】:

对于Android Studio,我有一些Buttons,我希望当我点击它们时,你可以看到一种动作,确认你已经点击了Button。有没有办法做到这一点而不创建一个新的xml 文件,其中有一个selector? 我想做类似的事情(我认为它是默认颜色):

什么时候正常

按下时

我有这个,但它什么也没做:

Button b = (Button)findViewById(R.id.btn);
    b.setOnTouchListener(new View.OnTouchListener() {

        @Override
        public boolean onTouch(View v, MotionEvent event) {
            if (event.getAction() == MotionEvent.ACTION_DOWN ) {
                return true;
            }

            return false;
        }
    });

【问题讨论】:

    标签: android button touch-feedback


    【解决方案1】:

    我认为您正在寻找类似的东西。

    OnTouch 。您可以捕获按键按下和按键向上事件以更改颜色。

    你可以试试这个:-

            final Button button = (Button) findViewById(R.id.button1);
    
        button.setOnTouchListener(new OnTouchListener() {
    
            @Override
            public boolean onTouch(View v, MotionEvent event) {
                if (event.getAction() == MotionEvent.ACTION_DOWN) {
    
                    button.setBackgroundColor(Color.RED);
                    return true;
                } else if (event.getAction() == MotionEvent.ACTION_UP) {
    
                    button.setBackgroundColor(Color.GREEN);
                    return true;
                }
                return false;
            }
        });
    

    【讨论】:

    • 查看修改后的答案
    • 它不起作用。在同一个Button 我有这个android:background="@drawable/ic_menu_share"
    • 在这种情况下,您必须为此使用不同的可绘制对象。使用问题中提到的选择器。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-09-11
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多