[英]How to change background image of a ImageButton in android
我面臨的情況是:1.首先,我必須將ImageButton的背景圖像設置為默認圖像。 2.現在在運行時基於某種條件,我必須將ImageButton的背景圖像更改為其他圖像。
我已經嘗試過了,但是它不起作用,背景圖像仍然是默認圖像,並且沒有變化。
btn.invalidateDrawable((Drawable)getResources().getDrawable(R.drawable.info));
btn.setBackgroundDrawable((Drawable)getResources().getDrawable(R.drawable.infonewred));
我怎樣才能實現這個目標。
您是否嘗試過btn.setBackgroundResource(R.drawable.infonewred)
。
我知道那是舊的,但是我也正在尋找解決方案,因為我也在尋找那個,正確的答案是使用setImageResource
,所以代碼將像這樣:
btn.invalidateDrawable(getResources().getDrawable(R.drawable.info));
btn.setImageResource(R.drawable.infonewred);
嘗試方法setImageResource
例如:
if(someCondition()){
btn.setImageResource(R.drawable.info);
} else {
btn.setImageResource(R.drawable.infonewred);
}
我建議您通過android:background
直接在XML-Layout-File中設置“默認” android:background
。 如果必須在運行時中更改背景,只需使用btn.setBackgroundResource(R.drawable.imagename);
在活動文件中,您可以編寫btn.setBackgroundResource(R.drawable.sliderr);
要么
在您的xml布局文件中,您可以向您添加額外的一行按鈕xml代碼android:src =“ @ drawable / sliderr”
只需嘗試以下代碼即可在運行時進行更改,並針對布局xml中的默認視圖集背景屬性進行更改:
if(yourCondition)
btn.setBackgroundResource(R.drawable.infonewred);
由於您沒有提供xml,所以我想您正在為sButton提供src ..因此,要更改圖像的來源,您正在做的是更改將不可見的圖像背景,因為它是對您可見..因此更改源..
做這個。
btn.setImageDrawable()
而不是..
btn.setBackgroundDrawable()
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.