一个可以拖动指针设置hour,minute的钟表,开源框架TimePickerDialog改动eclipse project

现在比较流行可以通过用户拖动指针自定义时间的定时器,公司boss非得也要个这样的,于是网上找了些资源,看了一些开源框架,改了一个出来了。

先上效果图吧:



关键可操作代码也贴出来:

</pre><pre name="code" class="java">public class MainActivity extends Activity implements
		TimePickerDialog.OnTimeSetListener {

	private TextView timeTextView, skip;

	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_main);

		skip = (TextView) findViewById(R.id.skip);
		skip.setOnClickListener(skipClick);

		timeTextView = (TextView) findViewById(R.id.time_textview);
		Button timeButton = (Button) findViewById(R.id.click);
		timeButton.setOnClickListener(new OnClickListener() {

			@SuppressWarnings("unused")
			@Override
			public void onClick(View v) {
				// TODO Auto-generated method stub

				Calendar now = Calendar.getInstance();
				TimePickerDialog tpd = TimePickerDialog.newInstance(
						MainActivity.this, now.get(Calendar.HOUR_OF_DAY),
						now.get(Calendar.MINUTE), true);
				tpd.setThemeDark(true);// 设置主题,true or false
				tpd.vibrate(true);// 设置震动,true or false
				tpd.dismissOnPause(false);// 暂停关闭
				// 这里你也可以设置true,主要是显示title和颜色突出显示
				if (false) {
					tpd.setAccentColor(Color.parseColor("#ac3f69"));
				}
				if (false) {
					tpd.setTitle("TimePicker Title");
				}
				tpd.setOnCancelListener(new DialogInterface.OnCancelListener() {
					@Override
					public void onCancel(DialogInterface dialogInterface) {
						Log.d("TimePicker", "Dialog was cancelled");
					}
				});
				tpd.show(getFragmentManager(), "Timepickerdialog");
			}
		});
	}

	public void onResume() {
		super.onResume();
		TimePickerDialog tpd = (TimePickerDialog) getFragmentManager()
				.findFragmentByTag("Timepickerdialog");

		if (tpd != null)
			tpd.setOnTimeSetListener(this);

	}

	@Override
	public void onTimeSet(RadialPickerLayout view, int hourOfDay, int minute) {
		// TODO Auto-generated method stub

		String hourString = hourOfDay < 10 ? "0" + hourOfDay : "" + hourOfDay;
		String minuteString = minute < 10 ? "0" + minute : "" + minute;
		String time = "You picked the following time: " + hourString + "h"
				+ minuteString;
		timeTextView.setText(time);
	}


github上可以找到这个开源框架,只不过是个studio的project,把我搞好的eclipse project也提供出来吧

下载源码

里面还带了一个通过seekbar来实现拖动设置时间的,不过boss已经满意这一个了,于是那个就没写下去了,有兴趣自己可以接着写。思路很简单。

猜你喜欢

转载自blog.csdn.net/kern_/article/details/49334215