Java 安卓系统中没有其他图片的按钮点击效果

Java 安卓系统中没有其他图片的按钮点击效果,java,android,button,Java,Android,Button,在我的应用程序中,我的按钮是一个常规按钮,但有定制的背景(请看此了解我的意思)。 一切正常。但是,我想向用户指出,他按下按钮时,按钮上没有另一个“按下”版本(我知道如何在按下按钮时给按钮另一个图像) 我目前使用onTouchListner,按下按钮并在释放时清除,然后在按钮上应用颜色过滤器,但在触摸模式下检测按下并释放*准确*对我来说并不好 编辑 这是我想要的 未按下: 按下(相同的精确图像文件): 我使用colorFilter获得了高光效果 getBtn.getBackground().s

在我的应用程序中,我的按钮是一个常规按钮,但有定制的背景(请看此了解我的意思)。 一切正常。但是,我想向用户指出,他按下按钮时,按钮上没有另一个“按下”版本(我知道如何在按下按钮时给按钮另一个图像)

我目前使用onTouchListner,按下按钮并在释放时清除,然后在按钮上应用颜色过滤器,但在触摸模式下检测按下并释放*准确*对我来说并不好

编辑

这是我想要的

未按下:

按下(相同的精确图像文件):

我使用colorFilter获得了高光效果

getBtn.getBackground().setColorFilter(0xFF838B83,PorterDuff.Mode.MULTIPLY)

您只需为按钮创建一个选择器,这样您就可以将其设置为背景,但无论何时单击它,仍然具有单击效果

<?xml version="1.0" encoding="utf-8"?>
<selector
    xmlns:android="http://schemas.android.com/apk/res/android">

    <item android:state_pressed="true" >
        <shape>
            <gradient
                android:startColor="insert color"
                android:endColor="insert color"
                />
            <stroke
                android:width="3dp"
                android:color="insert color" />
            <corners
                android:radius="3dp" />
            <padding
                android:left="10dp"
                android:top="10dp"
                android:right="10dp"
                android:bottom="10dp" />
        </shape>
    </item>



    <item android:state_pressed="false" >        
        <shape>
            <gradient
                android:endColor="insert color"
                android:startColor="insert color"
               />
            <stroke
                android:width="3dp"
                android:color="insert color" />
            <corners
                android:radius="3dp" />
            <padding
                android:left="10dp"
                android:top="10dp"
                android:right="10dp"
                android:bottom="10dp" />
        </shape>
    </item>
</selector>

我不知道如何使用选择器来实现这一点,请记住,我只想为图像使用一个文件选择器只是一个xml文件。请参阅下面我的答案谢谢代码。我试过了,但没有解决问题,因为我的按钮有透明的背景。因此,解决这个问题的办法是突出显示按钮本身的确切大小,而不增加边距。下面是使用您的代码时示例按钮的外观:!那么你想在点击按钮时显示不同的图像?红十字图像和一个处于按下状态的图像?不,我想保留相同的图像,但将其高亮显示以表示已按下。例如,这里是未按下的按钮:这里是按下的按钮:这里我所做的是将colorfiler应用于图像:
getBtn.getBackground().setColorFilter(0xFF838B83,PorterDuff.Mode.MULTIPLY)@AlAsiri你找到处理这种情况的方法了吗?我目前正在寻找相同的东西,只使用一个图像。
mybtn.setbackground(R.drawable.thexmlfileabove);