NumberPicker 实现选中的值字体变大,颜色变化

大家都知道NumberPicker  自定义从写 addVIew方法可以改变字体的大小和颜色,但是效果是整个控件的字体都改变了,效果如下图右边,但是有时候我们需要选中的字体放大。

 效果如上图左边的。实现代码分两步。第一不步反射获取mInputText值,这是个中间显示可以编辑的控件。这样做后 选中的随便变化了,但是一滑动或点击 就会还原到以前的状态,这个时候需要设置

picker.performClick();这个方法。在
setOnValueChangedListener()或者
setOnScrollListener()中设置performClick()方法,两个不同地方设置的效果也有区别

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
设置 NumberPicker 控件中选中项的字体样式,您可以通过自定义 Adapter 来实现。以下是一个示例代码: ```java // 创建一个自定义的 NumberPickerAdapter 继承自 ArrayAdapter class NumberPickerAdapter extends ArrayAdapter<String> { private Context context; private int selectedItemColor; // 选中项的字体颜色 private int normalItemColor; // 非选中项的字体颜色 public NumberPickerAdapter(Context context, int resource, List<String> objects, int selectedItemColor, int normalItemColor) { super(context, resource, objects); this.context = context; this.selectedItemColor = selectedItemColor; this.normalItemColor = normalItemColor; } @NonNull @Override public View getView(int position, @Nullable View convertView, @NonNull ViewGroup parent) { TextView textView = (TextView) super.getView(position, convertView, parent); if (position == getSelectedItemPosition()) { // 设置选中项的字体颜色 textView.setTextColor(selectedItemColor); } else { // 设置选中项的字体颜色 textView.setTextColor(normalItemColor); } return textView; } } ``` 然后,在您的代码中使用自定义的 Adapter: ```java NumberPicker numberPicker = findViewById(R.id.numberPicker); String[] values = {"1", "2", "3", "4", "5"}; // 设置要显示的选项 numberPicker.setMinValue(0); // 设置最小 numberPicker.setMaxValue(values.length - 1); // 设置最大 // 创建自定义的 Adapter,并设置选中项和非选中项的字体颜色 NumberPickerAdapter adapter = new NumberPickerAdapter(this, android.R.layout.simple_list_item_1, Arrays.asList(values), Color.RED, Color.BLACK); numberPicker.setDisplayedValues(values); // 设置显示的选项 numberPicker.setWrapSelectorWheel(true); // 设置循环滚动 numberPicker.setDescendantFocusability(NumberPicker.FOCUS_BLOCK_DESCENDANTS); // 禁止编辑文本框 numberPicker.setFormatter(null); // 禁用默认的格式化器 numberPicker.setAdapter(adapter); // 设置自定义的 Adapter ``` 通过以上代码,您可以设置 NumberPicker 控件选中项的字体颜色。您可以根据自己的需求修改字体颜色和其他属性。希望对您有帮助!
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值