使LinearLayout中的控件不填充所有空间(Make the control in LinearLayout not to fill all the space)

编程入门 行业动态 更新时间:2024-10-11 15:14:46
使LinearLayout中的控件不填充所有空间(Make the control in LinearLayout not to fill all the space)

我有这样的布局:

<LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="horizontal" android:layout_weight="1" > <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="fsfsdfds" android:layout_gravity="center_vertical" /> <EditText android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center_vertical" /> </LinearLayout> <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="horizontal" android:layout_weight="1" > <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="fdsfdsfds" android:layout_gravity="center_vertical" /> <EditText android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center_vertical" /> </LinearLayout> <Button android:layout_width="match_parent" android:layout_height="wrap_content" />

它填补了活动的整个空间。

如何使这两个TextViews和EditTexts只占用足够的空间来展示自己(不填充所有空间)并将按钮对齐到底部?

I have a layout like this:

<LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="horizontal" android:layout_weight="1" > <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="fsfsdfds" android:layout_gravity="center_vertical" /> <EditText android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center_vertical" /> </LinearLayout> <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="horizontal" android:layout_weight="1" > <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="fdsfdsfds" android:layout_gravity="center_vertical" /> <EditText android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center_vertical" /> </LinearLayout> <Button android:layout_width="match_parent" android:layout_height="wrap_content" />

It fill the whole space of the activity.

How can I make these 2 TextViews and EditTexts take only space enough to show themselves (not fill all the space) and align the button to the bottom?

最满意答案

我想这就是你要找的东西:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent"> <LinearLayout android:id="@+id/LinearLayout1" android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="horizontal"> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center_vertical" android:text="TextView1" /> <EditText android:layout_width="0dp" android:layout_height="wrap_content" android:layout_gravity="center_vertical" android:layout_weight="1" android:inputType="text" /> </LinearLayout> <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_below="@id/LinearLayout1" android:orientation="horizontal"> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center_vertical" android:text="TextView2" /> <EditText android:layout_width="0dp" android:layout_height="wrap_content" android:layout_gravity="center_vertical" android:layout_weight="1" android:inputType="text" /> </LinearLayout> <Button android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_alignParentBottom="true" android:text="Button" /> </RelativeLayout>

编辑:

如果您不想使用两个LinerLayouts(因此获得更高的性能),您可以执行以下操作:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent"> <TextView android:id="@+id/TextView1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignBaseline="@id/EditText1" android:layout_gravity="center_vertical" android:text="TextView1" /> <EditText android:id="@+id/EditText1" android:layout_width="0dp" android:layout_height="wrap_content" android:layout_alignParentEnd="true" android:layout_alignParentRight="true" android:layout_gravity="center_vertical" android:layout_toEndOf="@id/TextView1" android:layout_toRightOf="@id/TextView1" android:inputType="text" /> <TextView android:id="@+id/TextView2" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignBaseline="@id/EditText2" android:layout_below="@id/TextView1" android:layout_gravity="center_vertical" android:text="TextView2" /> <EditText android:id="@+id/EditText2" android:layout_width="0dp" android:layout_height="wrap_content" android:layout_alignParentEnd="true" android:layout_alignParentRight="true" android:layout_below="@id/EditText1" android:layout_gravity="center_vertical" android:layout_toEndOf="@id/TextView2" android:layout_toRightOf="@id/TextView2" android:inputType="text" /> <Button android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_alignParentBottom="true" android:text="Button" /> </RelativeLayout>

I think this is what you're looking for :

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent"> <LinearLayout android:id="@+id/LinearLayout1" android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="horizontal"> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center_vertical" android:text="TextView1" /> <EditText android:layout_width="0dp" android:layout_height="wrap_content" android:layout_gravity="center_vertical" android:layout_weight="1" android:inputType="text" /> </LinearLayout> <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_below="@id/LinearLayout1" android:orientation="horizontal"> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center_vertical" android:text="TextView2" /> <EditText android:layout_width="0dp" android:layout_height="wrap_content" android:layout_gravity="center_vertical" android:layout_weight="1" android:inputType="text" /> </LinearLayout> <Button android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_alignParentBottom="true" android:text="Button" /> </RelativeLayout>

EDIT :

If you don't want to use the two LinerLayouts (and therefore gain even more performance), you can do the following :

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent"> <TextView android:id="@+id/TextView1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignBaseline="@id/EditText1" android:layout_gravity="center_vertical" android:text="TextView1" /> <EditText android:id="@+id/EditText1" android:layout_width="0dp" android:layout_height="wrap_content" android:layout_alignParentEnd="true" android:layout_alignParentRight="true" android:layout_gravity="center_vertical" android:layout_toEndOf="@id/TextView1" android:layout_toRightOf="@id/TextView1" android:inputType="text" /> <TextView android:id="@+id/TextView2" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignBaseline="@id/EditText2" android:layout_below="@id/TextView1" android:layout_gravity="center_vertical" android:text="TextView2" /> <EditText android:id="@+id/EditText2" android:layout_width="0dp" android:layout_height="wrap_content" android:layout_alignParentEnd="true" android:layout_alignParentRight="true" android:layout_below="@id/EditText1" android:layout_gravity="center_vertical" android:layout_toEndOf="@id/TextView2" android:layout_toRightOf="@id/TextView2" android:inputType="text" /> <Button android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_alignParentBottom="true" android:text="Button" /> </RelativeLayout>

更多推荐

本文发布于:2023-07-28 03:53:00,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1299880.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:控件   空间   LinearLayout   space   fill

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!