zoukankan      html  css  js  c++  java
  • 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>
            
    效果图

  • 相关阅读:
    测试智力
    《Asp.Net 2.0 揭秘》读书笔记(十四)
    《Asp.Net 2.0 揭秘》读书笔记(十七)
    《Asp.Net 2.0 揭秘》读书笔记(十三)
    《Asp.Net 2.0 揭秘》读书笔记(十二)
    《Asp.Net 2.0 揭秘》读书笔记(十)
    《Asp.Net 2.0 揭秘》读书笔记(十五)
    《Asp.Net 2.0 揭秘》读书笔记(十八)
    《Asp.Net 2.0 揭秘》读书笔记(十一)
    《Asp.Net 2.0 揭秘》读书笔记(十六)
  • 原文地址:https://www.cnblogs.com/xianfeng-zhang/p/8073297.html
Copyright © 2011-2022 走看看