ListView prob - Android

时间:2014-02-05 20:41:45

标签: android android-layout listview android-listview

所以,最近我一直试图为我的应用程序制作布局。我基本上需要一个TextView,一个ImageView,然后一个ListView和一个多行TextView。因此,ListView的所有内容都是完全可见的。在屏幕的底部有ListView,1.5元素可见,列表本身可以滚动。但是,它下面没有TextView的痕迹,而且只有ListView的一小部分是可见的这一事实令人讨厌。但是,我的ListView应该包含最多6-8个元素,所以是否有任何简单的技巧可以将ScrollView作为所有这些的父级并使我的ListView和TextView完全可见?类似于修复ListView的大小,以便它不必滚动并在进入ScrollView时导致该问题,我已经阅读了大约一千次?提前致谢!希望有人会帮助因为我迫切需要这个。我是Android开发的初学者,但到目前为止做得很好。再次感谢。

编辑:所以,这就是我所做的:

<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent" >

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

        <TextView
            android:id="@+id/tvTitle"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="center"
            android:layout_marginTop="20dp"
            android:text="Large Text"
            android:textSize="25sp" />

        <ImageView
            android:id="@+id/ivPicture"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="center"
            android:layout_marginTop="18dp"
            android:src="@drawable/android" />

        <ListView
            android:id="@+id/lvElements"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:layout_marginTop="23dp" >
        </ListView>

        <TextView
            android:id="@+id/tvDesc"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:layout_marginTop="20dp" >
        </TextView>
    </LinearLayout>

</ScrollView>

但是,ListView现在不可滚动,它只显示第一个元素。但是,我可以看到最后一个TextView。现在怎么办?

2 个答案:

答案 0 :(得分:0)

删除ScrollView这是示例代码试试这个

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

    <TextView
        android:id="@+id/tvTitle"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="center"
        android:layout_marginTop="20dp"
        android:text="Large Text"
        android:textSize="25sp" />

    <ImageView
        android:id="@+id/imageView1"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:src="@drawable/ic_launcher" />

    <ListView
        android:id="@+id/lvElements"
        android:layout_width="wrap_content"
        android:layout_height="67dp"
        android:layout_marginTop="23dp"
        android:layout_weight="0.79" >
    </ListView>

    <TextView
        android:id="@+id/tvDesc"
        android:layout_width="fill_parent"
        android:layout_height="14dp"
        android:layout_marginTop="20dp"
        android:layout_weight="0.06"
        android:text="Last text" >

    </TextView>

</LinearLayout>

您可以在android:layout_height="67dp"内编辑ListView此代码。

答案 1 :(得分:0)

在ScrollView中嵌套ListView是个坏主意。相反,您可以将ListView上方的视图添加为页眉,将下方添加为页脚:将视图放在页眉的新布局中,并为页脚添加单独的视图。然后,您可以执行listview.addHeaderView(headerView)listview.addFooterView(footerView)。这将使您的整个ListView顺利滚动。

查看此示例,了解如何添加Android listview with header and footer buttons