• android shape和selector


    1.shape 用法示例:

     <shape>
                <!-- 实心 -->
                <solid android:color="#ff9d77"/>
                <!-- 渐变 -->
                <gradient
                    android:startColor="#ff8c00"
                    android:endColor="#FFFFFF"
                    android:angle="270" />
                <!-- 描边 -->
                <stroke
                    android:width="2dp"
                    android:color="#dcdcdc" />
                <!-- 圆角 -->
                <corners
                    android:radius="2dp" />
                <padding
                    android:left="10dp"
                    android:top="10dp"
                    android:right="10dp"
                    android:bottom="10dp" />
            </shape>
    • solid:实心,就是填充的意思
    • gradient:渐变

    android:startColor和android:endColor分别为起始和结束颜色,android:angle是渐变角度,必须为45的整数倍。
    另外渐变默认的模式为android:type="linear",即线性渐变,可以指定渐变为径向渐变,android:type="radial",径向渐变需要指定半径android:gradientRadius="50"。

    • stroke:描边

    android:width="2dp" 描边的宽度,android:color 描边的颜色。
    我们还可以把描边弄成虚线的形式,设置方式为:
    android:dashWidth="5dp" 
    android:dashGap="3dp"
    其中android:dashWidth表示'-'这样一个横线的宽度,android:dashGap表示之间隔开的距离。

    • corners:圆角

    android:radius为角的弧度,值越大角越圆。

    2.selector 用法示例:

    <?xml version="1.0" encoding="utf-8"?>
    <selector xmlns:android="http://schemas.android.com/apk/res/android">
        <item android:state_checked="true" 
              android:drawable="@drawable/enabled_on_pressed" />
        <item  android:state_pressed="true"
              android:drawable="@drawable/enabled_on_pressed" />
        <item 
              android:drawable="@drawable/disabled_off" />              
    </selector>

    drawable的item中可以有以下属性: 
    android:drawable="@[package:]drawable/drawable_resource"
    android:state_pressed=["true" | "false"]
    android:state_focused=["true" | "false"]
    android:state_selected=["true" | "false"]
    android:state_active=["true" | "false"]
    android:state_checkable=["true" | "false"] 
    android:state_checked=["true" | "false"] 
    android:state_enabled=["true" | "false"] 
    android:state_window_focused=["true" | "false"] 

    Item顺序是有讲究的,条件限定越细致,则应该放到前面。

  • 相关阅读:
    给xpath添加正则表达式匹配函数
    利用window.open实现post方式的参数传递
    利用Http状态码检查网页内容是否更新
    一款很不错的html转xml工具Html Agility Pack
    ASP.NET MVC SiteMap provider的一个bug
    a标记链接相对路径的问题
    下载文件的Restful接口的前端实现
    游戏服务器体系结构
    c++资源之不完全导引 (收藏)
    Apache学习路线
  • 原文地址:https://www.cnblogs.com/rural/p/4157941.html
Copyright © 2020-2023  润新知