编程实现更改按钮图标

9

我有一个带有左侧图标的按钮:

<Button
    android:id="@+id/post_feeling_btn"
    android:background="@color/white"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:padding="4dp"
    android:drawableLeft="@drawable/feeling_btn"
    android:gravity="left|center_vertical"
    android:textColor="@color/gray"
    android:text="Sentimento"/>

在我的简历方法中,我通过编程方式更改按钮的文本:

Button setFeeling;
FeelingButton selectedFeeling;

@Override
public void onResume() {
    super.onResume();
    selectedFeeling = ((FeedActivity)getActivity()).getSelectedFeeling();
    if(selectedFeeling != null){
        setFeeling.setText(selectedFeeling.getFeeling());
    }
}

有没有一种方法可以在同一个方法中更改我的左侧可绘制对象并设置图像,使用我在selectedFeeling对象中拥有的图像? 我正在寻找类似于:

setFeeling.setDrawable();
2个回答

21

尝试像这样做:对于drawableLeft

int imgResource = R.drawable.your_drawable;
setFeeling.setCompoundDrawablesWithIntrinsicBounds(imgResource, 0, 0, 0);
setFeeling.setCompoundDrawablePadding(8);     //for padding

感谢这里的答案。


它可以工作,但是图像太大了。有没有一种方法可以设置高度和宽度? - Rob
1
@rob,据我所知,您无法设置左侧可绘制对象的大小,请尝试减小图像的大小。 - A. Shevchuk

2

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接