美文网首页
制作一个带圆角选择器的Button

制作一个带圆角选择器的Button

作者: 有_味 | 来源:发表于2017-12-11 20:16 被阅读19次

    1.在drawable下新建一个选择器如下图所示

    ![这里写图片描述](https://img.haomeiwen.com/i6470415/4ffb75eb275a8785?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
    
    <?xml version="1.0" encoding="utf-8"?>
    <selector xmlns:android="http://schemas.android.com/apk/res/android">
        <!--我们在这里添加选择器添加的两种状态-->
        
        <!--1.按下的状态-->
    <item android:state_pressed="true" android:drawable="@drawable/btn_pressed"/>
    
        <!--2.默认时的状态-->
        <item android:drawable="@drawable/btn_normal"/>
    </selector>
    

    这里添加的是按钮按下和默认时的两种状态,这两种状态为

    "@drawable/btn_pressed"
    //和
    "@drawable/btn_normal"
    

    但是现在这里的btn_pressed和btn_normal 是没有的,我们需要新建.

    2.在drawable下新建btn_pressed.xml 和 btn_normal.xml 这里面就是两种状态代码如下,因两个文件代码都是相同的只贴出来一个.

    <?xml version="1.0" encoding="utf-8"?>
    <shape xmlns:android="http://schemas.android.com/apk/res/android">
        <!--指定实体的颜色-->
        <solid android:color="#99CCFF"/>
        <!--指定上下左右圆角的大小-->
        <corners android:topLeftRadius="20dp"
            android:topRightRadius="20dp"
            android:bottomRightRadius="20dp"
            android:bottomLeftRadius="20dp"/>
    </shape>
    

    如果是属于规则图形那么就不需要知道上下左右,使用radius就可以.代码如下

    <?xml version="1.0" encoding="utf-8"?>
    <shape xmlns:android="http://schemas.android.com/apk/res/android">
        <!--指定实体的颜色-->
        <solid android:color="#99CCFF"/>
        <!--指定圆角的大小-->
        <corners android:radius="10dp"/>
    </shape>
    

    这里我们指定了两个圆角的两个背景颜色

    <solid android:color="#99CCFF"/>
    <solid android:color="#d9d9d9" />
    

    颜色根据产品需求自己制定.

    3.到这里我们的颜色选择器就完成了,下面我们将btn_selector用到Button的background属性下.

    <Button
            android:layout_width="300dp"
            android:layout_height="90dp"
            android:background="@drawable/btn_selector" />
    

    自定义Button就这么简单!

    *   结语:本文如果有错请指正!
    

    相关文章

      网友评论

          本文标题:制作一个带圆角选择器的Button

          本文链接:https://www.haomeiwen.com/subject/pdswixtx.html