3

让我们从有趣的部分开始,这是麻烦的图形。横向来看,一切都是美好的。

沉没按钮 中间的按钮,我想和其他三个对齐。以下是基础知识:

  1. 总的来说,这是一个相对布局
  2. 在这个 relativelayout 中,它是一个水平线性布局,包含三个按钮
  3. 中间按钮的“下沉”与它是双行文本 100% 相关,如果我将其更改为单行,它会正确对齐
  4. 按钮的指定高度与下沉无关,即使是它们当前大小的两倍以上(从当前 70 到 170),也会显示完全相同的行为(和行为的大小)
  5. “custom_button”背景没有效果,如果我将它们全部更改为无背景、股票查找按钮,则会出现相同的定位

这是 XML(只是相对布局中的线性布局):

<LinearLayout 
android:id="@+id/wideButtons"
android:layout_below="@+id/buttonClockFinish"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_marginTop="10dp"
android:layout_marginLeft="30dp"
android:layout_marginRight="30dp"
android:orientation="horizontal">

    <Button
    android:id="@+id/buttonLog"
    android:layout_weight="1"
    android:layout_height="70dp"
    android:padding="0dp"
    android:layout_marginRight="3dp"
    android:layout_width="fill_parent"
    android:background="@drawable/custom_button"
    android:text="View Log" />

    <Button
    android:id="@+id/buttonLocation"
    android:layout_weight="1"
    android:layout_height="70dp"
    android:padding="0dp"
    android:layout_marginLeft="3dp"
    android:layout_marginRight="3dp"
    android:layout_width="fill_parent"
    android:background="@drawable/custom_button"
    android:text="Location\nD1-RS" />

    <Button
    android:id="@+id/buttonHelp"
    android:layout_weight="1"
    android:layout_height="70dp"
    android:padding="0dp"
    android:layout_marginLeft="3dp"
    android:layout_width="fill_parent"
    android:background="@drawable/custom_button"
    android:text="Help" />

</LinearLayout>

那么到底为什么它不对齐呢?

4

1 回答 1

8

我正要发布这个问题,并做了最后一个实验。我在按钮上添加了第三行文本。这进一步推低了它。但我意识到它的共同点是中间按钮顶行的文本与它两侧的两个按钮的文本完全对齐。

所以并不是说它有内部边距问题,无法将文本压在顶部边框上。对齐是文本,而不是按钮图形。一直以来,我一直认为有一些神秘的 :padding 我并没有消除,但是三行按钮文本很高兴只有大约 1dp 左右的填充。

解决方案是添加

android:layout_gravity="center_vertical"

到那个按钮。我也将它添加到其余部分,只是为了保持一致。

教训:当你认为事情不一致时,也许它们实际上是一致的,但也许你看错了。

于 2013-08-12T13:25:44.000 回答