Burada belirtilenlerden farklı bir yaklaşım izledim ve gerçekten iyi çalışıyor, bu yüzden paylaşmak istedim.
Soldaki görüntüyü ve sağ ortadaki metni içeren özel bir düğme oluşturmak için bir Stil kullanıyorum. Aşağıdaki 4 "kolay adımı" uygulamanız yeterlidir:
I. En az 3 farklı PNG dosyası ve sahip olduğunuz aracı kullanarak 9 yama oluşturun: /YOUR_OWN_PATH/android-sdk-mac_x86/tools/./draw9patch. Bundan sonra sahip olmalısınız:
button_normal.9.png, button_focused.9.png ve button_pressed.9.png
Ardından 24x24 PNG simgesi indirin veya oluşturun.
ic_your_icon.png
Hepsini Android projenizdeki çizilebilir / klasöre kaydedin.
II. Projenizde drawable / klasörün altında button_selector.xml adlı bir XML dosyası oluşturun. Devletler şöyle olmalıdır:
<item android:state_pressed="true" android:drawable="@drawable/button_pressed" />
<item android:state_focused="true" android:drawable="@drawable/button_focused" />
<item android:drawable="@drawable/button_normal" />
III. Değerler / klasöre gidin ve styles.xml dosyasını açın veya oluşturun ve aşağıdaki XML kodunu oluşturun:
<style name="ButtonNormalText" parent="@android:style/Widget.Button">
<item name="android:textColor" >@color/black</item>
<item name="android:textSize" >12dip</item>
<item name="android:textStyle" >bold</item>
<item name="android:height" >44dip</item>
<item name="android:background" >@drawable/button_selector</item>
<item name="android:focusable" >true</item>
<item name="android:clickable" >true</item>
</style>
<style name="ButtonNormalTextWithIcon" parent="ButtonNormalText">
<item name="android:drawableLeft" >@drawable/ic_your_icon</item>
</style>
ButtonNormalTextWithIcon bir "alt stil" dir çünkü ButtonNormalText'i ("üst stil") genişletmektedir.
ButtonNormalTextWithIcon stilinde drawableLeft öğesini değiştirerek drawableRight, drawableTop veya drawableBottom olarak değiştirdiğinizde simgeyi metne göre başka bir konuma yerleştirebilirsiniz.
IV. Kullanıcı arabirimi için XML'inizin bulunduğu mizanpaja / klasöre gidin ve stili uygulamak ve aşağıdaki gibi görünmesini istediğiniz Düğmeye gidin:
<Button android:id="@+id/buttonSubmit"
android:text="@string/button_submit"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
style="@style/ButtonNormalTextWithIcon" ></Button>
Ve ... voilà! Düğmenizi sol tarafta bir resim ile aldınız.
Benim için bunu yapmanın en iyi yolu bu! çünkü bu şekilde, düğmenin metin boyutunu görüntülemek istediğiniz simgeden ayrı olarak yönetebilir ve stilleri kullanarak Android UI Yönergeleri'ne saygı gösteren farklı simgelerle birkaç düğme için aynı arka planı kullanabilirsiniz.
Ayrıca, Uygulamanız için bir tema oluşturabilir ve tüm düğmelerin aynı görünmesi için "ana stil" i ekleyebilir ve "çocuk stilini" yalnızca ihtiyacınız olan simgeyle uygulayabilirsiniz.