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
大致就是我要找的。基于 widgetHeight
,onMeasure
将 makeMeasureSpec
:
@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));
我只想知道 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
大致就是我要找的。基于 widgetHeight
,onMeasure
将 makeMeasureSpec
:
@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));