gpt4 book ai didi

Android 布局权重

转载 作者:IT老高 更新时间:2023-10-28 13:08:34 24 4
gpt4 key购买 nike

我是 Android 开发新手,我有一个关于在线性布局中设置权重的问题。

我正在尝试创建一个包含两个自定义按钮和一个自定义编辑文本的行。编辑文本应该只占用与其内容一样多的空间,并且两个按钮应该水平扩展以填充行中剩余的可用空间。像这样……

| [#Button++#] [#Button--#] [et] |

经过几次尝试,这是我能得到的最接近我想要的东西,尽管它看起来过于复杂。

| [Button] [Button] [###ET###] |

<LinearLayout 
android:orientation="horizontal"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:gravity="center_horizontal|center_vertical"
android:layout_weight="1"
>

<LinearLayout
android:orientation="horizontal"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_weight="1"
android:gravity="center_horizontal|center_vertical"
>
<RelativeLayout
android:id="@+id/btn_plus_container"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
>
<ImageButton
android:layout_height="wrap_content"
android:layout_width="fill_parent"
android:id="@+id/btn_plus"
android:background="@drawable/btn"
android:layout_centerInParent="true"
></ImageButton>
<TextView
android:textColor="#FAFAF4"
android:id="@+id/tv_dice_plus"
android:text="@string/tv_plus"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerInParent="true"
></TextView>
</RelativeLayout>
</LinearLayout>
<LinearLayout
android:orientation="horizontal"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_weight="1"
android:gravity="center_horizontal|center_vertical"
>
<RelativeLayout
android:id="@+id/btn_minus_container"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
>
<ImageButton
android:layout_height="wrap_content"
android:layout_width="fill_parent"
android:id="@+id/btn_minus"
android:background="@drawable/btn"
android:layout_centerInParent="true"
></ImageButton>
<TextView
android:textColor="#FAFAF4"
android:id="@+id/btn_minus"
android:text="@string/tv_minus"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerInParent="true"
></TextView>
</RelativeLayout>
</LinearLayout>
<LinearLayout
android:orientation="horizontal"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_weight="1"
android:gravity="center_horizontal|center_vertical"
>
<EditText
android:textColor="#FAFAF4"
android:text="@string/et_output"
android:id="@+id/et_output"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:inputType="number"
android:selectAllOnFocus="true"
android:minWidth="50sp"
android:maxWidth="50sp"
android:background="@drawable/tv_black_background3"
android:textColorHighlight="#c30505"
></EditText>
</LinearLayout>
</LinearLayout>

据我了解,为按住按钮的线性布局设置 [android:layout_weight="2"] 应该会使它们占用比编辑文本更多的空间,但它对我来说正好相反,使它们都缩小了一半。

| [Btn] [Btn] [#####et#####] |

我尝试了很多不同的组合,我什至不记得它们,但都没有奏效。

最佳答案

它不起作用,因为您使用的是 fill_parent 作为宽度。当总和大于LinearLayout时,权重用于分配剩余的空白空间取走空间。将宽度设置为 0dip 即可。

关于Android 布局权重,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4986861/

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