gpt4 book ai didi

android - RelativeLayout 占用了所有空间,即使我将其高度设置为 "wrap_content"

转载 作者:行者123 更新时间:2023-11-29 21:02:12 24 4
gpt4 key购买 nike

背景

我在 FrameLayout/RelativeLayout 中有一个 RelativeLayout(对我来说无关紧要),它应该位于屏幕底部(就像一个工具栏),并且应该在其中包含一些 View 。

它的高度设置为“wrap_content”,它的 subview 也是如此。

此布局的 subview 是:左侧的 textView 和右侧的带有几个按钮的 Horizo​​ntal LinearLayout。

问题

似乎无论我做什么,textview 都会导致 RelativeLayout 占据整个空间,而不仅仅是它的子空间。

代码

以下是导致此问题的最少 XML 内容。我已经删除了额外的东西(LinearLayout 及其子项,以及一些无关紧要的属性),因为如果我删除 TextView,它们不会导致此问题:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#FF000000" >

<!-- Here I've put some views that don't have any relation with the views below, so it doesn't have anything with do with the problem -->

<RelativeLayout
android:id="@+id/RelativeLayout1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:background="@drawable/vertical_gradient_transparent_to_black" >

<!-- Here I've put a LinearLayout that doesn't cause the problem, so I've removed it for simplicity-->

<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"/>
</RelativeLayout>

</RelativeLayout>

我已经尝试了很多可能的属性,也尝试了添加额外的布局来试图“欺骗”RelativeLayout,但是这些都没有成功。

问题

为什么会发生?

一个可行的解决方案是使用 Horizo​​ntal LinearLayout (为 TextView 设置一个权重)而不是 RelativeLayout ,但我仍然想知道为什么我不能使用 RelativeLayout 以及为什么会出现这种情况。还有如何在仍然使用 RelativeLayout 的情况下修复它。

最佳答案

来自 RelativeLayout 文档:

Class Overview

A Layout where the positions of the children can be described in relation to each other or to the parent.

Note that you cannot have a circular dependency between the size of the RelativeLayout and the position of its children. For example, you cannot have a RelativeLayout whose height is set to WRAP_CONTENT and a child set to ALIGN_PARENT_BOTTOM

Class documentation

这正是您的情况。 RelativeLayout 不能那样做。

关于android - RelativeLayout 占用了所有空间,即使我将其高度设置为 "wrap_content",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25741537/

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