Android Layout不会显示我的所有组件

时间:2011-06-17 07:17:07

标签: android layout android-linearlayout

我试图在水平和下方显示EditText和Button我想显示List(ListView)。我试过这个,但它似乎只能看到第一个布局,之后没有别的。

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:padding="1dip"
>  <LinearLayout 
android:orientation="horizontal"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:weightSum="4"> <EditText
android:id="@+id/search_txt"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="3"
/>
<Button 
android:id="@+id/search_button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Go"
android:layout_weight="1"
/> </LinearLayout>  <!-- <EditText
android:id="@+id/testedit_txt"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="3"
/>
--> <ListView android:id="@+id/android:list"
      android:layout_width="wrap_content"
        android:layout_height="wrap_content"/>
<TextView android:id="@+id/text1"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:textAppearance="?android:attr/textAppearanceLarge"    />    <TextView android:id="@+id/text2"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:textAppearance="?android:attr/textAppearanceSmall"    /></LinearLayout>

我也尝试了注释行(EditText),也没有向我显示任何内容...... 任何的想法? 谢谢!

5 个答案:

答案 0 :(得分:0)

添加

layout_weight="1"

进入水平布局。 如果你想看到那些,你需要在底部的TextViews中添加类似的行。

您当前的问题是您将其设置为fill_parent,因此当它到达ListView时,没有可用的空间。

答案 1 :(得分:0)

你正在使用两个嵌套的LinearLayout和fillParent ......你做错了。 你为什么不使用RelativeLayout?

答案 2 :(得分:0)

试试这个:

<LinearLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:padding="1dip">
    <LinearLayout
        android:orientation="horizontal"
        android:layout_width="fill_parent"
        android:weightSum="4"
        android:layout_height="wrap_content">
        <EditText
            android:id="@+id/search_txt"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_weight="3" />
        <Button
            android:id="@+id/search_button"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Go"
            android:layout_weight="1" />
    </LinearLayout>  <!-- <EditText android:id="@+id/testedit_txt" android:layout_width="wrap_content" 
        android:layout_height="wrap_content" android:layout_weight="3" /> -->
    <ListView
        android:id="@+id/android:list"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content" android:layout_weight="1"/>
    <TextView
        android:id="@+id/text1"
        android:layout_width="fill_parent"
        android:textAppearance="?android:attr/textAppearanceLarge"
        android:layout_height="wrap_content"
        android:text="qwe" />
    <TextView
        android:id="@+id/text2"
        android:layout_width="fill_parent"
        android:textAppearance="?android:attr/textAppearanceSmall"
        android:layout_height="wrap_content"
        android:text="qwe" />
</LinearLayout>

答案 3 :(得分:0)

我假设您希望顶部的EditText和Button,底部的两个TextView以及ListView填充中间的可用空间。如果是这种情况,那么您需要调整layout_height并将android:layout_weight="1"添加到ListView:

<?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" android:padding="1dip">
    <LinearLayout android:orientation="horizontal"
        android:layout_width="fill_parent" android:weightSum="4"
        android:layout_height="wrap_content">
        <EditText android:id="@+id/search_txt" android:layout_width="wrap_content"
            android:layout_height="wrap_content" android:layout_weight="3" />
        <Button android:id="@+id/search_button" android:layout_width="wrap_content"
            android:layout_height="wrap_content" android:text="Go"
            android:layout_weight="1" />
    </LinearLayout>  <!-- <EditText android:id="@+id/testedit_txt" android:layout_width="wrap_content" 
        android:layout_height="wrap_content" android:layout_weight="3" /> -->
    <ListView android:id="@+id/android:list" android:layout_width="wrap_content"
        android:layout_height="wrap_content" android:layout_weight="1" />
    <TextView android:id="@+id/text1" android:layout_width="fill_parent"
        android:textAppearance="?android:attr/textAppearanceLarge"
        android:layout_height="wrap_content" />
    <TextView android:id="@+id/text2" android:layout_width="fill_parent"
        android:textAppearance="?android:attr/textAppearanceSmall"
        android:layout_height="wrap_content" />
</LinearLayout>

答案 4 :(得分:0)

试试这个....为我工作:

<?xml version="1.0" encoding="utf-8"?>

<RelativeLayout android:layout_width="fill_parent"
    android:layout_height="fill_parent" xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/pagelayout">

    <FrameLayout android:layout_width="fill_parent"
        android:layout_height="fill_parent" 
        android:id="@+id/content">
        <ListView android:id="@+id/android:list"
      android:layout_width="wrap_content"
        android:layout_height="wrap_content" />
    </FrameLayout>

    <LinearLayout android:layout_height="wrap_content"
        android:id="@+id/button_layout" 
        android:layout_width="fill_parent" android:gravity="center" android:layout_above="@+id/content">

        <Button android:id="@+id/search_button"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Go"
            android:layout_weight="1"
            />

            <EditText>
            android:id="@+id/search_txt"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_weight="3"
            </EditText>
    </LinearLayout>

    </RelativeLayout>
相关问题