gpt4 book ai didi

android - 将 View 的顶部与 RelativeLayout 中另一个 View 的底部对齐

转载 作者:塔克拉玛干 更新时间:2023-11-02 19:20:18 46 4
gpt4 key购买 nike

如何对齐 View顶到另一个View的底部?我需要两个 View ,一个在另一个之上。我通过简单的 android:layout_below="id_of_the_top_view" 实现了正确的垂直位置,但我无法对齐 View水平。我想要 android:layout_alignTopToBottomOf="id_of_the_top_view" ,或者一般来说让我对齐 View 的东西中心(水平或垂直)到另一个View中心。

<RelativeLayout
android:layout_width="fill_parent"
android:layout_height="fill_parent" >

<!-- center picker @ minutes -->
<NumberPicker
android:id="@+id/npicker_minutes"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerInParent="true"
android:layout_marginLeft="20dp"
android:layout_marginRight="20dp" />

<!-- left picker @ hours -->
<NumberPicker
android:id="@+id/npicker_hours"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerVertical="true"
android:layout_toLeftOf="@id/npicker_minutes" />

<!-- right picker @ seconds -->
<NumberPicker
android:id="@+id/npicker_seconds"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerVertical="true"
android:layout_toRightOf="@id/npicker_minutes" />

<TextView
android:id="@+id/tv_minutes"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:layout_below="@id/npicker_minutes"
android:layout_marginTop="20dp"
android:paddingBottom="15dp"
android:text="@string/minutes_short" />

<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@id/npicker_hours"
android:layout_toLeftOf="@id/tv_minutes"
android:layout_marginTop="20dp"
android:paddingBottom="15dp"
android:text="@string/hours_short" />

<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@id/npicker_seconds"
android:layout_toRightOf="@id/tv_minutes"
android:layout_marginTop="20dp"
android:paddingBottom="15dp"
android:text="@string/seconds_short" />

</RelativeLayout>

我得到的是: enter image description here

而我需要实现的是三个 TextView s(“hh”、“mm”和“ss”),分别放置在一个数字选择器下方,TextView 的水平中心与 NumberPicker 的水平中心对齐.

最佳答案

您需要将此行添加到您的 TextViews:

android:layout_alignLeft="@id/npicker_minutes"
android:layout_alignRight="@id/npicker_minutes"
android:gravity="center_horizontal"

完整的代码示例:

<!-- center picker @ minutes -->

<NumberPicker
android:id="@+id/npicker_minutes"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerInParent="true"
android:layout_marginLeft="20dp"
android:layout_marginRight="20dp" />

<!-- left picker @ hours -->

<NumberPicker
android:id="@+id/npicker_hours"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerVertical="true"
android:layout_toLeftOf="@id/npicker_minutes" />

<!-- right picker @ seconds -->

<NumberPicker
android:id="@+id/npicker_seconds"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerVertical="true"
android:layout_toRightOf="@id/npicker_minutes" />

<TextView
android:id="@+id/tv_minutes"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignLeft="@id/npicker_minutes"
android:layout_alignRight="@id/npicker_minutes"
android:gravity="center_horizontal"
android:layout_below="@id/npicker_minutes"
android:layout_marginTop="20dp"
android:paddingBottom="15dp"
android:text="@string/minutes_short" />

<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignLeft="@+id/npicker_hours"
android:layout_alignRight="@+id/npicker_hours"
android:gravity="center_horizontal"
android:layout_below="@id/npicker_hours"
android:layout_marginTop="20dp"
android:paddingBottom="15dp"
android:text="@string/hours_short" />

<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignLeft="@id/npicker_seconds"
android:layout_alignRight="@id/npicker_seconds"
android:gravity="center_horizontal"
android:layout_below="@id/npicker_seconds"
android:layout_marginTop="20dp"
android:paddingBottom="15dp"
android:text="@string/seconds_short" />

另一种方法是使用树形 LinearLayouts,每个内部都有一个 NumberPicker 和一个 TextView。

关于android - 将 View 的顶部与 RelativeLayout 中另一个 View 的底部对齐,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15185636/

46 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com