如何在MainActivity中的按钮上设置png图标? 我必须在程序期间多次更改此图标,因此我无法在xml代码中设置图像。
但是在xml中它位于按钮的中心,所以它非常完美且拉伸得很好
android:drawableTop="@drawable/x"
在MainActivity中我不知道该怎么做
bt.setCompoundDrawablesWithIntrinsicBounds(null, x, null, null);
答案 0 :(得分:1)
使用以下代码:
Drawable top = getResources().getDrawable(R.drawable.x);
bt.setCompoundDrawablesWithIntrinsicBounds(null, top , null, null);
要在中心添加图像,您可以使用imageButton:
在布局xml中添加以下图像按钮代替按钮。
<ImageButton
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/imageButton" />
获取imageButton并设置drawable:
ImageButton ib = (ImageButton)findViewById(R.id.imageButton);
ib.setImageResource(R.drawable.x);
希望这有帮助。
答案 1 :(得分:0)
如果您的目标是API级别17或更高级别,则只需一个简单的行即可完成此操作:
bt.setCompoundDrawablesWithIntrinsicBounds(0, R.drawable.x , 0, 0);
此方法将drawable资源ID作为参数,因此无需使用getDrawable()
自行获取drawable。传递0
作为参数意味着该方面没有图标。