簡體   English   中英

如何在Android中更改ImageButton的背景圖像

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM