1. 程式人生 > >Android開發中padding使用一個小技巧

Android開發中padding使用一個小技巧

   在安卓應用開發中,有時要用到狀態按鈕(可點選時與不可點選時的背景不相同),而且產品要求的按鈕大小是固定的。在不同的手機上按鈕的文字顯示可能有些異常(主要是在給按鈕做背景時很容易出現),此時我們怎麼處理呢?我們可以用到padding這個屬性。

看看小例子:

--------------------------就一個按鈕,但是background是用xml檔案寫的狀態selector--------------------------------

 <Button
            android:id="@+id/publish_starlist_achieve_btn"
            android:layout_width="300dp"
            android:layout_height="44dp"
            android:layout_centerInParent="true"
            android:layout_gravity="bottom"
            android:layout_margin="10dp"
            android:background="@drawable/common_btn_selector"
            android:text="釋出"
            android:textColor="#FFFFFF"
            android:textSize="16sp" />

------------------------------common_btn_selector,android:state_enabled不同,對應drawable不同--------------------------------

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">

    <item android:drawable="@drawable/common_btn_normal" android:state_enabled="false"/>
    <item android:drawable="@drawable/common_btn_press" android:state_pressed="true"/>
    <item android:drawable="@drawable/common_btn_normal"/>

</selector>

就這樣的話,在小米3,小米4等主流手機上顯示沒有任務問題,但是在酷派8297D等機型上“釋出”2字卻顯示不全,後來佈局檔案的Button佈局中加了一句android:padding="0dp",問題就解決了。