首页 > 移动平台 > 详细

Android 的NumberPicker相关问题

时间:2015-10-23 16:42:39      阅读:1255      评论:0      收藏:0      [点我收藏+]

NumberPicker是Android3.0出的,在不同版本中的显示大概是这样的

技术分享技术分享

如果要使得显示的小于10的数字显示两位,需要加上这样一个方法:

Formatter formatter = new Formatter() {
			@Override
			public String format(int value) {
				String tmpStr = String.valueOf(value);
				if (value < 10) {
					tmpStr = "0" + tmpStr;
				}
				return tmpStr;
			}
		};
		numberPicker.setFormatter(formatter);

这是设置最小值

numberPicker.setMinValue(0);
		numberPicker.setMaxValue(23);
		numberPicker.setValue(17);

这是监听滑动,基本用不到

numberPicker.setOnValueChangedListener(new OnValueChangeListener() {
			@Override
			public void onValueChange(NumberPicker picker, int oldVal,
					int newVal) {
				Log.e("", "oldVal:" + oldVal + "newVal:" + newVal);
			}
		});

获取当前值

int value = numberPicker.getValue();

然后网上找了点教程,通过新建类来继承NumberPicker,但只能修改字体颜色和大小,没法改变中间那两条线的颜色,尺寸.

就是重写所有addView方法,然后在addView()中添加自定义的方法

public void addView(View child) {
		super.addView(child);
		updateView(child);
	}

	@Override
	public void addView(View child, int index,
			android.view.ViewGroup.LayoutParams params) {
		super.addView(child, index, params);
		updateView(child);
	}

	@Override
	public void addView(View child, android.view.ViewGroup.LayoutParams params) {
		super.addView(child, params);
		updateView(child);
	}

	public void updateView(View view) {
		if (view instanceof EditText) { // 这里修改字体的属性 ((EditText)
			((EditText) view).setTextSize(12);
			((EditText) view).setTextColor(Color.RED);
		}
	}

因为这样还是没法随心所欲,所以只好网上找了些例子,都是通过copy源代码的NumberPicker类的代码来自定义,直接继承的LinearLayout.当然少不了declare-styleable  style之类的,比较麻烦.

首先,这个比较简单 http://download.csdn.net/detail/xingkongyingke/8010545#comment


然后还有一个比较好的,完全可以改一下当时间 日期 选择器

http://blog.csdn.net/the_path/article/details/38334899 但有点问题要自己改,这是博主传的文件

http://download.csdn.net/detail/the_path/7713987

本文出自 “苍蝇学android” 博客,请务必保留此出处http://qq445493481.blog.51cto.com/9545543/1705459

Android 的NumberPicker相关问题

原文:http://qq445493481.blog.51cto.com/9545543/1705459

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!