android简单的日期时间选择器

  1. 在build.gradle中导入
implementation 'com.contrarywind:Android-PickerView:3.2.7'
  1. xml中设置一个TextView,用来触发及最终显示日期时间结果
<TextView    android:id="@+id/start_day"    android:layout_width="match_parent"    android:layout_height="wrap_content"    android:layout_centerVertical="true"    android:hint="请选择"    android:textSize="14dp" />
  1. activity.java中调用
public class MainActivity extends AppCompatActivity {         TimePickerView pvTime;    TextView start_day;    @Override    protected void onCreate(Bundle savedInstanceState) {             super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);        start_day = findViewById(R.id.start_day);        start_day .setOnClickListener(new View.OnClickListener() {                 @Override            public void onClick(View view) {                     //点击组件的点击事件                pvTime.show(start_day);            }        });        //控制时间范围(如果不设置范围,则使用默认时间1900-2100年,此段代码可注释)        //因为系统Calendar的月份是从0-11的,所以如果是调用Calendar的set方法来设置时间,月份的范围也要是从0-11        Calendar selectedDate = Calendar.getInstance();        Calendar startDate = Calendar.getInstance();        startDate.set(2013, 0, 23);        Calendar endDate = Calendar.getInstance();        endDate.set(2029, 11, 28);        //时间选择器        pvTime = new TimePickerView.Builder(this, new TimePickerView.OnTimeSelectListener() {                 @Override            public void onTimeSelect(Date date, View v) {     //选中事件回调                // 这里回调过来的v,就是show()方法里面所添加的 View 参数,如果show的时候没有添加参数,v则为null                TextView btn = (TextView) v;                btn.setText(getTimes(date));            }        })                //年月日时分秒 的显示与否,不设置则默认全部显示                .setType(new boolean[]{     true, true, true, true, true, true})                .setLabel("年", "月", "日", "时", "分", "秒")                .isCenterLabel(true)                .setDividerColor(Color.DKGRAY)                .setContentSize(21)                .setDate(selectedDate)                .setRangDate(startDate, endDate)                .setDecorView(null)                .build();    }    private String getTimes(Date date) {     //可根据需要自行截取数据显示        SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");        return format.format(date);    }}

更多相关文章

  1. android使用RelativeLayout实现两端对齐
  2. Android使用TextView,设置onClick属性无效解决办法
  3. http://www.eoeandroid.com/blog-546380-2248.html
  4. Android(安卓)ImageView图片自适应
  5. TextView 的设置现实的文字的长度?
  6. Android让所有应用都竖屏显示或者横屏显示
  7. Android平板电脑不能全屏显示的问题
  8. android:configChanges="orientation|keyboardHidden"的使用
  9. Android(安卓)视频播放

随机推荐

  1. AndroidTimer使用(三)-补充篇
  2. Google code android开源项目(二)
  3. android 自定义toast停留时间
  4. bug: Could not get resource 'https://j
  5. Android 以任意比例裁剪图片
  6. Android学习--使用Pull解析器读取XML文件
  7. android activity Intent 传值 传对象
  8. Android manifest 的位置千万别放错
  9. android之解析json数据格式详解
  10. android 地铁最短路线换乘查询系统(2)