java - Android:如何删除数字选择器中的分隔线

标签 java android android-linearlayout numberpicker

我如何删除数字选择器中的分隔线,我尝试通过 xml 将 setShowDivider 设置为无(似乎没有不存在)并且代码注释有效

picker.setShowDividers(LinearLayout.SHOW_DIVIDER_NONE);

XML:

android:showDividers="none"

enter image description here

最佳答案

为 Numberpicker 设置主题

<NumberPicker
   ...
   android:theme="@style/DefaultNumberPickerTheme" />

样式.xml

<style name="DefaultNumberPickerTheme" parent="AppTheme">
        <item name="colorControlNormal">@color/transparent</item>
</style>

private void changeDividerColor(NumberPicker picker, int color) {

    java.lang.reflect.Field[] pickerFields = NumberPicker.class.getDeclaredFields();
    for (java.lang.reflect.Field pf : pickerFields) {
        if (pf.getName().equals("mSelectionDivider")) {
            pf.setAccessible(true);
            try {
                ColorDrawable colorDrawable = new ColorDrawable(color);
                pf.set(picker, colorDrawable);
            } catch (IllegalArgumentException e) {
                e.printStackTrace();
            } catch (Resources.NotFoundException e) {
                e.printStackTrace();
            }
            catch (IllegalAccessException e) {
                e.printStackTrace();
            }
            break;
        }
    }
}

并将其设置为

changeDividerColor(yournumberpicker, Color.parseColor("#00ffffff"));

关于java - Android:如何删除数字选择器中的分隔线,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44517686/

相关文章:

java - 修改 Java 中默认类加载器的行为

android - 如何在 android 方向更改中使用不同的布局

android - 将 ImageView 权重设置为中心屏幕的 50%

java - 创建数据库连接的最佳方式

java - PNG 纹理未在 HTC desire 上加载

java - 如何创建具有 @GeneratedValue 的实体的实例以插入模拟数据而不更新现有行?

android - 如何通过标签使用Android View 元素

安卓: Canvas 不缩放

android - 自定义拖放

Android 可检查的 LinearLayout 状态