程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 更多編程語言 >> 編程綜合問答 >> imageview-以編程的方式取代選擇器的圖像

imageview-以編程的方式取代選擇器的圖像

編輯:編程綜合問答
以編程的方式取代選擇器的圖像

ImageView中的一個可繪制的圖像資源被設置為一個選擇器。如何以編程方式訪問這個選擇器,來改變圖像的突出顯示和不突出顯示的狀態?
以下是選擇器的代碼:

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/iconSelector">
  <!-- pressed -->
  <item android:state_pressed="true" android:drawable="@drawable/btn_icon_hl" />
  <!-- focused -->
  <item android:state_focused="true" android:drawable="@drawable/btn_icon_hl" />
  <!-- default -->
  <item android:drawable="@drawable/btn_icon" />
</selector>

我想用其它圖像代替btn_icon_hl 和btn_icon。

最佳回答:


如果StateListDrawable已經定義後,沒有方法能改變單獨的狀態。
可以用以下的代碼定義一個新的方法:

StateListDrawable states = new StateListDrawable();
states.addState(new int[] {android.R.attr.state_pressed},
    getResources().getDrawable(R.drawable.pressed));
states.addState(new int[] {android.R.attr.state_focused},
    getResources().getDrawable(R.drawable.focused));
states.addState(new int[] { },
    getResources().getDrawable(R.drawable.normal));
imageView.setImageDrawable(states);
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved