增加“paddingbottom”会降低按钮的高度,但不会改变填充

Increasing `paddingbottom` decreases button's height, but doesn't change padding

当我在 Android 布局中增加 paddingbottom 时,按钮的文本填充没有改变,但它的高度降低了。

代码如下。当我将代码 android: paddingBottom="10dp" 添加到第一个按钮时。按钮的高度缩小了。它改变如下。有人可以给我一些建议吗?

 <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_marginTop="20dp"
        android:orientation="horizontal"
        android:gravity="center_horizontal">
        <Button
            android:layout_width="60dp"
            android:layout_height="60dp"

            android:textSize="20sp"
            android:text="C"
            android:paddingBottom="10dp"
            android:id="@+id/btn_clear"
            android:gravity="right|bottom"
            android:background="@drawable/white_selector"

            />
        <Button
            android:layout_width="60dp"
            android:layout_height="60dp"
            android:textSize="20sp"
            android:text="DEL"
            android:layout_marginLeft="10dp"
            android:id="@+id/btn_del"
            android:gravity="right|bottom"
            android:background="@drawable/white_selector"


            />
        <Button
            android:layout_width="60dp"
            android:layout_height="60dp"
            android:textSize="20sp"
            android:text="/"
            android:layout_marginLeft="10dp"
            android:id="@+id/btn_devide"
            android:gravity="right|bottom"
            android:background="@drawable/white_selector"
            />
        <Button
            android:layout_width="60dp"
            android:layout_height="60dp"
            android:textSize="20sp"
            android:text="*"
            android:layout_marginLeft="10dp"
            android:id="@+id/btn_mulitply"
            android:gravity="right|bottom"
            android:background="@drawable/white_selector"
            />
    </LinearLayout>

出现这个问题是因为你为LinearLayout设置了android:orientation="horizontal"。所有按钮都是相同的 height ,所以如果你只为 Clear 按钮设置 padding ,这个按钮将向下移动。 我建议您将 android:layout_marginBottom="10dp" 添加到 Clear 按钮,然后 android:layout_marginTop="10dp" 另一个像这样的按钮:

<LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_marginTop="20dp"
        android:orientation="horizontal"
        android:gravity="center_horizontal">
        <Button
            android:layout_width="60dp"
            android:layout_height="60dp"
            android:textSize="20sp"
            android:text="C"
            android:paddingBottom="10dp"
            android:layout_marginBottom="10dp"
            android:id="@+id/btn_clear"
            android:gravity="right|bottom"
            android:background="@drawable/white_selector" />
        <Button
            android:layout_width="60dp"
            android:layout_height="60dp"
            android:textSize="20sp"
            android:text="DEL"
            android:layout_marginLeft="10dp"
            android:layout_marginTop="10dp"
            android:id="@+id/btn_del"
            android:gravity="right|bottom"
            android:background="@drawable/white_selector"/>
        <Button
            android:layout_width="60dp"
            android:layout_height="60dp"
            android:textSize="20sp"
            android:text="/"
            android:layout_marginLeft="10dp"
            android:layout_marginTop="10dp"
            android:id="@+id/btn_devide"
            android:gravity="right|bottom"
            android:background="@drawable/white_selector"/>
        <Button
            android:layout_width="60dp"
            android:layout_height="60dp"
            android:textSize="20sp"
            android:text="*"
            android:layout_marginLeft="10dp"
            android:layout_marginTop="10dp"
            android:id="@+id/btn_mulitply"
            android:gravity="right|bottom"
            android:background="@drawable/white_selector" />
    </LinearLayout>

你应该将 LinearLayout center_horizontal 更改为 center.

当LinearLayout重力=center_horizontal.

LinearLayout 的子视图清除按钮将 center_vertical。