【发布时间】:2016-10-22 18:20:58
【问题描述】:
我有一个数字选择器对话框来选择小时和分钟(15 分钟间隔)。它在大屏幕上运行良好,但在小屏幕和旧设备上,如果我尝试使用触摸滚动,它就会卡住。
我正在扩展 android.widget.NumberPicker 并减小对某些设备有帮助的字体大小。
public class TimerNumberPicker extends android.widget.NumberPicker {
public TimerNumberPicker(Context context) {
super(context);
}
public TimerNumberPicker(Context context, AttributeSet attrs){
super(context,attrs);
}
@Override
public void addView(View child) {
super.addView(child);
updateView(child);
}
@Override
public void addView(View child, ViewGroup.LayoutParams params) {
super.addView(child, params);
updateView(child);
}
@Override
public void addView(View child, int index, ViewGroup.LayoutParams params) {
super.addView(child, index, params);
updateView(child);
}
private void updateView(View view) {
if(view instanceof EditText){
((EditText) view).setTextSize(TypedValue.COMPLEX_UNIT_SP,16);
view.setTag(FontUtil.TAG_CONDENSED_LIGHT);
FontUtil.getInstence(getContext()).setFontByTag(view);
}
}
}
更复杂的是分钟只有值(0, 15, 30, 45),而我必须setWrapSelectorWheel to false?
我正在考虑是否可以始终显示向上和向下箭头,然后禁用滚动。
【问题讨论】:
标签: java android numberpicker