我有一个数字选择器对话框,可以选择小时和分钟(每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设置为false
?我在考虑是否可以始终显示向上和向下箭头,然后禁用滚动。