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