<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ThinkChat2.0新版上線,更智能更精彩,支持會話、畫圖、視頻、閱讀、搜索等,送10W Token,即刻開啟你的AI之旅 廣告
                #### 6.2.4 StateListDrawable StateListDrawable對應于<selector>標簽,它也是表示Drawable集合,每個Drawable都對應著View的一種狀態,這樣系統就會根據View的狀態來選擇合適的Drawable。StateListDrawable主要用于設置可單擊的View的背景,最常見的是Button,這個讀者應該不陌生,它的語法如下所示。 <? xml version="1.0" encoding="utf-8"? > <selector xmlns:android="http://schemas.android.com/apk/res/android" android:constantSize=["true" | "false"] android:dither=["true" | "false"] android:variablePadding=["true" | "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> 針對上面的語法,下面做簡單介紹。 * android:constantSize StateListDrawable的固有大小是否不隨著其狀態的改變而改變的,因為狀態的改變會導致StateListDrawable切換到具體的Drawable,而不同的Drawable具有不同的固有大小。True表示StateListDrawable的固有大小保持不變,這時它的固有大小是內部所有Drawable的固有大小的最大值,false則會隨著狀態的改變而改變。此選項默認值為false。 * android:dither 是否開啟抖動效果,這個在BitmapDrawable中也有提到,開啟此選項可以讓圖片在低質量的屏幕上仍然獲得較好的顯示效果。此選項默認值為true。 * android:variablePadding StateListDrawable的padding表示是否隨著其狀態的改變而改變,true表示會隨著狀態的改變而改變,false表示StateListDrawable的padding是內部所有Drawable的padding的最大值。此選項默認值為false,并且不建議開啟此選項。 `<item>`標簽表示一個具體的Drawable,它的結構也比較簡單,其中android:drawable是一個已有Drawable的資源id,剩下的屬性表示的是View的各種狀態,每個item表示的都是一種狀態下的Drawable信息。View的常見狀態如表6-3所示。 :-: 表6-3 View的常見狀態 ![](https://img.kancloud.cn/84/f4/84f483944a333cde0bfa3b42be709e8b_1340x292.png) 下面給出具體的例子,如下所示。 <? xml version="1.0" encoding="utf-8"? > <selector xmlns:android="http://schemas.android.com/apk/res/android"> <item android:state_pressed="true" android:drawable="@drawable/button_pressed" /> <! -- pressed --> <item android:state_focused="true" android:drawable="@drawable/button_focused" /> <! -- focused --> <item android:drawable="@drawable/button_normal" /> <! -- default --> </selector> 系統會根據View當前的狀態從selector中選擇對應的item,每個item對應著一個具體的Drawable,系統按照從上到下的順序查找,直至查找到第一條匹配的item。一般來說,默認的item都應該放在selector的最后一條并且不附帶任何的狀態,這樣當上面的item都無法匹配View的當前狀態時,系統就會選擇默認的item,因為默認的item不附帶狀態,所以它可以匹配View的任何狀態。
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看