如何检测单击按钮但未在android中发布的时间

时间:2015-03-24 18:45:32

标签: java android button

我正在寻找一种方法来找出如何在单击按钮但未释放按钮时使用java代码更改android中按钮的颜色,我很乐意得到帮助。

3 个答案:

答案 0 :(得分:2)

button.setOnTouchListener(new View.OnTouchListener() {

    public void onTouch(View view, MotionEvent e) {
        switch(e.getAction()) {
            case MotionEvent.ACTION_DOWN:
                System.out.println(" mouse pressed ");
                break;
            case MotionEvent.ACTION_UP:
                System.out.println(" mouse released");
                break;
        }

    }
});

您可以使用MotionEvent.ACTION_DOWN案例来处理按钮颜色更改逻辑。

希望这会对你有所帮助

如果你告诉我的话:):

答案 1 :(得分:0)

查看Android Documentation处的文档。它显示按钮具有不同的状态,您可以在每个状态上对齐颜色。另请查看此link

答案 2 :(得分:0)

您可以使用选择器,如下面的代码

在drawable中创建select.xml

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<!-- Selector style for listrow -->
<item 
 android:state_selected="false"
    android:state_pressed="false" 
    android:drawable="@drawable/gradient_bg" />
<item android:state_pressed="true" 
    android:drawable="@drawable/gradient_bg_hover" />
<item android:state_selected="true"
 android:state_pressed="false" 
    android:drawable="@drawable/gradient_bg_hover" />
</selector>

现在设置按钮的背景如下

 <Button
        android:id="@+id/button"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
       android:background="@drawable/selector" />