Android Studio:按钮上的PNG

时间:2017-03-11 18:16:10

标签: android-studio button png drawable

如何在MainActivity中的按钮上设置png图标? 我必须在程序期间多次更改此图标,因此我无法在xml代码中设置图像。

但是在xml中它位于按钮的中心,所以它非常完美且拉伸得很好

android:drawableTop="@drawable/x"

在MainActivity中我不知道该怎么做

bt.setCompoundDrawablesWithIntrinsicBounds(null, x, null, null);

2 个答案:

答案 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作为参数意味着该方面没有图标。

祝你好运!