按钮在Android 2.3上无法正确显示

时间:2013-09-18 07:01:10

标签: android android-button

我按钮设置如下:

       <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至少具有相同的相似性?

3 个答案:

答案 0 :(得分:1)

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

<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"/>

答案 1 :(得分:1)

使用正值填充,将textColor属性设置为白色:

<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"/>

此外,使用android-holo-colors为所有API生成Button的正确样式,选择器和drawable。

答案 2 :(得分: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"/>

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