使android listview布局可滚动

时间:2010-11-30 05:13:22

标签: java android user-interface listview layout

我有一个xml文件,其格式为ASCII格式:

---------------
| ImageView
--------------
| TextView
--------------
| List...
--------------

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:myapp="http://schemas.android.com/apk/res/com.some.app"
 android:orientation="vertical" android:layout_width="fill_parent"
 android:layout_height="fill_parent">
<ImageView 
android:id="@+id/MovieCover"
android:layout_width="100dip"
android:layout_height="100dip"
/> 
 <TextView
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:textSize="16sp"
    android:padding="10dp"
    android:id="@+id/TextHeader"
    android:background="#000000">
</TextView>
<ListView android:id="@+id/ListView02" android:layout_height="wrap_content"
 android:layout_width="fill_parent">
 </ListView>
 </LinearLayout>

当我的ImageView和TextView占据屏幕的3/4以上时,显示布局时出现问题。如何使用正在显示的ListView使ImageView和TextView可滚动?此时,只有要滚动的ListView,我希望整个布局可以滚动,就好像它们是一个页面一样。

我该怎么做?

4 个答案:

答案 0 :(得分:3)

您可以使用<ScrollView>作为布局容器

中的某些内容
<ScrollView>
    <LinearLayout>
    // your layout here
    </LinearLayout>
</ScrollView>

我们内部需要LinearLayout的原因是ScrollView只能有一个直接子项

答案 1 :(得分:1)

Butter使用两个LinearLayout和layoutweight="1"并将ScrollView放在一个而listview放在其他

<LinearLayout android:layout_weight="1"
        android:layout_height="fill_parent" android:layout_width="fill_parent">
        <ScrollView android:layout_width="fill_parent"
            android:layout_height="fill_parent">
            <LinearLayout android:orientation="vertical"
                android:layout_width="fill_parent"            
                                android:layout_height="fill_parent">

                          <!-- scroll view content -->
            </LinearLayout>
        </ScrollView>
    </LinearLayout>
    <LinearLayout android:layout_weight="1"
        android:layout_height="fill_parent" android:layout_width="fill_parent">
        <ListView android:id="@+id/ListView02" android:layout_height="wrap_content"
            android:layout_width="fill_parent">
        </ListView>
    </LinearLayout>

答案 2 :(得分:1)

ListView具有addtoHeader和addtoFooter功能。创建一个单独的布局并将其添加到ListView的标题中。在您的情况下,进行imageview和textview的相对布局,并将其添加到listview的标题中。整个页面将开始滚动。

答案 3 :(得分:0)

如何将ImageView和TextView放在布局中并将此布局放在ScrollView中。?