0

我有一个这样的按钮设置:

       <Button
        android:id="@+id/sendBtn"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentRight="true"
        android:layout_alignParentTop="true"
        android:text="Send" 
        android:padding="-5dp"
        android:paddingBottom="-10dp"
    android:background="@color/red"/>

这是它在 Android 4.0 及更高版本中的样子:http: //i.imgur.com/2P9WEWp.png ?1

这是它在 Android 2.3 中的样子:http: //i.imgur.com/4oXSN2P.png ?1

如您所见,2.3 按钮似乎挤在一起而且非常小。我该如何解决这个问题,所以新版本和 2.3 至少有相同的相似之处?

4

3 回答 3

1

Use positive values for padding, set textColor attribute for white color:

<Button
        android:id="@+id/sendBtn"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentRight="true"
        android:layout_alignParentTop="true"
        android:text="Send"
        android:padding="5dp"
        android:paddingBottom="10dp"
        android:background="@color/red"
        android:textColor="#FFFFFF"/>

Moreover, use android-holo-colors to generate a proper styles, selectors, drawables for Button for all APIs.

于 2013-09-18T07:13:45.600 回答
1

有两种方法可以解决这个问题..

1:需要在所有侧面放置填充物。

<Button
    android:id="@+id/sendBtn"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:gravity="center"
    android:layout_alignParentRight="true"
    android:layout_alignParentTop="true"
    android:text="Send" 
    android:padding="5dp"
    android:background="@color/red"
    android:textColor="@android:color/white"/>

2:需要给这个按钮固定大小。

<Button
    android:id="@+id/sendBtn"
    android:layout_width="60dp"
    android:layout_height="40dp"
    android:gravity="center"
    android:layout_alignParentRight="true"
    android:layout_alignParentTop="true"
    android:text="Send"
    android:background="@color/red"
    android:textColor="@android:color/white"/>

两者都是简单而完美的查找。

于 2013-09-18T08:57:10.920 回答
1

它与设备大小有关,创建多个values文件夹(values,,等) values-sw600dpvalues-v11使每个文件夹都有dimens.xml。在dimens.xml定义不同的填充值。然后在你的布局文件中使用这个值而不是硬编码的值。例如

<Button
    android:id="@+id/sendBtn"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentRight="true"
    android:layout_alignParentTop="true"
    android:text="Send" 
    android:padding="@dimens/padding"
    android:paddingBottom="@dimens/paddingBottom"
    android:background="@color/red"/>
于 2013-09-18T07:10:14.663 回答