首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 更多程式語言 >> 程式設計綜合問答

Android ImageButton 狀態圖片不變化:Selector 配置檢查清單

     編輯:程式設計綜合問答

常見原因排查

  1. 未設置 clickable:android:clickable="true" 或代碼 btn.setClickable(true),否則不觸發 pressed 狀態。
  2. Selector 項順序:靠後的項作為默認,確保 <item android:drawable="@drawable/default" /> 在最後且無狀態屬性。
  3. 背景 vs 圖標:android:background="@drawable/selector" 設置背景圖;若用 android:src 則需在代碼 setImageResource(R.drawable.selector)。
  4. 圖片資源存在性:確認 @drawable/pushed、@drawable/default 在對應密度目錄下存在。

標準 Selector 示例

<selector xmlns:android="https://schemas.android.com/apk/res/android">
    <item android:state_pressed="true" android:drawable="@drawable/btn_pressed" />
    <item android:state_focused="true" android:drawable="@drawable/btn_focused" />
    <item android:drawable="@drawable/btn_normal" />
</selector>

調試技巧

逐個添加 <item> 並運行觀察,定位哪個狀態不生效;使用 Layout Inspector 查看實際屬性值。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved