0

我需要在 中设置android:scrollbarSize回默认值ScrollView,因为当我设置 android:scrollbarThumbVertical为自己的颜色时,scrollbarSize会自动更改太大的尺寸。有什么副作用吗。。

我试过了:

android:scrollbarSize="?android:attr/scrollbarSize"

但是尺寸一样大。如果我尝试android:scrollbarSize="4dp",大小与默认值相同,这是我想要的。但由于屏幕尺寸布局不同,我不想设置硬核尺寸。

更新:问题仅出现 <= Android 7.1.1。

4

1 回答 1

0

我浏览了 Android 代码,似乎他们使用的是内部 R 文件,所以我不知道它是否公开可用。这来自他们用于的 config.xml 文件ViewConfiguration.class

Java类:

mScrollbarSize = res.getDimensionPixelSize(
                com.android.internal.R.dimen.config_scrollbarSize);

XML

<!-- Default width of a vertical scrollbar and height of a horizontal scrollbar.
     Takes effect only if the scrollbar drawables have no intrinsic size. -->
<dimen name="config_scrollbarSize">4dp</dimen>

这也是一个常数ViewConfiguration.java

/**
 * Defines the width of the horizontal scrollbar and the height of the vertical scrollbar in
 * dips
 */
private static final int SCROLL_BAR_SIZE = 4;

所以最好的选择是使用4dp。4dp 在不同的屏幕尺寸中不会改变,因为它们是与密度无关的像素 (Dip)。这就是重点。您可以做的是创建一个新的dimens资源文件并为不同的屏幕宽度添加不同的值,例如手机中的 4dp 和平板电脑中的 8dp。看这里。

于 2018-10-16T09:16:49.783 回答