gpt4 book ai didi

Android 线性/相对布局 - 如何将 "auto size"对象放在中间(3 个对象)

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

我有两个在 android 中使用线性(也尝试过相对)布局的情况。一个发生在水平方向,另一个发生在垂直方向。让我们从水平开始:

它是这样的:

<LinearLayout ... >   
<Button ... layout:gravity = "left" layout:width = "wrap_content"/>
<TextView ... layout:width = ??????? />
<Image .... layout:gravity = "right" layout:width = "wrap_content"/>
</LinearLayout>

好吧,我希望按钮保持在左侧,图像保持在右侧(坚持到最后,而不仅仅是 TextView 的右侧)和 TextView (可能带有自动宽度或其他)保持在中间。如果我输入 textview width = "fill/match_parent,它会将图像发送到屏幕外。如果我输入 wrap_content,则图像不会停留在屏幕右侧。我也尝试过相对布局但没有成功。

vertical 中的相同情况,我有类似的东西:

<LinearLayout ...>
<LinearLayout .... layout:height = "wrap_content" layout:gravity= "top" />
<ListView layout:height = ???????>
<LinearLayout ... layout:height = "wrap_content" layout:gravity = "bottom" />
</LinearLayout>

此处要求相同。我希望第一个 L.layout 保持在顶部, ListView 在它们之间自动调整大小,第二个线性布局保持在底部。 (想象一下,我正在尝试创建一个看起来像 iPhone 中的 UITableView 的 View ,它有一个 NavigationBar、项目列表和底部的 ToolBar。第一个 LinearLayout 是 NavigationBar,LIst View 是单元格,第二个 LinearLayout 是工具栏)。

有什么建议吗?更喜欢 xml 解决方案。

最佳答案

这里我们可以简单地使用 RelativeLayout 来完成。

水平对齐

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

<Button
android:id="@+id/button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="something"
/>

<TextView
android:id="@+id/text"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_toLeftOf="@+id/image"
android:layout_toRightOf="@+id/button" />

<ImageView
android:id="@+id/image"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:background="@drawable/icon" />
</RelativeLayout>

垂直对齐

  <LinearLayout
android:id="@+id/linear_top"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />

<ListView
android:id="@+id/text"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/linear_top"
android:layout_above="@+id/linear_bottom" />

<LinearLayout
android:id="@+id/image"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true" />
</RelativeLayout>

关于Android 线性/相对布局 - 如何将 "auto size"对象放在中间(3 个对象),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11790225/

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