ฉันใช้แนวทางที่แตกต่างจากที่ระบุไว้ที่นี่และมันใช้งานได้ดีจริงๆดังนั้นฉันจึงต้องการแบ่งปัน
ฉันใช้สไตล์เพื่อสร้างปุ่มที่กำหนดเองพร้อมรูปภาพทางด้านซ้ายและข้อความที่กึ่งกลางขวา เพียงทำตาม 4 "ขั้นตอนง่าย ๆ " ด้านล่าง:
I. สร้าง 9 แพตช์ของคุณโดยใช้ไฟล์ PNG ที่แตกต่างกันอย่างน้อย 3 ไฟล์และเครื่องมือที่คุณมีอยู่ที่: /YOUR_OWN_PATH/android-sdk-mac_x86/tools/./draw9patch หลังจากนี้คุณควรจะมี:
button_normal.9.png, button_focused.9.png และ button_pressed.9.png
จากนั้นดาวน์โหลดหรือสร้างไอคอน PNG 24x24
ic_your_icon.png
บันทึกทั้งหมดใน drawable / folder ในโครงการ Android ของคุณ
ครั้งที่สอง สร้างไฟล์ XML ชื่อ button_selector.xml ในโครงการของคุณภายใต้ drawable / folder รัฐควรเป็นเช่นนี้:
<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" />
สาม. ไปที่ค่า / โฟลเดอร์และเปิดหรือสร้างไฟล์ styles.xml และสร้างรหัส XML ต่อไปนี้:
<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 เป็น "ลูกสไตล์" เพราะมันจะขยาย ButtonNormalText ("สไตล์แม่")
โปรดทราบว่าการเปลี่ยน drawableLeft ในลักษณะ ButtonNormalTextWithIcon เพื่อ drawableRight, drawableTop หรือ drawableBottom คุณสามารถวางไอคอนในตำแหน่งอื่น ๆ ที่เกี่ยวข้องกับข้อความ
IV ไปที่เลย์เอาต์ / โฟลเดอร์ที่คุณมี XML สำหรับ UI และไปที่ปุ่มที่คุณต้องการใช้สไตล์และทำให้มันเป็นดังนี้:
<Button android:id="@+id/buttonSubmit"
android:text="@string/button_submit"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
style="@style/ButtonNormalTextWithIcon" ></Button>
และ ... voilà! คุณมีปุ่มพร้อมภาพทางด้านซ้าย
สำหรับฉันนี่เป็นวิธีที่ดีกว่าที่จะทำ! เพราะทำอย่างนี้คุณสามารถจัดการขนาดตัวอักษรของปุ่มแยกจากไอคอนที่คุณต้องการแสดงและใช้พื้นหลังเดียวกัน drawable สำหรับปุ่มต่าง ๆ ที่มีไอคอนต่าง ๆ ที่เกี่ยวข้องกับแนวทาง UI Android โดยใช้สไตล์
คุณยังสามารถสร้างชุดรูปแบบสำหรับแอพของคุณและเพิ่ม "สไตล์ของผู้ปกครอง" เพื่อให้ปุ่มทั้งหมดมีลักษณะเหมือนกันและใช้ "สไตล์ของเด็ก" กับไอคอนเฉพาะที่คุณต้องการ