Material Slider 的默认布局高度 (dp) 是多少?

What is the default layout height (dp) of Material Slider?

我只想知道 Material Slider 的 dp 布局高度的默认值。 (或者如何知道这些值?)

Material 滑块的默认高度是 4dp,您可以使用 material IO 网站了解所有相关信息以及更多信息。

这里有一个 link 供您进一步参考 https://material.io/components/sliders/android#discrete-slider

如果你深入 Material 滑块的 source code,你可以找到这一行:

widgetHeight = resources.getDimensionPixelSize(R.dimen.mtrl_slider_widget_height);

这个 widgetHeight 大致就是我要找的。基于 widgetHeightonMeasuremakeMeasureSpec:

@Override
protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
    super.onMeasure(widthMeasureSpec,
    MeasureSpec.makeMeasureSpec(
        widgetHeight
            + (labelBehavior == LABEL_WITHIN_BOUNDS ? labels.get(0).getIntrinsicHeight() : 0),
        MeasureSpec.EXACTLY));
}

LABEL_WITHIN_BOUNDS为false时,测量的尺寸就是widgetHeight

所以 dp 中的 widgetHeight 被定义为 R.dimen.mtrl_slider_widget_height 也就是 R.dimen 中的 48dp 正如@Pawel 建议的那样。

Log.d("slider height", getResources().getString(R.dimen.mtrl_slider_widget_height));