Android日歷控件PickTime代碼實例
最近做項目,需要設(shè)置用戶的生日,所以做這樣一個功能。
開始發(fā)覺自帶的DatePicker 很是不好用。
上代碼:
<DatePicker android:id="@+id/dpPicker" android:datePickerMode="spinner" android:calendarViewShown="false" android:layout_marginTop="150dp" android:spinnersShown="true" android:yearListSelectorColor = "@color/colorPrimaryDark" android:layout_width="match_parent" android:layout_height="wrap_content" />
初始化代碼:
DateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd", Locale.CHINA); Calendar calendar = Calendar.getInstance(Locale.CHINA); datePicker = (DatePicker) findViewById(R.id.dpPicker); int year=calendar.get(Calendar.YEAR); int monthOfYear=calendar.get(Calendar.MONTH); int dayOfMonth=calendar.get(Calendar.DAY_OF_MONTH); datePicker.init(year, monthOfYear, dayOfMonth, new DatePicker.OnDateChangedListener() { @Override public void onDateChanged(DatePicker view, int year, int monthOfYear, int dayOfMonth) { // 獲取一個日歷對象,并初始化為當(dāng)前選中的時間 Calendar calendar = Calendar.getInstance(); calendar.set(year, monthOfYear, dayOfMonth); SimpleDateFormat format = new SimpleDateFormat( "yyyy年MM月dd日 HH:mm"); Toast.makeText(MainActivity.this, format.format(calendar.getTime()), Toast.LENGTH_SHORT) .show(); } });
結(jié)果效果如此:
android:datePickerMode="spinner"
這個屬性會切換為日歷選擇狀態(tài)。
還容易出現(xiàn)英文這種鬼東西,于是不在研究,直接找插件去。
于是發(fā)現(xiàn)PickTime 很好用的,來說下使用方法:
//日期選擇控件 implementation 'com.github.codbking:PickTime:v1.0.1' //item控件 implementation 'com.github.codbking:AllItemView:v1.0.0'
然后是調(diào)用代碼:
package controller.hzl.com.timetest; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.view.View; import android.widget.DatePicker; import android.widget.TimePicker; import android.widget.Toast; import com.codbking.view.ItemView; import com.codbking.widget.DatePickDialog; import com.codbking.widget.bean.DateType; import java.text.DateFormat; import java.text.SimpleDateFormat; import java.util.Calendar; import java.util.Locale; public class MainActivity extends AppCompatActivity implements View.OnClickListener{ private DatePicker datePicker; private TimePicker timePicker; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); ItemView xx = findViewById(R.id.item4); xx.setOnClickListener(this); DateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd", Locale.CHINA); Calendar calendar = Calendar.getInstance(Locale.CHINA); datePicker = (DatePicker) findViewById(R.id.dpPicker); int year=calendar.get(Calendar.YEAR); int monthOfYear=calendar.get(Calendar.MONTH); int dayOfMonth=calendar.get(Calendar.DAY_OF_MONTH); datePicker.init(year, monthOfYear, dayOfMonth, new DatePicker.OnDateChangedListener() { @Override public void onDateChanged(DatePicker view, int year, int monthOfYear, int dayOfMonth) { // 獲取一個日歷對象,并初始化為當(dāng)前選中的時間 Calendar calendar = Calendar.getInstance(); calendar.set(year, monthOfYear, dayOfMonth); SimpleDateFormat format = new SimpleDateFormat( "yyyy年MM月dd日 HH:mm"); Toast.makeText(MainActivity.this, format.format(calendar.getTime()), Toast.LENGTH_SHORT) .show(); } }); } private void showDatePickDialog(DateType type) { DatePickDialog dialog = new DatePickDialog(this); //設(shè)置上下年分限制 dialog.setYearLimt(5); //設(shè)置標(biāo)題 dialog.setTitle("選擇時間"); //設(shè)置類型 dialog.setType(type); //設(shè)置消息體的顯示格式,日期格式 dialog.setMessageFormat("yyyy-MM-dd"); //設(shè)置選擇回調(diào) dialog.setOnChangeLisener(null); //設(shè)置點擊確定按鈕回調(diào) dialog.setOnSureLisener(null); dialog.show(); } @Override public void onClick(View view) { switch (view.getId()) { case R.id.item4: showDatePickDialog(DateType.TYPE_YMD); break; } } }
效果如圖:
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
Android邊播放邊緩存視頻框架AndroidVideoCache詳解
這篇文章主要為大家介紹了Android邊播放邊緩存視頻框架AndroidVideoCache詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-09-09android動態(tài)設(shè)置app當(dāng)前運(yùn)行語言的方法
下面小編就為大家?guī)硪黄猘ndroid動態(tài)設(shè)置app當(dāng)前運(yùn)行語言的方法。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2017-03-03NestScrollView嵌套RecyclerView實現(xiàn)淘寶首頁滑動效果
這篇文章主要介紹了NestScrollView嵌套RecyclerView實現(xiàn)淘寶首頁滑動效果,主要實現(xiàn)淘寶首頁嵌套滑動,中間tab吸頂效果,以及介紹NestScrollView嵌套RecyclerView處理滑動沖突的方法,需要的朋友可以參考下2021-12-12Android巧用DecorView實現(xiàn)對話框功能
本篇文章主要介紹了Android巧用DecorView實現(xiàn)對話框功能,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2017-04-04