【问题标题】:layout_alignBottom aligns center instead of bottom布局对齐底部对齐中心而不是底部
【发布时间】:2017-02-16 17:45:48
【问题描述】:

我试图让 TextView 和 EditText 的底部在 RelativeLayout 内对齐(可能不是像素,而是接近)。但是 layout_alignBottom 似乎对齐了他们的中心线而不是他们的底部:

我也尝试了 layout_alignBaseline,但结果是 EditText 没有显示在屏幕上。我也在调整填充方面做出了各种努力,但并没有改变任何东西。这似乎应该很容易并且是一个常见问题,但我在谷歌上找不到任何东西。任何帮助将不胜感激。

谢谢。

<TextView
    android:id="@+id/firstNameLabel"
    android:layout_marginTop="20dp"
    android:layout_marginRight="24dp"
    android:layout_alignParentLeft="true"
    android:layout_alignParentTop="true"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="First Name" />

<EditText
    android:layout_toRightOf="@+id/firstNameLabel"
    android:layout_alignBottom="@+id/firstNameLabel"
    android:id="@+id/firstName"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    />

【问题讨论】:

    标签: android alignment android-relativelayout


    【解决方案1】:

    试试这个。

    <RelativeLayout
        android:layout_width="wrap_content"
        android:layout_height="wrap_content">
        <TextView
            android:id="@+id/firstNameLabel"
            android:layout_marginRight="24dp"
            android:layout_alignParentBottom="true"
            android:layout_alignParentLeft="true"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_centerVertical="true"
            android:text="First Name"
            android:textSize="20sp"/>
    
        <EditText
             android:layout_toRightOf="@+id/firstNameLabel"
             android:layout_alignParentBottom="true"
             android:id="@+id/firstName"
             android:hint="YO BABY"
             android:layout_centerVertical="true"
             android:layout_width="match_parent"
             android:layout_height="wrap_content"/>
    </RelativeLayout>
    

    希望这会有所帮助。

    【讨论】:

    • 对 TextView 使用 android:layout_centerVertical="true" 可以改善这种情况,因为它们不再完全居中排列。我仍然想知道是否有办法将它们排列得更近。在 RelativeLayout 中更准确地垂直排列元素似乎是一种常见的情况。
    • 您要对齐底部还是中心?
    • 我要对齐底部。
    • 尝试减少TextView中的android:layout_marginRight="24dp"。他们会越来越近。
    • 边距右影响水平对齐;我的问题是垂直对齐。
    【解决方案2】:

    从代码中移除顶部边距并检查

    【讨论】:

    • 谢谢,但是这两个元素相对于彼此的垂直对齐没有任何区别。
    【解决方案3】:

    造成这种情况的原因是 EditText 比 textview 大。检查包含两者的布局并将重力设置为“center”或“center_vertical”。

    编辑:如果您使用的是RelativeLayout,您可能应该使用“layout_centerVertical”或“layout_centerInParent”来代替

    【讨论】:

    • 我不想让元素在容器中垂直居中。我将它们放在顶部并尝试将它们垂直对齐。
    • 啊...在这种情况下,您可能可以使用其他布局。将两个视图包裹在另一个布局中,将其与顶部对齐,同时使视图居中。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-03-18
    • 1970-01-01
    • 2022-01-15
    • 2016-12-03
    • 2012-07-02
    • 2020-07-16
    • 1970-01-01
    相关资源
    最近更新 更多