zoukankan      html  css  js  c++  java
  • Android XML绘图(3)——Selector

    一、简介

      通过对 selector 的使用,可以根据用户不同的选定状态,提供不同的样式,给用户提供更好的交互体验。

    二、使用

    • item是从上往下匹配的,如果匹配到一个item那它就将采用这个item,而不是采用最佳匹配的规则;所以设置默认的状态,一定要写在最后,如果写在前面,则后面所有的item都不会起作用了。

      常用的几种选中状态:

    android:state_selected 是否选中 
    android:state_focused 是否获得焦点 
    android:state_pressed 是否按下 
    android:state_enabled 是否可用
    android:state_window_focused 默认时的背景图片 

    三、示例

    给 TextView 设置按下和未按下时不同的背景:

    <?xml version="1.0" encoding="utf-8"?>
    <selector xmlns:android="http://schemas.android.com/apk/res/android">
        <item android:state_pressed="true">
            <shape android:shape="rectangle" >
                <!-- 填充的颜色 -->
                <solid android:color="#33ffffff"></solid>
                <!-- 设置按钮的四个角为弧形 -->
                <!-- android:radius 弧形的半径 -->
                <corners android:radius="0dp" />
                <!-- padding:Button里面的文字与Button边界的间隔 -->
                <padding android:bottom="1dp" android:left="1dp" android:right="1dp" android:top="1dp" />
            </shape>
        </item>
    
        <item android:state_pressed="false">
            <shape android:shape="rectangle" >
                <!-- 填充的颜色 -->
                <solid android:color="#ffffff"></solid>
                <!-- 设置按钮的四个角为弧形 -->
                <!-- android:radius 弧形的半径 -->
                <corners android:radius="0dp" />
                <!-- stroke 描边,边框宽度、颜色 -->
                <stroke android:width="0dp" android:color="#e0e0e0"  />
                <!-- padding:Button里面的文字与Button边界的间隔 -->
                <padding android:bottom="1dp" android:left="1dp" android:right="1dp" android:top="1dp" />
            </shape>
        </item>
    </selector>
  • 相关阅读:
    计蒜客 聪明的班主任(思维)
    codeforces 456 E. Civilization(并查集+数的直径)
    codeforces 456 D. A Lot of Games(字典数+博弈+思维+树形dp)
    codeforces 233 D. Table(思维+dp )
    codeforces 233 C. Cycles(贪心+思维)
    codeforces 814 D. An overnight dance in discotheque (贪心+bfs)
    codeforces 814 C. An impassioned circulation of affection(二分+思维)
    codeforces 813 D. Two Melodies(dp)
    Atcoder F
    Java正则表达式
  • 原文地址:https://www.cnblogs.com/lkc9/p/11323902.html
Copyright © 2011-2022 走看看