由于ScrollView,ListView行为奇怪?

时间:2012-08-05 20:28:40

标签: android listview background scrollview items

屏幕截图:

http://i46.tinypic.com/2r44hg3.jpg

从上面的图片可以看出,由于某些原因,在使用ScrollView时,我在listView中得到了一个奇怪的白色区域。如果我删除ScrollView的白色区域没有任何消失,但不幸的是我必须在我的界面中使用ScrollView。如果我在列表中填入项目,则白色“区域”仍然存在,而是放置在项目下方。

之前有人见过吗?如何在不删除ScrollView的情况下删除它,由于某种原因它会出现?我试图改变所有不同类型的设置,如fill_parent / wrap_content / 0dip,目前为止没有任何成功。

如果你有所了解,请帮忙!

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


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

<TableLayout
        xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="@drawable/orginalbild"
android:fillViewport="true"
android:gravity="center|top"
android:orientation="vertical"
android:stretchColumns="1"
android:weightSum="1.0">

<TableRow
    android:paddingTop="3dp" >

 <TextView
             android:layout_width="0dip"
             android:layout_height="fill_parent" 
             android:layout_weight="0.04">
            </TextView>

            <EditText
                android:id="@+id/search_task_field"
                android:layout_width="0dip"
                android:layout_height="fill_parent"
                android:layout_weight="0.7"
                android:hint="@string/SearchTaskHint" 
                />

            <ImageButton
                android:id="@+id/search_task_button"
                android:layout_width="0dip"
                android:layout_height="50dp"
                android:layout_gravity="center"
                android:layout_weight="0.22"

                android:src="@drawable/find3" />

            <TextView
                android:layout_width="0dip"
                android:layout_height="fill_parent" 
                android:layout_weight="0.04"
                android:visibility="invisible"
                >
            </TextView>
          </TableRow>


       <TableRow
    android:paddingTop="0.9dp"
    android:paddingRight="0.9dp"
    android:paddingLeft="0.9dp"
    android:background="#90767878"
    android:paddingBottom="0.9dp"
    android:layout_marginLeft="24dp"
    android:layout_marginRight="24dp"
    android:layout_marginBottom="20dp"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent">

    <ListView
        android:id="@+id/search_task_list"
        android:layout_width="0dip"
        android:layout_height="fill_parent"
        android:layout_weight="1"
        android:background="#FFFFFF"
        android:gravity="left"
         />
</TableRow>  
   </TableLayout>
     </ScrollView>

1 个答案:

答案 0 :(得分:1)

您无法在ScrollView中放置ListView。多数民众赞成不可能。因为ListView有两个选项来滚动内容,就像你一样。这不会奏效。

如果要在ListView下方或上方显示内容并希望它随之滚动,则可能需要创建自定义视图。

更多信息:

https://groups.google.com/forum/m/?fromgroups#!topic/android-beginners/LRpLgGOy2Pc

编辑: 我建议你使用这个: https://github.com/thiagolocatelli/android-uitableview 它是一个自定义ListView,您可以在ScrollView中设置它