繁体   English   中英

如何在Android中的其他两个视图之间垂直放置视图?

[英]How to position a view vertically between two other views in android?

我正在为我的应用程序使用相对布局。 我想将一个视图放置在其他两个视图之间。 我没有任何嵌套,我想知道如果没有该嵌套是否可以实现。

我的XML代码很长而且很乱,所以我只发布相关部分。 如果您需要更多,请告诉我:

<Spinner
    android:id="@+id/maze_algorithm_spinner"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_below="@+id/random_textview"
    android:layout_marginTop="40dp"
    android:layout_alignEnd="@+id/play"
    android:entries="@array/maze_generation_array"/>

<TextView
    android:id="@+id/maze_algorithm_textview"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignBottom="@+id/maze_algorithm_spinner"
    android:layout_alignStart="@+id/help"
    android:padding="2dp"
    android:text="@string/maze_algorithm_spinner_text"
    android:background="@android:color/holo_green_light"/>

我基本上是将Choose algorithm文本视图及其微调框垂直放置在“ Random Generation文本视图和“ Driver文本视图之间。

这是我的应用程序屏幕当前的外观:

在此处输入图片说明

如果您将RelativeLayout用作父级,请尝试以下操作:

<RelativeLayout ...>
    <LinearLayout 
       android:id="@+id/random_generation_layout"... (responsible for randomGeneration)
       android:alignParentTop="true" >
       <TextView ... />
       <etc>
    </LinearLayout>

    <LinearLayout 
       android:id="@+id/choose_algo_layout"... (responsible for ChooseAlgorithm)
       android:layout_above="@+id/driver_layout"
       android:layout_below="@+id/random_generation_layout" >
       <TextView ... />
       <etc>
    </LinearLayout>

    <LinearLayout 
       android:id="@+id/driver_layout"... (responsible for driver) 
       android:alignParentBottom="true">
       <TextView ... />
       <etc>
    </LinearLayout>

</RelativeLayout>

希望它能对您有所帮助!

如果您真的不想嵌套,那么您可能想要尝试在两者之间添加两个透明View ,而这两个View元素的高度相同。 所以会像

<RandomGeneration />
<View />
<ChooseAlgorithm />
<View />
<Drive />

另一方面,在不使用额外的View的情况下,当前将维度设置为wrap_content ,您还可以将填充分配给<ChooseAlgorithm /> ,以使顶部填充与底部填充相同。 保证金也是如此。 您可以使用padding或margin,或同时使用两者。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM