gpt4 book ai didi

java - 如何制作固定的XML布局?

转载 作者:行者123 更新时间:2023-12-01 14:45:21 29 4
gpt4 key购买 nike

我有两种布局。实际上 5、3 个垂直的一个在另一个下面,在中间一个我有 2 个并排的布局。我需要它们的大小是固定的,所以它们确实会改变。但是,一旦我在其中一个按钮上放置一个按钮,它们就会改变大小,如下图所示。怎样才能让他们不改变呢?不管怎样,这是我的代码和图片。

Layout One Layout Two

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:weightSum="20" >

<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:layout_weight="3" >
</LinearLayout>

<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="15"
android:orientation="horizontal" >

<LinearLayout
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:orientation="vertical"
android:layout_weight="1" >
</LinearLayout>

<LinearLayout
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:orientation="vertical"
android:layout_weight="1" >
</LinearLayout>

</LinearLayout>

<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:layout_weight="2" >
</LinearLayout>

</LinearLayout>

最佳答案

尝试将两个内部布局更改为:

选项#1:这将修复水平布局,而不是垂直布局

<LinearLayout
android:layout_width="0dp"
android:layout_height="match_parent"
android:orientation="vertical"
android:layout_weight="50" >
</LinearLayout>

<LinearLayout
android:layout_width="0dp"
android:layout_height="match_parent"
android:orientation="vertical"
android:layout_weight="50" >
</LinearLayout>

选项#2:这将修复两个方向的布局

使用带有嵌套权重的LinearLayouts效率非常低。相反,将 Root View 更改为 RelativeLayout 并去掉权重。 请注意,这不是 100% 完整的解决方案,但它肯定能让您入门。这会将第一个 LinearLayout 放在布局的顶部,最后一个 LinearLayout 位于布局的底部。中间的始终位于顶 View 下方和底 View 下方。

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent">

<LinearLayout android:id="@+id/top"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:orientation="vertical">
</LinearLayout>

<LinearLayout android:id="@+id/middle"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/top"
android:layout_above="@+id/bottom"
android:orientation="horizontal" >

<LinearLayout
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:orientation="vertical"
android:layout_weight="1" >
</LinearLayout>

<LinearLayout
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:orientation="vertical">
</LinearLayout>

</LinearLayout>

<LinearLayout android:id="@+id/bottom"
android:layout_alignParentBottom="true"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
</LinearLayout>
</RelativeLayout>

关于java - 如何制作固定的XML布局?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15478079/

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