android:layout_weight with vertical linearlayout

Eli*_*nja 0 xml layout android

我正在尝试创建一个Android布局,如:

[####的EditText ###] [按钮]

[####列表显示#####]

为此,我正在使用重量,但下面的xml给了我一些非常类似的东西:

[EDITTEXT] [按钮] [ListView的]

有人知道为什么吗?

<?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"
    android:background="@drawable/background"
    android:weightSum="10"
     >

    <EditText android:id="@+id/nova_lista"
        android:inputType="text"
        android:layout_height="wrap_content"
        android:layout_width="0dp"
        android:layout_weight="9"
        android:hint="@string/new_list_hint">

    </EditText>

    <Button android:id="@+id/nova_lista_botao"
        android:layout_height="wrap_content"
        android:layout_width="0dp"
        android:layout_weight="1"
        android:text="@string/new_list"/>

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

</LinearLayout>
Run Code Online (Sandbox Code Playgroud)

anu*_*har 7

您正在使用 android:orientation="vertical"

并且你指定android:layout_width等于0dp.

对于垂直layout layout_height应该是0 dpHorizontal布局layout_width应该是0 dp如果您weight在LinearLayout 中使用.

放入EditTextButton分开Horizontal布局.使用以下代码

<?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"
    android:background="@drawable/background"
     >
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:orientation="horizontal"
    android:weightSum="10"
     >

    <EditText android:id="@+id/nova_lista"
        android:inputType="text"
        android:layout_height="wrap_content"
        android:layout_width="0dp"
        android:layout_weight="9"
        android:hint="@string/new_list_hint">

    </EditText>

    <Button android:id="@+id/nova_lista_botao"
        android:layout_height="wrap_content"
        android:layout_width="0dp"
        android:layout_weight="1"
        android:text="@string/new_list"/>
</LinearLayout>
    <ListView
        android:id="@+id/list_of_lists"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content" >
    </ListView>

</LinearLayout>
Run Code Online (Sandbox Code Playgroud)