【问题标题】:button effect on touch in androidandroid中触摸的按钮效果
【发布时间】:2016-10-13 03:03:27
【问题描述】:

我的项目上有一个按钮,并且效果在触摸事件上消失了。我希望当有人触摸该按钮时它应该改变。但 XML 对我没有任何作用。下面是我的代码。 java代码。

btnOn.setOnTouchListener(new View.OnTouchListener() {

    //@Override
    public boolean onTouch(View v, MotionEvent event) {
        if (event.getAction() == MotionEvent.ACTION_DOWN) {
            mConnectedThread.write("A");
            Toast.makeText(getBaseContext(), "LED ON NOW", Toast.LENGTH_SHORT).show();
            return true;
        }
        if (event.getAction() == MotionEvent.ACTION_UP) {
            mConnectedThread.write("C");
            Toast.makeText(getBaseContext(), "LED SWITCHED OFF", Toast.LENGTH_SHORT).show();
            return true;
        }
        return false;
    }
});

下面是 XML 代码。

<Button
    android:id="@+id/buttonOn"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="LED ON/OFF"
    android:layout_alignParentTop="true"
    android:layout_centerHorizontal="true"
    android:layout_marginTop="148dp"/>

【问题讨论】:

标签: android button touch effect


【解决方案1】:

我找到了一个 java 代码,但没有得到任何有效的 XML 代码。这是java代码。

public boolean onTouch(View v, MotionEvent event) {
            if (event.getAction() == MotionEvent.ACTION_DOWN) {
                mConnectedThread.write("A");
                v.getBackground().setColorFilter(0xe0f47521, PorterDuff.Mode.SRC_ATOP);
                v.invalidate();
                Toast.makeText(getBaseContext(), "LED ON NOW", Toast.LENGTH_SHORT).show();
                return true;
            }
            if (event.getAction() == MotionEvent.ACTION_UP) {
                mConnectedThread.write("C");
                Toast.makeText(getBaseContext(), "LED SWITCHED OFF", Toast.LENGTH_SHORT).show();
                v.getBackground().clearColorFilter();
                v.invalidate();
                return true;
            }
            return false;
        }
    });

【讨论】:

    猜你喜欢
    • 2015-05-13
    • 1970-01-01
    • 2013-07-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-08-22
    • 1970-01-01
    • 2012-02-16
    相关资源
    最近更新 更多