Android 中按钮的点击效果

发布时间:2019-06-19 发布网站:脚本宝典
脚本宝典收集整理的这篇文章主要介绍了Android 中按钮的点击效果脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。

AndROId 中按钮点击后的效果通常是通过更换图片,或者背景色来实现的。

之前做的一直都是手动写在点击事件里,今天发现了一种更合适的方法,写在XMl文件中。

比如,我有两张图片,一张是点击前的before_Press,一张是点击后的after_PRess。
实现的方法:在drawable文件夹中建立一个文档,如button_press.xML.

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

    <ITem
            android:state_pressed="true"
            android:drawable="@drawable/after_press"/>
    <item
            android:state_pressed="false"
            android:drawable="@drawable/before_press"/>
</selector>

然后在按钮处
android:background="@drawable/button_selector"

然后点击事件就完成啦。

另外,如果想修改背景颜色,需要在values文件夹中新建colors文件。

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <color name="opaque_red">#f00</color>
    <color name="background">#FFFFFF</color>
</resources>

然后将drawable改为对应的@color/background即可。

补充:

直接改变颜色会显得很突兀,所以需要通过一种颜色渐变到方式来达到目的。

定义两个Shape,一个没按的,一个按下后的。
shape_normal.xml

<?xml version="1.0" encoding="utf-8"?>
<shape >"http://schemas.android.com/apk/res/android"
    android:shape="rectangle">
    <gradient
        android:startColor="#808080"
        android:endColor="#808080"
        android:angle="-90"/>
</shape>

shape_pressed.xml

<?xml version="1.0" encoding="utf-8"?>
<shape >"http://schemas.android.com/apk/res/android"
    android:shape="rectangle">
    <gradient
        android:startColor="#FF7F00"
        android:endColor="#EE7600"
        android:angle="-90"/>
</shape>

然后依然定义button_selector.xml文件

<?xml version="1.0" encoding="utf-8"?>
<selector >"http://schemas.android.com/apk/res/android">
    <item
            android:state_pressed="true"
            android:drawable="@drawable/shape_pressed"/>
    <item
            android:state_pressed="false"
            android:drawable="@drawable/shape_normal"/>
</selector>

注意,不能直接写类似#FFFFFF 之类的到drawable中

脚本宝典总结

以上是脚本宝典为你收集整理的Android 中按钮的点击效果全部内容,希望文章能够帮你解决Android 中按钮的点击效果所遇到的问题。

如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典推荐好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。