在安卓应用开发中,有时要用到状态按钮(可点击时与不可点击时的背景不相同),而且产品要求的按钮大小是固定的。在不同的手机上按钮的文字显示可能有些异常(主要是在给按钮做背景时很容易出现),此时我们怎么处理呢?我们可以用到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",问题就解决了。