У меня есть пользовательский объект в моем проекте Android, который должен быть фоном кнопки. Но каждая кнопка также должна поддерживать значок и текст.
То, что я до сих пор пробовал, это следующее:
У меня есть чертеж, который называется "btn_background.xml"
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item>
<layer-list >
<item>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<gradient android:startColor="#ff0000"
android:endColor="#ee1111"
android:type="linear"
android:angle="90"/>
<stroke android:color="#ff0000"
android:width="1dip"/>
<size android:width="80dip"
android:height="40dip" />
</shape>
</item>
<item android:drawable="@drawable/btn_search"/>
</layer-list>
</item>
И в моем файле макета я использую это так:
<Button android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Button"
android:background="@drawable/btn_background"
android:textColor="#ffffff"/>
Это сближает меня ... но есть две проблемы:
* Изображение растянуто на всю кнопку
* Я не могу просто изменить изображение в файле макета ... поэтому мне нужно было бы создать отдельный файл btn_whwhat.xml для каждой иконки?!?
Другое решение, которое я попробовал, состояло в том, чтобы использовать ImageButton вместо Button и установить в качестве фона мой btn_background.xml .... это позволило бы мне выбрать изображение в файле макета ... но затем я не могу дать ему текст ....
Буду рад услышать о ваших решениях моей проблемы:)
Большое спасибо!