LinearLayout无法渲染

时间:2013-05-17 16:23:10

标签: android xml android-layout android-linearlayout android-view

我想创建一个登录屏幕。我希望将标题放在顶部,留出一些空格,然后将用户名和密码分别放在一行中。然后,我想在底部留下更多的空白区域。

目前,我还没有尝试将密码TextView和EditTect放在一行中,因为与用户名相对应的LinearLayout存在一些错误,因为它没有呈现。你能帮帮我解决一下吗?我的XML文件位于 -

之下
<?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:background="#ffffff"
    android:orientation="vertical" >

    <TextView
        android:id="@+id/textView1"
        android:layout_width="fill_parent"
        android:layout_height="0px"
        android:layout_weight="2"
        android:gravity="center_horizontal"
        android:text="@string/welcome_message"
        android:textSize="20sp" />



    <View
        android:layout_width="fill_parent"
        android:layout_height="0sp"
        android:layout_weight="4" />

    <LinearLayout
        android:layout_width="fill_parent"
        android:layout_height="0sp"
        android:layout_weight="4"
        android:orientation="horizontal" >

        <TextView
            android:layout_width="wrap_content"
            android:layout_height="match_parent"
            android:text="User Name" />

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

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="0sp"
        android:layout_weight="1"
        android:text="Password" />

    <EditText
        android:layout_width="fill_parent"
        android:layout_height="0sp"
        android:layout_weight="1"
        android:inputType="textPassword" />

    <View
        android:layout_width="fill_parent"
        android:layout_height="0sp"
        android:layout_weight="4" />

</LinearLayout>

2 个答案:

答案 0 :(得分:3)

看看你在寻找什么:

    <?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:background="#ffffff"
    android:orientation="vertical" >

    <View
        android:layout_width="fill_parent"
        android:layout_height="0sp"
        android:layout_weight="0.5" />

    <LinearLayout
        android:layout_width="fill_parent"
        android:layout_height="0sp"
        android:layout_weight="3"
        android:orientation="vertical" >

        <TextView
            android:id="@+id/textView1"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:gravity="center_horizontal"
            android:text="welcome_message"
            android:textSize="20sp" />
    </LinearLayout>

    <LinearLayout
        android:layout_width="fill_parent"
        android:layout_height="0sp"
        android:layout_weight="1" >

        <TextView
            android:id="@+id/text_login"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:layout_marginLeft="5dp"
            android:layout_weight="1"
            android:lines="1"
            android:text="Login:"
            android:textSize="13dp" />

        <EditText
            android:id="@+id/edt_login"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:layout_marginRight="5dp"
            android:layout_weight="0.2"
            android:ems="10" />
    </LinearLayout>

    <LinearLayout
        android:layout_width="fill_parent"
        android:layout_height="0sp"
        android:layout_weight="4" >

        <TextView
            android:id="@+id/text_senha"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:layout_marginLeft="5dp"
            android:layout_weight="1"
            android:maxLines="1"
            android:text="Senha:" />

        <EditText
            android:id="@+id/edt_senha"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_marginRight="5dp"
            android:layout_weight="0.2"
            android:ems="10"
            android:inputType="textPassword" />
    </LinearLayout>

    <View
        android:layout_width="fill_parent"
        android:layout_height="0sp"
        android:layout_weight="0.5" />

</LinearLayout>

答案 1 :(得分:1)

使用布局边距和填充设置为视图留出空间。 我建议使用相对布局

<?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:background="#ffffff"
    android:orientation="vertical" >

    <TextView
        android:id="@+id/textView1"
        android:layout_width="fill_parent"
        android:layout_height="0px"
        android:layout_weight="2"
        android:layout_marginTop="30dip"
        android:gravity="center_horizontal"
        android:text="welcome_message"
        android:textSize="20sp" />



    <View
        android:layout_width="fill_parent"
        android:layout_height="0sp"
        android:layout_weight="4" />

    <LinearLayout
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_weight="4"
        android:padding="10dip"
        android:weightSum="2"
        android:orientation="horizontal" >

        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:text="User Name" />

        <EditText
            android:layout_width="wrap_content" android:layout_weight="1"
            android:layout_height="wrap_content" />
    </LinearLayout>

    <LinearLayout
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_weight="4"
        android:padding="10dip"
        android:weightSum="2"
        android:orientation="horizontal" >

        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:text="Password" />

        <EditText
            android:layout_width="wrap_content" android:layout_weight="1"
            android:layout_height="wrap_content" />
    </LinearLayout>

</LinearLayout>