日期滚轮显示
来源:互联网 发布:javascript初级视频 编辑:程序博客网 时间:2024/05/16 06:59
在一个界面上实现多个日期滚轮控件。
1、XML设置
<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" > <RelativeLayout android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_marginTop="5dp" > <TextView android:id="@+id/TextView_data1" style="@style/submit_text" android:layout_alignParentLeft="true" android:layout_alignParentTop="true" android:text="出生日期一:" /> <ImageButton android:id="@+id/ImageView_data1" android:layout_width="25dp" android:layout_height="25dp" android:layout_alignParentRight="true" android:layout_marginLeft="3dp" android:background="@drawable/button_calendar" /> <EditText android:id="@+id/EditText_data1" style="@style/submit_edit0" android:layout_toLeftOf="@id/ImageView_data1" android:layout_toRightOf="@id/TextView_data1" /> </RelativeLayout> <RelativeLayout android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_marginTop="5dp" > <TextView android:id="@+id/TextView_data2" style="@style/submit_text" android:layout_alignParentLeft="true" android:text="出生日期二" /> <ImageButton android:id="@+id/ImageView_data2" android:layout_width="25dp" android:layout_height="25dp" android:layout_alignParentRight="true" android:layout_marginLeft="3dp" android:background="@drawable/button_calendar" /> <EditText android:id="@+id/EditText_data2" style="@style/submit_edit" android:layout_toLeftOf="@id/ImageView_data2" android:layout_toRightOf="@id/TextView_data2" /> </RelativeLayout></LinearLayout>
2、Java代码
package com.example.calendartest;import java.text.DateFormat;import java.text.SimpleDateFormat;import java.util.Calendar;import java.util.Date;import com.caah.mpsclient.api.ui.enums.E_DateTimer;import android.os.Bundle;import android.os.Handler;import android.os.Message;import android.app.Activity;import android.app.DatePickerDialog;import android.app.Dialog;import android.app.ProgressDialog;import android.app.TimePickerDialog;import android.view.Menu;import android.view.View;import android.widget.DatePicker;import android.widget.EditText;import android.widget.ImageButton;import android.widget.TimePicker;public class MainActivity extends Activity { protected int mYear, mMonth, mDay, mHour, mMinute, mSecond; private ImageButton ImgBithday1, ImgBithday2; private EditText editBirthday1, editBirthday2; EDateSelect mDateNum; public enum EDateSelect { DATESELECT_ALL, // 全部 DATESELECT_Birthday1, // 出生日期1 DATESELECT_Birthday2 // 出生日期2 } @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); mDateNum = EDateSelect.DATESELECT_ALL; intview(); } private void intview() { editBirthday1 = (EditText) findViewById(R.id.EditText_data1); editBirthday2 = (EditText) findViewById(R.id.EditText_data2); ImgBithday1 = (ImageButton) findViewById(R.id.ImageView_data1); ImgBithday1.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { mDateNum = EDateSelect.DATESELECT_Birthday1; Message msg_B = new Message(); msg_B.what = E_DateTimer.SHOW_DATAPICK; MainActivity.this.dateandtimeHandler.sendMessage(msg_B); } }); ImgBithday2 = (ImageButton) findViewById(R.id.ImageView_data2); ImgBithday2.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { mDateNum = EDateSelect.DATESELECT_Birthday2; Message msg_C = new Message(); msg_C.what = E_DateTimer.SHOW_DATAPICK; MainActivity.this.dateandtimeHandler.sendMessage(msg_C); } }); // 日期编辑框赋值 final Calendar c = Calendar.getInstance(); mYear = c.get(Calendar.YEAR); mMonth = c.get(Calendar.MONTH); mDay = c.get(Calendar.DAY_OF_MONTH); updateDateDisplay(); } /** * 处理日期和时间控件的Handler */ protected Handler dateandtimeHandler = new Handler() { @Override public void handleMessage(Message msg) { switch (msg.what) { case E_DateTimer.SHOW_DATAPICK: showDialog(E_DateTimer.DATE_DIALOG_ID); break; /*case E_DateTimer.SHOW_TIMEPICK: showDialog(E_DateTimer.TIME_DIALOG_ID); break; } */ } }; /** * 更新显示日期控件 */ protected void updateDateDisplay() { StringBuilder str = new StringBuilder().append(mYear).append("-") .append((mMonth + 1) < 10 ? "0" + (mMonth + 1) : (mMonth + 1)) .append("-").append((mDay < 10) ? "0" + mDay : mDay); if (mDateNum.equals(EDateSelect.DATESELECT_Birthday1)) editBirthday1.setText(str); else if (mDateNum.equals(EDateSelect.DATESELECT_Birthday2)) editBirthday2.setText(str); else { editBirthday1.setText(str); editBirthday2.setText(str); } try { DateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); if (mDateNum.equals(EDateSelect.DATESELECT_Birthday1)) { Date d1 = df.parse(editBirthday1.getText().toString()); } else if (mDateNum.equals(EDateSelect.DATESELECT_Birthday2)) { Date d2 = df.parse(editBirthday2.getText().toString()); } else { Date d1 = df.parse(editBirthday1.getText().toString()); Date d2 = df.parse(editBirthday2.getText().toString()); } } catch (Exception e) { e.printStackTrace(); } } protected Dialog onCreateDialog(int id) { switch (id) { case E_DateTimer.DATE_DIALOG_ID: return new DatePickerDialog(this, mDateSetListener, mYear, mMonth, mDay); /* case E_DateTimer.TIME_DIALOG_ID: return new TimePickerDialog(this, mTimeSetListener, mHour, mMinute, true); } */ return null; } /** * 日期控件的事件 */ private DatePickerDialog.OnDateSetListener mDateSetListener = new DatePickerDialog.OnDateSetListener() { public void onDateSet(DatePicker view, int year, int monthOfYear, int dayOfMonth) { mYear = year; mMonth = monthOfYear; mDay = dayOfMonth; updateDateDisplay(); } };}
3、控件个性化设置
1、E_DateTimer
package com.caah.mpsclient.api.ui.enums;public class E_DateTimer { public static final int SHOW_DATAPICK = 0; public static final int DATE_DIALOG_ID = 1; //public static final int SHOW_TIMEPICK = 2; //public static final int TIME_DIALOG_ID = 3;}
2、Styles
<style name="submit_edit"> <item name="android:layout_width">0dip</item> <item name="android:layout_height">wrap_content</item> <item name="android:layout_weight">1</item> <item name="android:textSize">20sp</item> <item name="android:layout_marginLeft">0dp</item> <item name="android:gravity">center</item> <item name="android:background">@drawable/text_view_border</item> </style>
第二个EditText比第一个多一个属性设置。
<item name="android:background">@drawable/text_view_border</item>
3、text_view_border
<?xml version="1.0" encoding="UTF-8"?> <shape xmlns:android="http://schemas.android.com/apk/res/android"> <solid android:color="#80ffffff" /> <stroke android:width="1dip" android:color="#aea594" /> <corners android:topLeftRadius="4dp" android:topRightRadius="4dp" android:bottomRightRadius="4dp" android:bottomLeftRadius="4dp"/> </shape>
1 0
- 日期滚轮显示
- UIDatePicker 日期/时间选取器(滚轮)
- UIDatePicker 日期/时间选取器(滚轮)
- UIDatePicker 日期/时间选取器(滚轮)
- UIDatePicker 日期滚轮)/时间选取器
- 时间日期滚轮(安卓)
- 滚轮滚动时追加页面显示数据
- 显示日期..........
- 日期显示
- 显示日期
- 日期显示
- 显示日期
- UIDatePicker 日期/时间选取器(滚轮)—IOS开发
- UIDatePicker 日期/时间选取器(滚轮)—IOS开发
- UIDatePicker 日期/时间选取器(滚轮)—IOS开发
- UIDatePicker 日期/时间选取器(滚轮)—IOS开发
- UIDatePicker 日期/时间选取器(滚轮)—IOS开发
- UIDatePicker 日期/时间选取器(滚轮)—IOS开发
- Qt4 使用QJson库
- XMPP Ejabberd 维基百科中文资料
- 谷歌电子市场笔记2
- 把jar加载到maven 本地仓库
- 透明状态栏设置
- 日期滚轮显示
- PAT1017A除以B
- 和程序猿们聊了聊AV女优,发现自己的尺度还是小了
- android之ConnectivityManager简介,网络连接状态
- tomcat集群机制剖析及其生产部署选型
- SecureCRT 常用技巧
- chdir,fchdir,and getcwd Functions
- MD5加密
- JavaScript权威指南__第三章