DrawableTop не показывает drawableTop
Я пытаюсь использовать drawableTop, чтобы показать изображение над текстом в кнопке.
Моя фотография с SDCard, а не рисовать.
Кроме того, размер кнопки может меняться в зависимости от количества отображаемых кнопок. Больше кнопок, меньше кнопок, затем меньше изображений.
Вот как я создаю свои кнопки:
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>
И вот как я создаю drawableTop:
Drawable drawableTop = Drawable.createFromPath(endImagemVoltar);
btn.setCompoundDrawables(null, drawableTop, null, null);
Текст отображается на кнопке, но изображение не появляется.
Где ошибка?
Любая помощь приветствуется!
1 ответ
Я думаю, чего не хватает, чтобы у вашего рисованного объекта уже был вызван 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);