當前位置:首頁 » 安卓系統 » selectorandroid

selectorandroid

發布時間: 2025-10-20 01:53:44

A. Android開發中定義xml 中的selector里android:state_focused這句是什麼意思

android:state_focused
是當控制項獲得焦點的時候控制項的表示。
類似的還有android:state_pressed,按下時
android:state_selected 選中時

為了實現的效果是:
按下一個按鈕,按鈕會變個形狀或者顏色,松開,它又變回原樣。

B. Android中selector使用詳解

選擇器在android中使用的非常廣泛,點擊反饋、選中、使能、聚焦等狀態切換都會用到選擇器。
一:下面是一個簡單的選擇器:

android:enterFadeDuration="200" 、android:exitFadeDuration="200":進入新狀態或退出舊狀態時會有一個200毫秒的漸變動畫。這兩個屬性使用的比較常見,可以使選擇器的狀態切換更加平滑。

以下幾個都是Drawable的屬性。
android:autoMirrored="true"對應drawable.setAutoMirrored(),這個屬性表示是否將drawable鏡像顯示,只有在從右往左布局的環境下才會生效。將此屬性設置成true,並將語言調節成阿拉伯語便可以看到效果。
android:dither="true"對應drawable.setDither(),這個屬性表示是否對圖像進行抖動處理。當圖像的bit-color較少時,通過顏色值的抖動來增加可用顏色數量,並保持較好的顯示效果。
android:visible="true" 對應drawable.setVisible(),設置Drawable是否可見,一般不會影響Drawable的行為,但是它是Drawable是否運行了動畫的一個暗示。例如:AnimationDrawable可以通過這個方法啟動或者停止動畫。

剩下兩個屬性對應DrawableContainer$DrawableContainerState裡面的屬性(DrawableContainer是Drawable的一個子類,DrawableContainerState是DrawableContainer的內部類)。
android:constantSize="true":當選擇器各個狀態的圖片大小不一時,設置為 true表示以最大的圖片的尺寸顯示,設置為false以默認的圖片的尺寸顯示(控制項大小會對現象有影響,需要是包裹內容的)。
android:variablePadding="false" :默認為false,這個屬性意義不大,通常不去設置。

二:Item的各種狀態,理解起來相對簡單,都可以從屬性的名字去理解其含義,例如:

狀態為加速的時候會顯示ic_launcher_m圖片,那麼是什麼加速呢?這就需要自己去分析一下,其實這里指的加速是對View的軟體加速或硬體加速。

當給View設置background、foreground或ImageView設置src時只能寫android:drawable="id":

當給文字顏色添加選擇器的時候必須要寫android:color="ARGB|RGB顏色值"

三:注意安卓程序在讀取選擇器文件時,是從上往下一個一個節點進行遍歷的,程序會選擇符合當前控制項狀態的第一個Item的內容。如果一個Item不寫任何狀態,表示它任何狀態都符合, 所以一般最後一個Item是不會寫任何狀態的(就像if(){}else if(){}else{}語句一樣,最後一個包含了剩下的所有情況)。

四:選擇器的Item和animated-rotate一起使用。

五:動態創建選擇器
動態創建一個簡單的選擇器:

用一張圖片,通過對圖片的著色創建選擇器:

創建矢量圖選擇器:

TextView文字顏色選擇器:

部分常用狀態數組:

熱點內容
我的世界如何查找伺服器真實的ip 發布:2025-10-20 04:53:18 瀏覽:172
安卓的相機怎麼拍高質量的圖片 發布:2025-10-20 04:47:47 瀏覽:559
安卓app怎麼裝到蘋果 發布:2025-10-20 04:42:54 瀏覽:931
早戀腳本 發布:2025-10-20 04:42:53 瀏覽:553
遠程會話主機配置怎麼打開 發布:2025-10-20 04:38:42 瀏覽:205
如何減少密碼中很多字元 發布:2025-10-20 04:33:29 瀏覽:556
我的世界ios正版伺服器 發布:2025-10-20 04:17:52 瀏覽:394
影音先鋒清除緩存 發布:2025-10-20 04:12:56 瀏覽:28
java回調線程 發布:2025-10-20 03:47:55 瀏覽:819
王者榮耀安卓哪個區最厲害 發布:2025-10-20 03:46:19 瀏覽:507