有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java使安卓 listview布局可滚动

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

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

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

当ImageView和TextView占据屏幕的三分之四以上时,我在显示布局时遇到问题。如何使ImageView和TextView与正在显示的ListView一起滚动?此时,只需滚动ListView,我希望整个布局都可以滚动,就好像它们本身就是一个页面一样

我该怎么做


共 (4) 个答案

  1. # 1 楼答案

    使用带有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. # 2 楼答案

    把ImageView和TextView放到一个布局中,把这个布局放到一个ScrollView中,怎么样

  3. # 3 楼答案

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

  4. # 4 楼答案

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

    类似于

    <ScrollView>
        <LinearLayout>
        // your layout here
        </LinearLayout>
    </ScrollView>
    

    我们需要内部线性布局的原因是ScrollView只能有一个直接子级