Android开发中padding使用一个小技巧

来源:互联网 发布:淘宝怎么扫码支付 编辑:程序博客网 时间:2024/06/11 15:41

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

1 0