gpt4 book ai didi

android - 使用 layout_gravity ="bottom"放置在 LinearLayout 的底部

转载 作者:塔克拉玛干 更新时间:2023-11-02 07:53:14 24 4
gpt4 key购买 nike

我想在 LinearLayout 的底部放置一个布局,但我似乎无法让它工作。我知道我可以使用 RelativeLayout 来执行此操作,但我应该可以使用 LinearLayout,不是吗?

编辑: 实际上这比我想象的更令人困惑。下面的布局被简化了。实际上,我在具有兼容层的 3.0 之前的设备上使用 fragment 。

我使用 Hierarchy Viewer 检查发生了什么,发现我的布局中添加了 android.support.v4.app.NoSaveStateFrameLayout,并且该布局的 layout_height 设置为 wrap_content。这似乎是导致我出现问题的原因,但我还没有想出如何解决它。

具体来说,为什么这行不通? layout_gravity 不应该把它放在底部吗?

<LinearLayout
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent">

... stuff here ...

<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_gravity="bottom"
android:orientation="horizontal">

... more stuff here ...

</LinearLayout>
</LinearLayout>

顺便说一句,将 layout_height 更改为 fill_parent 或设置 layout_weight 似乎也不起作用。我只是想更好地了解发生了什么,因为显然我遗漏了一些重要的东西。谢谢。

最佳答案

首先是个好问题。

在这种情况下,我们可以说 Android 的行为很奇怪。

如果您选择了父线性布局的水平方向,那么您可以通过设置其 layoug_gravity=bottom 将其子组件设置在底部。假设您在该水平线性布局中添加了 2 个 TextView ,并且第二个 TextView 的 layout_gravity 位于底部,那么它将设置为底部,但它的工作方式就像它被设置在其他列的底部,然后是第一个 TextView 。 注意:您可以设置textview的layout_gravity = "left"or "right"当它的parent linearlayout是水平的但是你看不到它的结果。

相反,如果您选择了父线性布局的方向垂直,那么您可以使用 layout_gravity 将其子组件设置在左侧或右侧。但是第二个 TextView 将显示在你可以说下一行与你设置的左重力或右重力。 注意当线性布局为垂直但您看不到其结果时,您可以设置textview的layout_gravity = "top"or "bottom"。

尝试按照我上面所说的那样制作示例 xml 设计,以便您获得更好的想法。

奇怪但真实!!!尝试理解这种行为。 :)

关于android - 使用 layout_gravity ="bottom"放置在 LinearLayout 的底部,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6875284/

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