相信安卓时间选择器大家并不陌生吧,下面我们一起来看看最简单最理想的一个:
1.直接看看效果图吧(下载链接在最后):
2.代码如下:
Mainactivity:
package com.example.administrator.myapplication;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.TextView;
import java.util.Calendar;
import android.app.Activity;
import android.app.DatePickerDialog;
import android.app.Dialog;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.DatePicker;
import org.feezu.liuli.timeselector.TimeSelector;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
public class MainActivity extends AppCompatActivity {
int mYear, mMonth, mDay;
Button btn;
TextView dateDisplay;
final int DATE_DIALOG = 1;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
init();
initData();
final Calendar ca = Calendar.getInstance();
mYear = ca.get(Calendar.YEAR);
mMonth = ca.get(Calendar.MONTH);
mDay = ca.get(Calendar.DAY_OF_MONTH);
}
@Override
protected Dialog onCreateDialog(int id) {
switch (id) {
case DATE_DIALOG:
return new DatePickerDialog(MainActivity.this, mdateListener, mYear, mMonth, mDay);
}
return null;
}
DatePickerDialog.OnDateSetListener mdateListener = new DatePickerDialog.OnDateSetListener() {
@Override
public void onDateSet(DatePicker view, int year, int monthOfYear,
int dayOfMonth) {
mYear = year;
mMonth = monthOfYear;
mDay = dayOfMonth;
display();
}
/**
* 设置日期 利用StringBuffer追加
*/
private void display() {
dateDisplay.setText(new StringBuffer().append(mMonth + 1).append("-").append(mDay).append("-").append(mYear).append(" "));
}
};
private void initData() {
//监听事件
btn.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
showDialog(DATE_DIALOG);
}
});
}
private void init() {
btn = (Button) findViewById(R.id.dateChoose);
dateDisplay = (TextView) findViewById(R.id.dateDisplay);
}
}
activity_main.xml:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context="com.example.administrator.myapplication.MainActivity">
<TextView
android:id="@+id/dateDisplay"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="我是默认时间显示"
android:layout_marginTop="151dp"
android:layout_alignParentTop="true"
android:layout_centerHorizontal="true" />
<Button
android:id="@+id/dateChoose"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="选择日期"
android:layout_below="@+id/dateDisplay"
android:layout_centerHorizontal="true"
android:layout_marginTop="15dp" />
</RelativeLayout>
点击下载:http://download.csdn.net/my
当然,就是这么简单,希望大家用的上
相关选择器源码:
https://github.com/open-android/WheelPicker 一个简单的旋转选择器
https://github.com/open-android/CityPickerWebView 省市县三级联动
https://github.com/crazyandcoder/citypicker citypicker城市选择器,详细的省市区地址信息,支持仿iOS滚轮实现,仿京东样式,一级或者三级列表展示方式
https://github.com/zaaach/CityPicker 城市选择、定位、搜索及右侧字母导航,类似美团 百度糯米 饿了么等APP选择城市功能
https://github.com/yuruizhe/CityPicker 一个仿大众点评、美团的城市选择器,使用如同Rx一样优雅,并且UI和城市数据可以自定义
https://github.com/gzu-liyujiang/AndroidPicker 安卓选择器类库,包括日期选择器、时间选择器、单项选择器、双项选择器、城市地址选择器、车牌号选择器、数字选择器、星座选择器、生肖选择器、颜色选择器、文件选择器、目录选择器等……WheelPicker/DateTimePicker/DatePicker/TimePicker/SinglePicker/NumberPicker/DoublePicker/LinkagePicker/AddressPicker/CalendarPicker/ColorPicker/FilePicker etc.这个一般够用
https://github.com/yanzhenjie/AddressChecker MD风格的地址选择器,MD风格的城市选择器,Android就不要按照iOS风格来设计啦
https://github.com/BaiShou/CityPickerRecyclerVeiw 使用RecyclerView 仿美团-城市选择器,定位、热门
https://github.com/diycoder/CityPickerDemo 城市选择器
https://github.com/JianxunMaster/MultiLevelLibrary 安卓1级列表、2级列表、3级列表、4级列表、5级列表、一级列表、二级列表、三级列表、四级列表多级列表 多层级列表 可伸缩 可伸展 多层级 ListView 嵌套层级Model(model包含model集合,层层嵌套,数据无需处理,非节点结构,建议使用fastjson解析数据)、可设置是否能伸展(不可伸展时默认展开所有层级)、可设置默认展开层级、自定义item点击事件(回调函数的参数包含当前item对象和最外层对象)、适配器设置方便(仅需getView,可根据model层级level设置item样式,此时需要设置getItemViewType和getViewTypeCount)
https://github.com/oldbirdy/MultilevelList 多级列表选择
https://github.com/gjiazhe/WaveSideBar 城市列表字母选择器动画效果(带有波浪效果的索引侧栏)
https://github.com/square/sqlbrite