9

我有兴趣创建一个由透明标题和在标题后面滚动的列表视图组成的屏幕。我有一个缺陷。FAST 滚动条也绘制在标题下方。

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

FastScrollBar 和 NormalScrollBar 示例

不幸的是,我使用的列表视图通常有数百个项目,所以快速滚动条是必需的。有没有办法设置未记录的“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 中为 ListView 修复,但 GridView 似乎仍然存在此问题。谷歌?

4

2 回答 2

1

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

前任。

<?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>
于 2013-08-15T13:17:29.527 回答
0

此错误似乎已在 4.4 中修复。然而,在旧版本中,除了将填充保留为 0 之外,似乎没有已知的解决方法。

于 2013-12-13T18:31:42.157 回答