android問題之Button自定義樣式selector後,點選無效果
問題:
自定義了一個button樣式,如下,正常顏色為紅色,按下為藍色,但是點選無變色效果,一直為紅色。
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item>
<shape>
<corners android:radius="5dp"/>
<solid android:color="@color/colorAccent"/>
</shape>
</item>
<item android:state_pressed="true">
<shape>
<corners android:radius="5dp"/>
<solid android:color="@color/colorPrimaryDark"/>
</shape>
</item>
<item android:state_focused="true">
<shape>
<corners android:radius="5dp"/>
<solid android:color="@color/colorPrimaryDark"/>
</shape>
</item>
</selector>
解決:
將不帶狀態的樣式放在最後,即可解決問題。
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_pressed="true">
<shape>
<corners android:radius="5dp"/>
<solid android:color="@color/colorPrimaryDark"/>
</shape>
</item>
<item android:state_focused="true">
<shape>
<corners android:radius="5dp"/>
<solid android:color="@color/colorPrimaryDark"/>
</shape>
</item>
<!--不帶狀態-->
<item>
<shape>
<corners android:radius="5dp"/>
<solid android:color="@color/colorAccent"/>
</shape>
</item>
</selector>
原因:
selector中 item 是有順序,類似於if語句,從上往下,當已有匹配的條件時,將不會再往下匹配。
所以,當無狀態的 item 作為背景色
放在第一位時,被匹配到了,所以不會再往下匹配。
相關文章
- android自定義button樣式Android
- Android Button 點選效果Android
- Houdini - 建立自定義的button樣式
- 【Android開發點滴】自定義Toast樣式AndroidAST
- Android 自定義View 點贊效果AndroidView
- android 自定義控制元件(底部icon點選效果)Android控制元件
- android:listView Button 焦點問題AndroidView
- Android設定選項開發及自定義Preference樣式Android
- Android程式碼實現自定義ButtonAndroid
- Android ListView item中有按鈕(Button)不能點選或者條目不能點選的問題AndroidView
- 自定義 ActionBar 標題與選單中的文字樣式
- 自定義ActionBar標題與選單中的文字樣式
- Docker 自定義網橋後,無法正常啟動問題Docker
- 自定義Toast樣式AST
- C# 對選單進行自定義樣式C#
- Android樣式的開發:selector篇Android
- 自定義Button高亮狀態
- React Native自定義ButtonReact Native
- 自定義view————開關buttonView
- elementUI radio修改單選框多選框選中樣式及自定義其他樣式。UI
- Android動畫效果之自定義ViewGroup新增布局動畫Android動畫View
- 無需自定義View,徹底解放shape,selector(二)View
- 無需自定義View,徹底解放shape,selector吧View
- 如何自定義 drag 樣式
- mui toast自定義樣式UIAST
- 自定義 checkbox 樣式
- 自定義dialog樣式
- Qt Charts 自定義樣式QT
- Android自定義View之定點寫文字AndroidView
- 織夢後臺新增自定義欄位樣式修改
- Android 自定義Switch開關按鈕的樣式Android
- Android自定義View之區塊選擇器AndroidView
- Input元件無點選效果元件
- PHPCMS自定義表單樣式PHP
- js自定義select下拉選單效果JS
- VUE 之 v-html 後樣式不生效的問題VueHTML
- Android 自定義 View 實戰之角度選擇器AndroidView
- Android之點選Home鍵後再次開啟導致APP重啟問題AndroidAPP