zoukankan      html  css  js  c++  java
  • 【转】Android之drawable state各个属性详解

    我们在定义一个drawable的时候可以通过xml定义的drawable对象。它使得一个图片能在不同的状态下显示不同的图案,比如一个Button,它有pressed,focused,或者其它状态,通过使用state list drawable,你就可以为每种状态提供不同的图片。

    先看一个范例:

    XML file saved at res/drawable/button.xml:

    [java] view plain copy
     
    1. <?xml version="1.0" encoding="utf-8"?>  
    2. <selector xmlns:android="http://schemas.android.com/apk/res/android">  
    3.     <item android:state_pressed="true" android:state_enabled="true" android:state_window_focused="false"  
    4.           android:drawable="@drawable/button_pressed" /> <!-- pressed,enable等多个属性 -->  
    5.     <item android:state_focused="true"  
    6.           android:drawable="@drawable/button_focused" /> <!-- focused -->  
    7.     <item android:state_hovered="true"  
    8.           android:drawable="@drawable/button_focused" /> <!-- hovered -->  
    9.     <item android:drawable="@drawable/button_normal" /> <!-- default -->  
    10. </selector>  


     

    This layout XML applies the state list drawable to a Button:

    [java] view plain copy
     
    1. <Button  
    2.     android:layout_height="wrap_content"  
    3.     android:layout_width="wrap_content"  
    4.     android:background="@drawable/button" />  



    Android:drawable 放一个drawable资源
    android:state_pressed 是否按下,如一个按钮触摸或者点击。
    android:state_focused 是否取得焦点,比如用户选择了一个文本框。
    android:state_hovered 光标是否悬停,通常与focused state相同,它是4.0的新特性
    android:state_selected 被选中,它与focus state并不完全一样,如一个list view 被选中的时候,它里面的各个子组件可能通过方向键,被选中了。
    android:state_checkable 组件是否能被check。如:RadioButton是可以被check的。
    android:state_checked 被checked了,如:一个RadioButton可以被check了。
    android:state_enabled 能够接受触摸或者点击事件
    android:state_activated 被激活(这个麻烦举个例子,不是特明白)
    android:state_window_focused 应用程序是否在前台,当有通知栏被拉下来或者一个对话框弹出的时候应用程序就不在前台了

    注意:如果有多个item,那么程序将自动从上到下进行匹配,最先匹配的将得到应用。(不是通过最佳匹配)
    如果一个item没有任何的状态说明,那么它将可以被任何一个状态匹配。

     

    详细的请看官方的API,那里写的更详细~!http://developer.android.com/guide/topics/resources/drawable-resource.html#StateList

    from:http://blog.csdn.net/leasystu/article/details/7250885

  • 相关阅读:
    HTB-靶机-Charon
    第一篇Active Directory疑难解答概述(1)
    Outlook Web App 客户端超时设置
    【Troubleshooting Case】Exchange Server 组件状态应用排错?
    【Troubleshooting Case】Unable to delete Exchange database?
    Exchange Server 2007的即将生命周期,您的计划是?
    "the hypervisor is not running" 故障
    Exchange 2016 体系结构
    USB PE
    10 months then free? 10个月,然后自由
  • 原文地址:https://www.cnblogs.com/xuan52rock/p/5421557.html
Copyright © 2011-2022 走看看