Итак, я определил простой Button в xml вот так:

<Button
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:layout_weight="1"
    android:layout_margin="5dp"
    android:gravity="center"
    android:text="@string/home_button_student"
    android:textSize="@dimen/abc_text_size_headline_material"
    android:onClick="buttonClick"
    android:id="@+id/home_button_student"
    android:drawableLeft="@drawable/ic_action_emo_cool"/>

У меня их несколько в LinearLayout, и, как и ожидалось, они заполняют экран, каждый из которых занимает одинаковое количество места, и каждый выглядит примерно так: http://i.imgur.com/fMNldop.jpg

Проблема, с которой я столкнулся, заключается в том, что, как вы можете видеть, высота для рисования равна высоте текста, я хотел бы знать, есть ли способ сделать масштабирование для рисования на высоту самой кнопки БЕЗ использования обходного пути, например создав свою собственную кнопку с использованием другого LinearLayout, я бы хотел придерживаться использования Button.

У меня есть разные версии изображения в моей папке res в правильных папках (xxhdpi, xhdpi и т. Д.), Но кажется, что он хочет использовать только самый маленький.

РЕДАКТИРОВАТЬ: Похоже, это может быть из-за того, что предоставленное изображение слишком маленькое, как я сказал чуть выше, у меня есть изображение во всем диапазоне размеров, как я могу сказать Android, чтобы он использовал большее изображение на большом экране вместо значения по умолчанию к меньшему? Я подумал, что в этом весь смысл наличия нескольких размеров.

1
MRKSTWRT 12 Мар 2015 в 22:01

3 ответа

Лучший ответ

Drawable будет иметь только размер растрового изображения. Просто предоставьте изображение большего размера, и все будет в порядке.

0
Lamorak 12 Мар 2015 в 20:43

Вы можете использовать свой собственный макет для этого, например, рисовать влево или вправо, что вы хотите, просто используйте линейный макет, помещенный в это изображение и кнопку для просмотра. чтобы вы могли поместить изображение, которое хотите

0
parik dhakan 16 Мар 2015 в 06:14

Для этого вам нужно изменить layout_height с fill_parent на wrap_content, как это

<Button
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:layout_margin="5dp"
    android:gravity="center"
    android:text="@string/home_button_student"
    android:textSize="@dimen/abc_text_size_headline_material"
    android:onClick="buttonClick"
    android:id="@+id/home_button_student"
    android:drawableLeft="@drawable/ic_action_emo_cool"/>

Если вы хотите, чтобы кнопка была действительно большой по высоте, убедитесь, что у вас есть изображение с одинаковым размером высоты, доступное для рисования, а также нет необходимости указывать здесь вес,

0
Ajji 12 Мар 2015 в 19:23