我有几个三星设备(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 设置的所有内容。可能唯一的关闭是运行良好。
那么可能是什么问题?