Android 选择日期时间对话框(可选择开始结束时间,已解决弹出键盘问题)
来源:互联网 发布:登录新熊片数据库 编辑:程序博客网 时间:2024/06/06 15:07
直接上代码:
MainActivity:
package wkk.demo6;import android.app.AlertDialog;import android.app.DatePickerDialog;import android.app.TimePickerDialog;import android.content.DialogInterface;import android.os.Bundle;import android.support.v7.app.AppCompatActivity;import android.util.Log;import android.view.LayoutInflater;import android.view.View;import android.view.WindowManager;import android.widget.Button;import android.widget.DatePicker;import android.widget.TimePicker;import java.util.Calendar;public class MainActivity extends AppCompatActivity implements View.OnClickListener { private Button showdailogTwo; private Button showdailog; private Button time; //选择日期Dialog private DatePickerDialog datePickerDialog; //选择时间Dialog private TimePickerDialog timePickerDialog; private Calendar calendar; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); showdailogTwo = (Button) findViewById(R.id.showdailogTwo); showdailog = (Button) findViewById(R.id.showdailog); time = (Button) findViewById(R.id.time); time.setOnClickListener(this); showdailogTwo.setOnClickListener(this); showdailog.setOnClickListener(this); calendar = Calendar.getInstance(); } @Override public void onClick(View v) { switch (v.getId()) { case R.id.showdailog: showDailog(); break; case R.id.showdailogTwo: showDialogTwo(); break; case R.id.time: showTime(); break; } } private void showDailog() { datePickerDialog = new DatePickerDialog( this, new DatePickerDialog.OnDateSetListener() { @Override public void onDateSet(DatePicker view, int year, int monthOfYear, int dayOfMonth) { //monthOfYear 得到的月份会减1所以我们要加1 String time = String.valueOf(year) + " " + String.valueOf(monthOfYear + 1) + " " + Integer.toString(dayOfMonth); Log.d("测试", time); } }, calendar.get(Calendar.YEAR), calendar.get(Calendar.MONTH), calendar.get(Calendar.DAY_OF_MONTH)); datePickerDialog.show(); //自动弹出键盘问题解决 datePickerDialog.getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_HIDDEN); } private void showDialogTwo() { View view = LayoutInflater.from(this).inflate(R.layout.dialog_date, null); final DatePicker startTime = (DatePicker) view.findViewById(R.id.st); final DatePicker endTime = (DatePicker) view.findViewById(R.id.et); startTime.updateDate(startTime.getYear(), startTime.getMonth(), 01); AlertDialog.Builder builder = new AlertDialog.Builder(this); builder.setTitle("选择时间"); builder.setView(view); builder.setPositiveButton("确定", new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { int month = startTime.getMonth() + 1; String st = "" + startTime.getYear() + month + startTime.getDayOfMonth(); int month1 = endTime.getMonth() + 1; String et = "" + endTime.getYear() + month1 + endTime.getDayOfMonth(); } }); builder.setNegativeButton("取消", null); AlertDialog dialog = builder.create(); dialog.show(); //自动弹出键盘问题解决 dialog.getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_HIDDEN); } private void showTime() { timePickerDialog = new TimePickerDialog(this, new TimePickerDialog.OnTimeSetListener() { @Override public void onTimeSet(TimePicker view, int hourOfDay, int minute) { Log.d("测试", Integer.toString(hourOfDay)); Log.d("测试", Integer.toString(minute)); } }, calendar.get(Calendar.HOUR_OF_DAY), calendar.get(Calendar.MINUTE), true); timePickerDialog.show(); timePickerDialog.getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_HIDDEN); }}
activity_main.xml
<?xml version="1.0" encoding="utf-8"?><LinearLayout 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:orientation="vertical" 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="wkk.demo6.MainActivity"> <Button android:text="日期选择" android:id="@+id/showdailog" android:layout_width="wrap_content" android:layout_height="wrap_content" /> <Button android:id="@+id/showdailogTwo" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="日期选择-双" /> <Button android:id="@+id/time" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="时间选择" /></LinearLayout>
dialog_date.xml
<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:gravity="center_horizontal" android:orientation="vertical"> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginLeft="10dp" android:layout_marginTop="15dp" android:text="开始时间" /> <DatePicker android:id="@+id/st" android:layout_width="wrap_content" android:layout_height="190dp" android:calendarViewShown="false"></DatePicker> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginLeft="10dp" android:text="结束时间" /> <DatePicker android:id="@+id/et" android:layout_width="wrap_content" android:layout_height="190dp" android:calendarViewShown="false"></DatePicker></LinearLayout>
效果如下:
源码下载:
http://download.csdn.net/detail/w18756901575/9525412
0 0
- Android 选择日期时间对话框(可选择开始结束时间,已解决弹出键盘问题)
- Android 选择日期时间对话框(可选择开始结束时间,已解决弹出键盘问题)
- Android日期时间选择对话框
- android时间日期选择对话框
- 选择开始时间 可自动弹出结束时间
- 【jQuery日期处理】选择开始时间,自动结束时间
- js 日期选择判断结束时间大于开始时间
- Android自定义时间控件选择开始时间到结束时间
- 日期、时间选择对话框
- 日期、时间选择对话框
- boostrap的日期选择:datetimepicker 做 开始时间与 结束时间的判断,开始时间小于结束时间
- Android 日期及时间选择对话框
- Android之日期及时间选择对话框
- Android之日期/时间选择对话框
- Android之日期及时间选择对话框
- Android应用程序用户界面(十一)时间日期选择对话框
- 日期和时间选择对话框
- 日期及时间选择对话框
- C解析8583报文55域
- memocache for CakePHP3.2
- console.log和alert的区别
- Java开发常用的在线工具
- Spark疑问4之Idea中project中的module如何将File路径设置为当前module路径而不是project路径?
- Android 选择日期时间对话框(可选择开始结束时间,已解决弹出键盘问题)
- CSS position属性和实例应用
- Java集合相关面试问题和答案
- Java并发编程:线程池的使用
- 56.把二叉树打印成多行
- 五款用于 Linux 编程的内存调试器
- JVM性能监控工具(一)-jdk命令行工具
- UVA - 11059 Maximum Product
- 键盘样式(UIKeyboardType)