线性布局:如何填充整个屏幕宽度?

时间:2016-08-11 15:39:22

标签: android xml android-layout android-linearlayout

我遵循布局文件,在相对布局中创建线性布局。

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="fill_parent"
android:layout_height="match_parent"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
android:paddingBottom="@dimen/activity_vertical_margin"
tools:context=".MainActivity"
android:background="#eeeeee">

<LinearLayout            // I want this to fill the whole width of screen.
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:paddingTop="50px"
    android:background="#666666"


    >

    <EditText
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:id="@+id/newEvent"
        android:hint="Enter the Name of Event"
        android:layout_below="@+id/textView2"
        android:layout_alignParentStart="true" />


    <Button
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="Select Location"
    android:id="@+id/pickerButton"
    android:layout_alignTop="@+id/newEvent"
    android:layout_toEndOf="@+id/newEvent" />



</LinearLayout>

<Button
    style="?android:attr/buttonStyleSmall"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="Set Remainder"
    android:id="@+id/submit"
    android:layout_centerVertical="true"
    android:layout_centerHorizontal="true" />

<Button
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="View All"
    android:id="@+id/view"
    android:layout_below="@+id/submit"
    android:layout_centerHorizontal="true"
    android:layout_marginTop="68dp" />

<TextView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="Your Location Will Appear Here"
    android:id="@+id/textView4"

    android:layout_above="@+id/submit"
    android:layout_centerHorizontal="true"
    android:layout_marginBottom="48dp" />

</RelativeLayout>

使用此代码,我得到以下布局:

enter image description here

但是在灰色的左侧,右侧和顶部留有空格(线性布局)。我不想要这些空间。我想用灰色填充整个宽度。我应该在xml中做出哪些更改才能实现此目标?

提前致谢!

修改

感谢您的回答。但解决了这个问题后,我的灰色框底部出现了我的文本框和按钮,如下图所示:

enter image description here

为此,我们已经尝试过"android:gravity="center_horizontal""android:gravity="center_vertical""android:gravity="center"。我也试过padding-bottom

但这不起作用。

3 个答案:

答案 0 :(得分:0)

删除

android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
来自父RelativeLayout

<LinearLayout            
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:paddingTop="50px"
    android:background="#666666"  
    android:orientation="horizontal"
    android:gravity="center_vertical"
    >

    <EditText
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:id="@+id/newEvent"
        android:hint="Enter the Name of Event"
        android:layout_gravity="center_vertical" />


    <Button
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Select Location"
        android:id="@+id/pickerButton"
        android:layout_gravity="center_vertical" />



</LinearLayout>

答案 1 :(得分:0)

更改相对布局的顶部部分:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".MainActivity"
    android:background="#eeeeee">

修改

像这样更改LinearLayout:

<RelativeLayout          
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:paddingTop="50px"
    android:background="#666666">

    <LinearLayout          
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_centerVertical="true"
        android:orientation="horizontal">

        <EditText
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:id="@+id/newEvent"
            android:hint="Enter the Name of Event" />

        <Button
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Select Location"
            android:id="@+id/pickerButton" />

    </LinearLayout>
</RelativeLayout>

答案 2 :(得分:0)

在LinearLayout中你使用的是android:paddingTop =“50px”。而是使用每个顶部和底部填充25px。