欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Android中使用自定义selector来实现view的点击效果以及view的显示样式

程序员文章站 2022-05-24 21:09:51
...

背景

项目中的按钮需要设置成圆角显示样式,且点击的时候可以看到点击的效果变化(就是说在你点击这个按钮的时候,按钮的背景会变成灰色,大多数点击效果都是这样设置)。设置点击效果的好处就是用户体验效果会更加的好,用户知道这个按钮确确实实被点击了。那么下面跟我来实现,一个自定义的selector就带你轻松的搞定。


实现

新建Drawable resource file

在项目的drawable文件夹下新建Drawable resource file,并命名,如下图示:
Android中使用自定义selector来实现view的点击效果以及view的显示样式

Android中使用自定义selector来实现view的点击效果以及view的显示样式
这里我假设命名为button_selector。

button_seletor的xml实现

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

    <!--默认情况下的显示,也即控件未被点击时的效果-->
    <item android:state_window_focused="false">
        <shape>
            <!-- 表示shape的四个角的角度。只适用于矩形shape,这里的角度是指圆角的程度 -->
            <corners android:radius="20dp"/>

            <!-- 边框-->
            <stroke android:width="1dp" android:color="@color/lighterBlue"/>

            <!-- 填充颜色-->
            <solid android:color="@color/lighterBlue"/>
        </shape>
    </item>

    <!--当控件被按下的时候的效果显示-->
    <item android:state_pressed="true">
        <shape>
            <!-- 表示shape的四个角的角度。只适用于矩形shape,这里的角度是指圆角的程度 -->
            <corners android:radius="20dp"/>

            <!-- 边框-->
            <stroke android:width="1dp" android:color="@android:color/darker_gray"/>

            <!-- 填充颜色-->
            <solid android:color="@android:color/darker_gray"/>
        </shape>
    </item>
</selector>

很简单,就是说默认情况下显示一种样式,点击时(即控件被按下)显示另一种效果就完成了。

使用方法

在xml中的控件中进行background属性设置,如下图示:
Android中使用自定义selector来实现view的点击效果以及view的显示样式


显示效果图

  • 默认情况下的显示,如下图示:

Android中使用自定义selector来实现view的点击效果以及view的显示样式

  • 当控件(view)被按下时(点击时)效果,如下图示:

Android中使用自定义selector来实现view的点击效果以及view的显示样式

========================================================================

A little bit of progress every day!Come on!