Android开发 - 图形布局与实际XML不同

时间:2012-07-20 01:34:08

标签: android android-layout android-emulator

好的,我快速创建了一个包含以下内容的XML文件:

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

    <ScrollView
        android:id="@+id/scrollView1"
        android:layout_width="match_parent"
        android:layout_height="match_parent" >

        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="match_parent" >

            <TextView
                android:id="@+id/textView1"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:gravity="center"
                android:text="Text View 1"
                android:textSize="30dp" />

            <ListView
                android:id="@+id/listView1"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                >
            </ListView>

                        <TextView
                android:id="@+id/textView2"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:gravity="center"
                android:text="Text View 2"
                android:textSize="30dp" />


            <ListView
                android:id="@+id/listView2"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                >
            </ListView>

                <TextView
                android:id="@+id/textView3"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:gravity="center"
                android:text="Text View 3"
                android:textSize="30dp" />


            <ListView
                android:id="@+id/listView3"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                >
            </ListView>

        </LinearLayout>

    </ScrollView>

</LinearLayout> 

问题是,当我点击“图形布局”标签时,为什么它看起来如此不同?我想象的图形布局看起来基本上就是3个标签正好在彼此之下(这是因为我设置了所有内容以包装内容,并且因为ListView中没有任何项目,所以我认为它不会'甚至是可见的)。但无论如何,图形布局显示它是:

Graphical Layout

我不确定这是否正确,如果我运行它会看起来像我想象的那样?我基本上想要(1个ScrollView内部的所有内容)3个TextView,以及每个TextView后面的1个ListView。所以布局看起来像这样:

ScrollView
TextView
ListView
TextView
ListView
TextView
ListView
End of ScrollView

与上面显示的布局完全相同的东西。有人可以告诉我我的XML文件中有什么错误,其他所有标签都没有显示在其上吗?

注意:当我点击侧面的组件时,似乎有些事情正在发生变化。 (当我尝试点击TextView2(试图搜索蓝色边界框)时,似乎TextView1标签被推了一下,第二个TextView仍然不可见。如果有人可以帮我实现布局我想,非常感谢。

1 个答案:

答案 0 :(得分:1)

编辑:看看这种方法。

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

    <ScrollView 
        android:id="@+id/scrollView1"
        android:layout_width="match_parent"
        android:layout_height="wrap_content" >

        <TextView
            android:id="@+id/textView1"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:gravity="center"
            android:text="Text View 1"
            android:textSize="30dp" /> 


    </ScrollView>            

    <ScrollView 
        android:id="@+id/scrollView2"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_below="@id/scrollView1">

        <TextView
            android:id="@+id/textView2"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:gravity="center"
            android:text="Text View 2"
            android:textSize="30dp" /> 


    </ScrollView>



   <ScrollView 
        android:id="@+id/scrollView3"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_below="@id/scrollView2" >

        <TextView
            android:id="@+id/textView3"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:gravity="center"
            android:text="Text View 3"
            android:textSize="30dp" /> 


    </ScrollView>

</RelativeLayout>

至于ListView,您不应该在ListView内放置ScrollView。以下是您不应将ListView置于ScrollView内的原因的解释:Listview inside ScrollView