Android仿iPhone的日期时间选择器
16lz
2021-01-23
先看效果图
如何使用
import java.text.DateFormat;import java.text.ParseException;import java.text.SimpleDateFormat;import java.util.Calendar;import android.app.Activity;import android.app.AlertDialog;import android.content.DialogInterface;import android.os.Bundle;import android.view.LayoutInflater;import android.view.View;import android.view.View.OnClickListener;import android.widget.Button;import android.widget.EditText;public class MainActivity extends Activity {WheelMain wheelMain;EditText txttime;DateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");@Overridepublic void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.main);txttime = (EditText) findViewById(R.id.txttime);Calendar calendar = Calendar.getInstance();txttime.setText(calendar.get(Calendar.YEAR) + "-"+ (calendar.get(Calendar.MONTH) + 1) + "-"+ calendar.get(Calendar.DAY_OF_MONTH) + "");Button btnselecttime = (Button) findViewById(R.id.button1);btnselecttime.setOnClickListener(new OnClickListener() {@Overridepublic void onClick(View arg0) {LayoutInflater inflater = LayoutInflater.from(MainActivity.this);final View timepickerview = inflater.inflate(R.layout.timepicker, null);ScreenInfo screenInfo = new ScreenInfo(MainActivity.this);wheelMain = new WheelMain(timepickerview, true);wheelMain.screenheight = screenInfo.getHeight();String time = txttime.getText().toString();Calendar calendar = Calendar.getInstance();if (JudgeDate.isDate(time, "yyyy-MM-dd")) {try {calendar.setTime(dateFormat.parse(time));} catch (ParseException e) {// TODO Auto-generated catch blocke.printStackTrace();}}int year = calendar.get(Calendar.YEAR);int month = calendar.get(Calendar.MONTH);int day = calendar.get(Calendar.DAY_OF_MONTH);int h = calendar.getTime().getHours();int m = calendar.getTime().getMinutes();wheelMain.initDateTimePicker(year, month, day, h, m);new AlertDialog.Builder(MainActivity.this).setTitle("选择时间").setView(timepickerview).setPositiveButton("确定",new DialogInterface.OnClickListener() {@Overridepublic void onClick(DialogInterface dialog,int which) {txttime.setText(wheelMain.getTime());}}).setNegativeButton("取消",new DialogInterface.OnClickListener() {@Overridepublic void onClick(DialogInterface dialog,int which) {}}).show();}});}}
源码下载
更多相关文章
- Android 自定义日期和时间和星期的弹窗
- Android 的常用控件(下拉,日期,时间,单项,多项)
- Android中获取系统的时间
- android 显示系统时间
- android得到系统时间如何判断是白天还是晚上
- Android中多次弹出相同Toast提示框长时间不消失
- Android 自带日期(DatePicker)和时间(TimePicker)选择器使用
- Android 为【apk】文件签名,增加修改系统时间等权限