Android-android如何让控件摆放在屏幕底部?

Android-android如何让控件摆放在屏幕底部?

想挽留 发布于 2017-05-12 字数 1094 浏览 1191 回复 4

代码如下

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

<TextView android:text="@string/welcome"
android:id="@+id/TextView"
android:layout_width="fill_parent"
android:layout_height="wrap_content">
</TextView>

<LinearLayout android:id="@+id/LinearLayout"
android:orientation="horizontal"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="bottom">

<EditText android:id="@+id/EditText"
android:layout_width="fill_parent"
android:layout_height="wrap_content">
</EditText>

<Button android:text="@string/label_submit_button"
android:id="@+id/Button"
android:layout_width="wrap_content"
android:layout_height="wrap_content">
</Button>

</LinearLayout>

</LinearLayout>

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

甜柠檬 2017-11-06 4 楼

这个问题还是比较适合通过weight处理,如果你仅仅想让输入框那一行在下面,并且宽度随意增加,或者仅仅想让按钮显示出来,那么就不要设置weight比例,直接就是 1:0 就好了,具体代码见下面:

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

<TextView android:text="welcome" 
android:id="@+id/TextView" 
android:layout_width="fill_parent" 
android:layout_height="0dip"
android:layout_weight="1">
</TextView>

<LinearLayout android:id="@+id/LinearLayout" 
android:orientation="horizontal"
android:layout_width="fill_parent" 
android:layout_height="wrap_content"
android:layout_weight="0">

<EditText android:id="@+id/EditText" 
android:layout_width="0dip" 
android:layout_height="wrap_content"
android:layout_weight="1">
</EditText>

<Button android:text="label_submit_button" 
android:id="@+id/Button" 
android:layout_width="wrap_content" 
android:layout_height="wrap_content"
android:layout_weight="0">
</Button>

</LinearLayout>
</LinearLayout>
晚风撩人 2017-10-19 3 楼

你的代码的地17行改为

 android:layout_gravity="bottom">

可以达到,EditText和Button在最下边显示;

在<EditText/>中加入一行

 android:layout_weight="1"

可以让你的EditText最大显示

瑾兮 2017-09-08 2 楼

有好几种方式,我提供一种通过设置weight的方式吧。请看代码:

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

<TextView
android:id="@+id/TextView"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_weight="1"
android:text="@string/hello" >
</TextView>

<LinearLayout
android:id="@+id/LinearLayout"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_gravity="bottom"
android:layout_weight="8"
android:orientation="horizontal"
>

<EditText
android:id="@+id/EditText"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_weight="1" >
</EditText>

<Button
android:id="@+id/Button"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="test"
android:gravity="center"
android:layout_weight="7" >
</Button>
</LinearLayout>
</LinearLayout>

夜无邪 2017-08-28 1 楼

我也找到一种,用 Relative Layout,属性设置成 android:layout_alignParentBottom="true"

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

<TextView 
android:text="@string/welcome" 
android:id="@+id/TextView"
android:layout_width="fill_parent" 
android:layout_height="wrap_content"
android:layout_alignParentTop="true">
</TextView>

<RelativeLayout 
android:id="@+id/InnerRelativeLayout"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true" >

<Button 
android:text="@string/label_submit_button" 
android:id="@+id/Button"
android:layout_alignParentRight="true" 
android:layout_width="wrap_content"
android:layout_height="wrap_content">
</Button>

<EditText 
android:id="@+id/EditText" 
android:layout_width="fill_parent"
android:layout_toLeftOf="@id/Button"
android:layout_height="wrap_content">
</EditText>

</RelativeLayout>

</RelativeLayout>