如何减少 NumberPicker 中的填充
How to decrease padding in NumberPicker
如何减少 NumberPicker 中的填充
我想要类似的东西:
很遗憾,号码选择器不是 style-able。
我建议使用 one by SimonTV
这样的库
尝试自定义您的 NumberPicker
主题,如下所示:
<style name="Widget.Holo.NumberPicker" parent="Widget.NumberPicker">
<!-- Customize your theme here -->
<item name="android:selectionDivider">@android:drawable/numberpicker_selection_divider</item>
<item name="android:selectionDividerHeight">2dp</item>
<item name="android:selectionDividersDistance">25dp</item>
<item name="android:internalMinWidth">50dp</item>
<item name="android:internalMaxHeight">100dp</item>
</style>
希望对您有所帮助。
归档非常容易:
(scaleX
和 scaleY
等于 2.5)
(没有 scaleX
和 scaleY
)
String[] values = {"Public", "Shared", "Private",....};
NumberPicker np=
(NumberPicker) findViewById(R.id.numberPicker);
np.setMaxValue(values.length-1);
np.setMinValue(0);
np.setDisplayedValues(values);
并简单地设置小 layout_height
和 scaleX
, scaleX
:
<NumberPicker
android:id="@+id/numberPicker"
android:layout_width="wrap_content"
android:layout_height="50dp"
android:scaleX="2.5"
android:scaleY="2.5"/>
我同意,但是标准 NumberPicker
很难定制。
希望对你有所帮助
正如 Grebulon 指出的那样,如果您使用 的库,自定义选择器非常简单。
这些是代码和结果-
<net.simonvt.numberpicker.NumberPicker
android:id="@+id/numberPicker"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:internalMaxHeight="100dp"
app:selectionDividersDistance="30dp"/>
我被分叉过一次以增加选择轮的数量。
这是上面代码的输出。
这可能有点晚了,但您可以在 NumberPicker
上设置明确的高度,然后它会遵循给定的高度并调整项目之间的 space。
一个简单的解决方案是降低 NumberPicker 的高度,这也会导致数字之间的内部间距减小,在我的例子中,我将其设置为 120dp,这就可以完成工作
android:layout_height="120dp"
这是我的 NumberPicker 的完整代码
<NumberPicker
android:id="@+id/numberPicker"
android:layout_width="wrap_content"
android:layout_height="120dp"
android:layout_marginEnd="16dp"
android:theme="@style/myNumberPicker" />
对于样式,我在我的样式文件中使用了以下主题
<!-- Custom style for Number Picker -->
<style name="myNumberPicker" parent="Theme.MyApplication">
<item name="android:textSize">26sp</item>
<item name="android:textColorPrimary">@color/textColorBlue</item>
<item name="colorControlNormal">@android:color/transparent</item>
<item name="android:fontFamily">@font/montserrat_semi_bold</item>
</style>
如何减少 NumberPicker 中的填充
我想要类似的东西:
很遗憾,号码选择器不是 style-able。
我建议使用 one by SimonTV
这样的库尝试自定义您的 NumberPicker
主题,如下所示:
<style name="Widget.Holo.NumberPicker" parent="Widget.NumberPicker">
<!-- Customize your theme here -->
<item name="android:selectionDivider">@android:drawable/numberpicker_selection_divider</item>
<item name="android:selectionDividerHeight">2dp</item>
<item name="android:selectionDividersDistance">25dp</item>
<item name="android:internalMinWidth">50dp</item>
<item name="android:internalMaxHeight">100dp</item>
</style>
希望对您有所帮助。
归档非常容易:
(scaleX
和 scaleY
等于 2.5)
(没有 scaleX
和 scaleY
)
String[] values = {"Public", "Shared", "Private",....};
NumberPicker np=
(NumberPicker) findViewById(R.id.numberPicker);
np.setMaxValue(values.length-1);
np.setMinValue(0);
np.setDisplayedValues(values);
并简单地设置小 layout_height
和 scaleX
, scaleX
:
<NumberPicker
android:id="@+id/numberPicker"
android:layout_width="wrap_content"
android:layout_height="50dp"
android:scaleX="2.5"
android:scaleY="2.5"/>
我同意,但是标准 NumberPicker
很难定制。
希望对你有所帮助
正如 Grebulon 指出的那样,如果您使用
这些是代码和结果-
<net.simonvt.numberpicker.NumberPicker
android:id="@+id/numberPicker"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:internalMaxHeight="100dp"
app:selectionDividersDistance="30dp"/>
我被分叉过一次以增加选择轮的数量。 这是上面代码的输出。
这可能有点晚了,但您可以在 NumberPicker
上设置明确的高度,然后它会遵循给定的高度并调整项目之间的 space。
一个简单的解决方案是降低 NumberPicker 的高度,这也会导致数字之间的内部间距减小,在我的例子中,我将其设置为 120dp,这就可以完成工作
android:layout_height="120dp"
这是我的 NumberPicker 的完整代码
<NumberPicker
android:id="@+id/numberPicker"
android:layout_width="wrap_content"
android:layout_height="120dp"
android:layout_marginEnd="16dp"
android:theme="@style/myNumberPicker" />
对于样式,我在我的样式文件中使用了以下主题
<!-- Custom style for Number Picker -->
<style name="myNumberPicker" parent="Theme.MyApplication">
<item name="android:textSize">26sp</item>
<item name="android:textColorPrimary">@color/textColorBlue</item>
<item name="colorControlNormal">@android:color/transparent</item>
<item name="android:fontFamily">@font/montserrat_semi_bold</item>
</style>