TimePicker这个控件目前我也没怎么用过,因为个人太缺乏项目经验,但是既然是Android自带的,我还是要在这里简单实现一下,无论如何,这些都是Android起步的基础,了解一下因该会有好处的
其实很简单,TimePicker跟我们使用的Button TextView一样,属于基本控件:主要原理就是实现OnTimeChangedListener方法,实现修改时间动作的监听。
首先,配置文件:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context="com.wj.timepicker.MainActivity" >
<!-- -->
<TimePicker
android:id="@+id/tp_first"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@android:color/darker_gray"
/>
</RelativeLayout>
然后主Activity中:
package com.wj.timepicker;
import android.app.Activity;
import android.content.Context;
import android.os.Bundle;
import android.util.Log;
import android.widget.TimePicker;
import android.widget.TimePicker.OnTimeChangedListener;
import android.widget.Toast;
public class MainActivity extends Activity implements OnTimeChangedListener {
private Context mContext;
private TimePicker tp_first;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mContext=this;
tp_first=(TimePicker) findViewById(R.id.tp_first);
tp_first.setOnTimeChangedListener(this);
}
@Override
public void onTimeChanged(TimePicker view, int hourOfDay, int minute) {
// TODO Auto-generated method stub
Toast.makeText(mContext, "Hour:"+hourOfDay+";minute:"+minute, Toast.LENGTH_SHORT).show();
}
}
如果大家不喜欢上午/下午这种风格,还可以改成我们通常用的24小时的样式:
//该函数用于设置是否使用24小时制
tp_first.setIs24HourView(true);
Ok,有兴趣的同学可以自己动手实现,看一下效果,还可以根据TimePicker控件得到当前选择的时 分,也可以设置默认第一次进入时的时间,都很简单,大家看看就可以。