以编程方式设置按钮背景将其从屏幕中删除

时间:2015-05-15 11:08:12

标签: android android-button

我正在尝试以编程方式更改按钮的背景颜色,但当我更改其颜色按钮时会从屏幕上消失。

这是布局中的按钮

<Button                
  android:id="@+id/ibtn_EA_ColorPick_new"
  android:layout_width="wrap_content"
  android:layout_height="wrap_content" 
  android:layout_marginLeft="10dp"
  android:layout_marginRight="10dp"
  android:background="@drawable/clr_btn"
  />

以下是我如何改变其背景

btn_ColorPick.setBackgroundColor(btn_ColorPick.getContext().getResources().getColor(R.color.BlackColor));

我也试过

btn_ColorPick.setBackgroundColor(getResources().getColor(R.color.BlackColor));

但结果相同

2 个答案:

答案 0 :(得分:1)

尝试使用ImageButton -

    <ImageButton
      android:id="@+id/ibtn_EA_ColorPick_new"
      android:layout_width="wrap_content"
      android:layout_height="wrap_content" 
      android:layout_marginLeft="10dp"
      android:layout_marginRight="10dp"
      android:src="@drawable/clr_btn"
      android:background="@drawable/red_color"
         />

btn_ColorPick.setBackgroundColor(->ur color <-); 

答案 1 :(得分:0)

尝试

btn_ColorPick.setBackgroundColor(Color.RED); //import of android.graphics.Color

另一种方法是:

bt_exButton.getBackground().setColorFilter(0xFFBBAA00, PorterDuff.Mode.MULTIPLY); //import od import android.graphics.PorterDuff;

也许您尝试将颜色更改为与活动背景相同的颜色并且它会消失,因为它是相同的颜色......