Android 日期选择器材质样式 [英] Android Date Picker Material Style
问题描述
我已经在我的片段上实现了日期选择器,这是代码:
edittext_from.setOnClickListener(new OnClickListener() {@覆盖公共无效onClick(查看视图){最终日历 c = Calendar.getInstance();mYear = c.get(Calendar.YEAR);mMonth = c.get(Calendar.MONTH);mDay = c.get(Calendar.DAY_OF_MONTH);android.app.DatePickerDialog datePickerDialog = new android.app.DatePickerDialog(getContext(),新的 android.app.DatePickerDialog.OnDateSetListener() {@覆盖public void onDateSet(DatePicker view, int year,int monthOfYear, int dayOfMonth) {edittext_from.setText(String.format("%04d-%02d-%02d", year, (monthOfYear + 1), dayOfMonth));}}, mYear, mMonth, mDay);datePickerDialog.show();}});
我的日期选择器的样式是旧样式,如下所示:
我想用一个材质风格的DatePicker,我尝试用这个库编译'com.wdullaer:materialdatetimepicker:2.3.0'
,但结果是一样的.我如何使用 Material Date Picker 更改此 DatePicker 有什么帮助吗?谢谢
试试这个:
希望对你有所帮助谢谢....
i have implemented the date picker on my fragment, this is the code:
edittext_from.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View view) {
final Calendar c = Calendar.getInstance();
mYear = c.get(Calendar.YEAR);
mMonth = c.get(Calendar.MONTH);
mDay = c.get(Calendar.DAY_OF_MONTH);
android.app.DatePickerDialog datePickerDialog = new android.app.DatePickerDialog(getContext(),
new android.app.DatePickerDialog.OnDateSetListener() {
@Override
public void onDateSet(DatePicker view, int year,
int monthOfYear, int dayOfMonth) {
edittext_from.setText(String.format("%04d-%02d-%02d", year, (monthOfYear + 1), dayOfMonth));
}
}, mYear, mMonth, mDay);
datePickerDialog.show();
}
});
and the style of my date picker is a old style as this :
I would like to use a DatePicker with material style, i have tried to use this library compile 'com.wdullaer:materialdatetimepicker:2.3.0'
, but the result is the same.
Any help how i can change this DatePicker with Material Date Picker?
Thanks
Try this : Material DatePicker By Arsenal
If any doubt see my github Repository
GitHUb:-https://github.com/rahulkushwaha482/DatePickerDialogFragment
First add this dependencies
implementation('com.shagi:material-datepicker:1.3') {
exclude group: 'com.android.support'
}
Add permission for Internet
This is required by this project.
1)In kotlin ,use this code:-
val dialog = DatePickerFragmentDialog.newInstance({ view, year, monthOfYear, dayOfMonth ->
Toast.makeText(applicationContext,
"year $year month $monthOfYear day $dayOfMonth",
Toast.LENGTH_SHORT).show()
}, 2017, 11, 4)
dialog.show(supportFragmentManager, "tag")
/* Possible params
dialog.setMaxDate(System.currentTimeMillis())
dialog.setMinDate(System.currentTimeMillis())
dialog.setYearRange(2000, 2010)
dialog.setCancelColor(Color.MAGENTA)
dialog.setOkColor(Color.MAGENTA)
dialog.setAccentColor(Color.MAGENTA)
dialog.setCancelText("Out")
dialog.setOkText("Fine")
*/
2)In Java , use this code:-
DatePickerFragmentDialog datePickerFragmentDialog=DatePickerFragmentDialog.newInstance(new DatePickerFragmentDialog.OnDateSetListener() {
@Override
public void onDateSet(DatePickerFragmentDialog view, int year, int monthOfYear, int dayOfMonth) {
txtTodayDate.setText(dayOfMonth + "/" + (monthOfYear + 1) + "/" + year);
}
},mYear, mMonth, mDay);
datePickerFragmentDialog.show(getSupportFragmentManager(),null);
datePickerFragmentDialog.setMaxDate(System.currentTimeMillis());
datePickerFragmentDialog.setYearRange(1900,mYear);
datePickerFragmentDialog.setCancelColor(getResources().getColor(R.color.colorPrimaryDark));
datePickerFragmentDialog.setOkColor(getResources().getColor(R.color.colorPrimary));
datePickerFragmentDialog.setAccentColor(getResources().getColor(R.color.colorAccent));
datePickerFragmentDialog.setOkText(getResources().getString(R.string.ok_dob));
datePickerFragmentDialog.setCancelText(getResources().getString(R.string.cancel_dob));
Your result will look like this:-
Hope this will help you thanks....
这篇关于Android 日期选择器材质样式的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!