强制列表视图上的Android快速滚动条在填充中绘制

强制列表视图上的Android快速滚动条在填充中绘制,android,android-layout,android-listview,Android,Android Layout,Android Listview,我对创建一个由透明标题和在标题后面滚动的listview组成的屏幕感兴趣。我有一个缺陷;快速滚动条也会在标题下方绘制 出于某种原因,fastscrollbar似乎不尊重应用于列表视图的scrollbarStyle。您将在下图中注意到,普通滚动条工作正常,但powerscroll条位于透明标题后面 不幸的是,我使用的ListView通常有数百个条目,所以fastscrollbar是必需的。是否有办法设置未记录的“fastscrollStyle”?我愿意接受任何建议!多谢各位 以下是供参考的布局X

我对创建一个由透明标题和在标题后面滚动的listview组成的屏幕感兴趣。我有一个缺陷;快速滚动条也会在标题下方绘制

出于某种原因,fastscrollbar似乎不尊重应用于列表视图的scrollbarStyle。您将在下图中注意到,普通滚动条工作正常,但powerscroll条位于透明标题后面

不幸的是,我使用的ListView通常有数百个条目,所以fastscrollbar是必需的。是否有办法设置未记录的“fastscrollStyle”?我愿意接受任何建议!多谢各位

以下是供参考的布局XML:

<?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">

    <ListView
        android:id="@+id/myListView"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:clipToPadding="false"
        android:fastScrollEnabled="true"
        android:scrollbars="vertical"
        android:scrollbarStyle="insideOverlay"
        android:paddingTop="50dp"/>

    <TextView android:text="My Header"
              android:gravity="center"
              android:background="#8fff0000"
              android:layout_width="fill_parent"
              android:layout_height="50dp"/>
</RelativeLayout>


这在KitKat for ListView中得到了修复,但是GridView似乎仍然存在这个问题。Google?

最好的解决方案是将listview与其他布局分开,其中主要的relativelayout视图是父视图,其他布局是子视图



这个错误似乎在4.4中得到了修复。但是,在旧版本中,除了将填充保留在0之外,似乎没有已知的解决方法

使用linearlayout而不是relativelayout。标题位于顶部,并在标题下设置listview位置。Listitems永远不会出现在标题和滚动条图标的后面。我希望listview项目在标题后面绘制,同时快速滚动条也尊重listview的垂直填充。Linearlayout没有快速滚动,如果向其中添加数千项,则性能会非常差。:-)Thx用于此反馈。;)这不就是在创建不必要的更大视图层次结构时,在标题前面绘制listview吗?
<?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">
     <RelativeLayout
              android:id"@+id/layoutHeader"
              android:layout_width="fill_parent"
              android:layout_height="50dp"
              android:layout_alignParentTop="true">

              <TextView android:text="My Header"
                        android:gravity="center"
                       android:background="#8fff0000"
                       android:layout_width="fill_parent"
                       android:layout_height="50dp"/>
    </RelativeLayout>

    <RelativeLayout
              android:layout_width="fill_parent"
              android:layout_height="wrap_content"
              android:layout_below="+id/layoutHeader">
    <ListView
        android:id="@+id/myListView"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:clipToPadding="false"
        android:fastScrollEnabled="true"
        android:scrollbars="vertical"
        android:scrollbarStyle="insideOverlay"
        android:paddingTop="50dp"/>
    </RelativeLayout>
</RelativeLayout>