• Android之selector选择器的使用


    1、selector简介

      selector中文的意思选择器,在Android中常常用来作组件的背景,实现组件在不同状态下不同的背景颜色或图片的变换。使用十分方便。主要是用来改变ListView和Button控件的默认背景!

      相关属性简介:

    <?xml version="1.0" encoding="utf-8"?>
    <selector xmlns:android="http://schemas.android.com/apk/res/android"
    android:constantSize=["true" | "false"]//drawable的大小是否当中状态变化,true表示是变化,false表示不变换,默认为false
        android:dither=["true" | "false"]//当位图与屏幕的像素配置不一样时(例如,一个ARGB为8888的位图与RGB为555的屏幕)会自行递色(dither)。设置为false时不可递色。默认true
        android:variablePadding=["true" | "false"] >//内边距是否变化,默认false
    <item
    android:drawable="@[package:]drawable/drawable_resource"//图片资源
        android:state_pressed=["true" | "false"]//是否触摸
        android:state_focused=["true" | "false"]//是否获取到焦点
        android:state_hovered=["true" | "false"]//光标是否经过
        android:state_selected=["true" | "false"]//是否选中
        android:state_checkable=["true" | "false"]//是否可勾选
        android:state_checked=["true" | "false"]//是否勾选
        android:state_enabled=["true" | "false"]//是否可用
        android:state_activated=["true" | "false"]//是否激活
        android:state_window_focused=["true" | "false"] />//所在窗口是否获取焦点
    </selector>

    2、定义color和drawable的xml文件

      color文件

    <?xml version="1.0" encoding="utf-8"?>
    <selector xmlns:android="http://schemas.android.com/apk/res/android">
        <item android:color="#fff000"
            android:state_pressed="true"/>
        <item android:color="#ff00ff"
            android:state_focused="true"/>
        <item android:color="#ff0000"/>
    </selector>

      drawable文件

    <?xml version="1.0" encoding="utf-8"?>
    <selector xmlns:android="http://schemas.android.com/apk/res/android">
    
        <item android:state_pressed="true">
            <shape>
                <stroke android:width="1dp"
                    android:color="#ff0000"/>
                <corners android:radius="@dimen/btn_rounded_corner_radius"/>
            </shape>
        </item>
        <item android:state_enabled="true">
            <shape>
                <solid android:color="#e2e2" />
                <stroke android:width="1dp" android:color="#eee222" />
                <corners android:radius="@dimen/btn_rounded_corner_radius"/>
            </shape>
        </item>
    
        <item>
            <shape>
                <solid android:color="@color/bbutton_danger" />
                <stroke android:width="1dp" android:color="#000000" />
                <corners android:radius="@dimen/btn_rounded_corner_radius"/>
            </shape>
        </item>
    </selector>
            
    效果图

  • 相关阅读:
    ORM框架工具产品开发之四 开发代码生成器 Template Studio Development (一)
    信息化基础建设系列文章汇总 .NET 平台业务项目实践
    NodeJs:基于Provider模式的推送服务器实现
    Javascript:用 "脑图软件" 学习 “面向对象”
    TDD:MS自带的单元测试 之 线程模型和执行顺序
    NodeJs:“require” 函数详解,懂这个你就懂NodeJs了
    ExtJS4.2:AJAX提交数据的三种方式,80%人都没用过第三种
    设计原则:为什么需要“IOC”
    算法:“森林的遍历” 在 “企业应用” 的常见场景
    .NET:自动将请求参数绑定到ASPX、ASHX和MVC(菜鸟必看)
  • 原文地址:https://www.cnblogs.com/xianfeng-zhang/p/8073297.html
Copyright © 2020-2023  润新知