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
- Houdini - 建立自定義的button樣式
- Android 自定義View 點贊效果AndroidView
- android:listView Button 焦點問題AndroidView
- 自定義 ActionBar 標題與選單中的文字樣式
- android checkbox自定義去修改background而不是buttonAndroid
- 無需自定義View,徹底解放shape,selector(二)View
- 無需自定義View,徹底解放shape,selector吧View
- Android自定義View之定點寫文字AndroidView
- elementUI radio修改單選框多選框選中樣式及自定義其他樣式。UI
- Android自定義View之區塊選擇器AndroidView
- 自定義元件-樣式元件
- Android之點選Home鍵後再次開啟導致APP重啟問題AndroidAPP
- 自定義Button高亮狀態
- mui toast自定義樣式UIAST
- Qt Charts 自定義樣式QT
- cnBlogs的自定義樣式
- checkbox/radio自定義樣式
- 如何自定義 drag 樣式
- Android自定義View 雷達掃描效果AndroidView
- Android進階——自定義View之雙向選擇SeekbarAndroidView
- Android 自定義 View 之 LeavesLoadingAndroidView
- Input元件無點選效果元件
- VUE 之 v-html 後樣式不生效的問題VueHTML
- input[type="radio"]自定義樣式
- CefSharp自定義捲軸樣式
- app直播原始碼,uniapp之自定義頂部樣式APP原始碼
- 【Android】一行程式碼設定Shape Selector樣式Android行程
- android短視訊開發,自定義更改平臺主題以及狀態列樣式Android
- 小程式自定義swiper的指示點樣式及顏色
- 微信小程式swiper修改自定義指示點樣式微信小程式
- Android自定義View之捲尺AndroidView
- 【朝花夕拾】Android自定義View篇之(八)多點觸控AndroidView
- Android SeekBar 自定義thumb,thumb旋轉動畫效果Android動畫
- QFileDialog自定義樣式設定SetStytlesheet
- 本部落格園自定義樣式
- Android自定義View教你一步一步實現即刻點贊效果AndroidView
- Android8 自定義廣播接收不到的問題Android
- 【Android初級】如何實現一個有動畫效果的自定義下拉選單Android動畫