Android Selector全解

來源:互聯網
上載者:User

標籤:android selector

<?xml version="1.0" encoding="utf-8" ?> <selector xmlns:android="http://schemas.android.com/apk/res/android"><item android:state_focused="true"  <!-- true非觸摸模式下獲得焦點時顯示圖片-->android:state_window_focused="true"  <!--true,當此activity獲得焦點在最前面時顯示該圖片;false,當沒在最前面時顯示該圖片。 -->android:state_enabled="true" <!--true,當該組件能使用時顯示該圖片;false,當該組件不能使用時顯示該圖片。 -->android:state_checkable="true" <!--true,當CheckBox能使用時顯示該圖片;false,當CheckBox不能使用時顯示該圖片 -->android:state_checked="true" <!-- true,當CheckBox選中時顯示該圖片;false,當CheckBox為未選中時顯示該圖片-->android:state_selected="true" <!--true 選擇時顯示的圖片;false 為選擇時的圖片(例如用在Tab) -->android:state_pressed="true" <!-- true,當被點擊時顯示該圖片;false沒被按下時顯示圖片 ==click-->                                                                    <!--多用於ListView或者切換 -->android:state_activated="true" <!--true 被啟用時顯示圖片  ;false未啟用時圖片-->android:state_active="true" <!-- -->android:state_single="true" <!-- true 只有一個元素顯示圖片-->android:state_first="true" <!-- -->android:state_middle="true" <!-- -->android:state_last="true" <!-- -->android:state_accelerated="true" <!--true 硬體加速為true的圖片 -->android:state_hovered="true" <!-- true 滑鼠(指標)移動到該位置時圖片-->android:state_drag_hovered="true"<!-- true 能夠drop 或者 drag 滑鼠指標移動到該位置圖片--> android:state_drag_can_accept="true" <!--true 能夠dorp 或者 drag 時圖片-->android:state_accessibility_focused="true" <!-- -->android:drawable="@drawable/icon"<!-- (一般)必備  上文的圖片--> />   </selector>

接下來,給出部分使用情境
<?xml version="1.0" encoding="utf-8" ?>   <selector xmlns:android="http://schemas.android.com/apk/res/android"> <!-- 預設時的背景圖片-->    <item android:drawable="@drawable/pic1" />    <!-- 沒有焦點時的背景圖片 -->    <item android:state_window_focused="false"           android:drawable="@drawable/pic1" />   <!-- 非觸摸模式下獲得焦點並單擊時的背景圖片 -->    <item android:state_focused="true" android:state_pressed="true"   android:drawable= "@drawable/pic2" /> <!-- 觸摸模式下單擊時的背景圖片-->  <item android:state_focused="false" android:state_pressed="true"   android:drawable="@drawable/pic3" />  <!--選中時的圖片背景-->    <item android:state_selected="true"   android:drawable="@drawable/pic4" />   <!--獲得焦點時的圖片背景-->    <item android:state_focused="true"   android:drawable="@drawable/pic5" />   </selector>

當然我們也可以這樣
<?xml version="1.0" encoding="utf-8"?><selector xmlns:android="http://schemas.android.com/apk/res/android">    <item android:state_selected="true" android:color="#FF0000" />    <item android:state_focused="true" android:color="#00FF00" />    <item android:state_pressed="true" android:color="#0000FF" />    <item android:color="#000000" /></selector>

或者這樣
<?xml version="1.0" encoding="utf-8"?><selector xmlns:android="http://schemas.android.com/apk/res/android">    <item android:state_pressed="true">        <!-- 定義當button 處於pressed 狀態時的形態。-->        <shape>            <gradient android:startColor="#8600ff" />            <stroke android:width="2dp" android:color="#000000" />            <corners android:radius="5dp" />            <padding android:left="10dp" android:top="10dp"                android:bottom="10dp" android:right="10dp" />        </shape>    </item>    <item android:state_focused="true">        <!-- 定義當button獲得focus時的形態-->        <shape>            <gradient android:startColor="#eac100" />            <stroke android:width="2dp" android:color="#333333" color="#ffffff" />            <corners android:radius="8dp" />            <padding android:left="10dp" android:top="10dp"                android:bottom="10dp" android:right="10dp" />        </shape>    </item>    <item android:drawable="@drawable/you_picture_name">預設背景</item></selector>

這裡我們給出重點提醒selector  一般用於background不要忘記
android:background="@drawable/you_drawable_xml_name"


Android Selector全解

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.