3

我有几个三星设备(GT-I9192/4.2.2、GT-I9295/4.2.2 等)用于测试目的,所有这些设备都不会显示 HorisontalScrollView 的褪色边缘。HTC、摩托罗拉、魅族等所有其他智能手机(主要是 aos 4.x 和一些是 2.3.5)都可以很好地显示褪色边缘。
由于在 api14 中添加了新属性android:requiresFadingEdge并且它没有代码替代(至少我没有找到它)我使用以下布局(此滚动用于标签滚动):

<HorizontalScrollView xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/tabs_horisontal_scroll_view"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:background="@color/white"
    android:fadingEdge="horizontal"
    android:fadingEdgeLength="32dp"
    android:fillViewport="true"
    android:layerType="software" //was thinking it might help but it doesn't
    android:requiresFadingEdge="horizontal"
    android:scrollbarAlwaysDrawHorizontalTrack="true"
    android:scrollbars="none" />

就像我说过的,在任何智能手机上一切正常,但在三星手机上却不行。实际上,三星设备确实绘制了 fadingEdge,它在所有三星设备上看起来都一样,但看起来最大宽度为 2-3px。所以我注意到它绘制它但不是 32dp,它忽略了有关 FadingEdge 设置的所有内容。可能唯一的关闭是运行良好。
那么可能是什么问题?

4

1 回答 1

-1

尝试使用该android:overScrollMode属性。

只需添加

android:overScrollMode="always"

到你的HorizontalScrollView.

android:overScrollMode 可以有三个值:“always”、“never”、“ifContentScrolls”。

于 2014-07-19T04:07:41.940 回答