我正在尝试使用drawableTop在按钮中的文本上方显示图片。
我的照片来自SD卡,而不是可绘制的。
此外,按钮的大小可能会根据显示的按钮数量而变化。更多的按钮,更小的按钮,然后是更小的图像。
以下是我创建按钮的方式:
btn = (Button) LayoutInflater.from(
getBaseContext()).inflate(
R.layout.buttonstyle, l1, false);
下面是 XML 文件按钮样式:
<?xml version="1.0" encoding="UTF-8"?>
<Button xmlns:android="http://schemas.android.com/apk/res/android"
android:background="@drawable/roundcorners"
android:id="@+id/buttonTest"
android:scaleType="centerInside"
android:cropToPadding="false"
android:paddingLeft="5dp"
android:paddingRight="5dp"
android:paddingBottom="10dip"
android:layout_height="fill_parent"
android:layout_width="wrap_content"
android:text="Test text"
android:textSize="40dip"
android:textStyle="bold"
android:textColor="#000000">
</Button>
以下是我创建可绘制顶部的方法:
Drawable drawableTop = Drawable.createFromPath(endImagemVoltar);
btn.setCompoundDrawables(null, drawableTop, null, null);
文本显示在按钮中,但不显示图像。
错误在哪里?
任何帮助不胜感激!
我想缺少的是你的可绘制对象已经有setBounds(Rect)调用还可以尝试在位图中加载图片,然后将其放入可绘制对象中:
Bitmap bitmapImage = BitmapFactory.decodeFile(endImagemVoltar);
Drawable bgrImage = new BitmapDrawable(bitmapImage);
要使用 SetBounds :
public void setBounds (int left, int top, int right, int bottom)
对于 50x50 大小,例如使用 :
drawable.setBounds(0, 0, 50, 50);