Android 日期选择器 Material 样式
Android Date Picker Material Style
我已经在我的片段上实现了日期选择器,这是代码:
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();
}
});
而且我的日期选择器的样式是这样的旧样式:
我想用material风格的DatePicker,我试过用这个库编译'com.wdullaer:materialdatetimepicker:2.3.0'
,但结果是一样的。
任何帮助我如何使用 Material 日期选择器更改此 DatePicker?
谢谢
试试这个库:
https://github.com/code-troopers/android-betterpickers
您像这样使用日期选择器:
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
DatePickerBuilder dpb = new DatePickerBuilder()
.setFragmentManager(getSupportFragmentManager())
.setStyleResId(R.style.BetterPickersDialogFragment)
.setYearOptional(true);
dpb.show();
}
});
试试这个,它会起作用
repositories{
maven {
url "https://jitpack.io"
}
}
dependencies {
compile 'com.github.jaydeep17:datetimepicker:0.0.4'
}
https://github.com/jaydp17/datetimepicker
https://github.com/flavienlaurent/datetimepicker
http://www.viralandroid.com/2015/11/android-date-picker-example.html
试试这个:
Material DatePicker By Arsenal
如有任何疑问,请参阅我的 github 存储库
GitHUb:-https://github.com/rahulkushwaha482/DatePickerDialogFragment
先添加这个依赖
implementation('com.shagi:material-datepicker:1.3') {
exclude group: 'com.android.support'
}
添加互联网权限
This is required by this project.
1) 在 kotlin 中,使用此代码:-
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)在 Java 中,使用此代码:-
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));
您的结果将如下所示:-
希望对您有所帮助谢谢....
有了 Material Components for Android,您可以使用新的 MaterialDatePicker
。
目前它正在积极开发中,android 库需要 material 组件的版本 1.1.0。
implementation 'com.google.android.material:material:1.1.0'
只需使用:
MaterialDatePicker.Builder<Long> builder = MaterialDatePicker.Builder.datePicker();
builder.setTitleText(R.string.your_text);
MaterialDatePicker<Long> picker = builder.build();
picker.show(getSupportFragmentManager(), picker.toString());
我已经在我的片段上实现了日期选择器,这是代码:
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();
}
});
而且我的日期选择器的样式是这样的旧样式:
我想用material风格的DatePicker,我试过用这个库编译'com.wdullaer:materialdatetimepicker:2.3.0'
,但结果是一样的。
任何帮助我如何使用 Material 日期选择器更改此 DatePicker?
谢谢
试试这个库: https://github.com/code-troopers/android-betterpickers
您像这样使用日期选择器:
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
DatePickerBuilder dpb = new DatePickerBuilder()
.setFragmentManager(getSupportFragmentManager())
.setStyleResId(R.style.BetterPickersDialogFragment)
.setYearOptional(true);
dpb.show();
}
});
试试这个,它会起作用
repositories{
maven {
url "https://jitpack.io"
}
}
dependencies {
compile 'com.github.jaydeep17:datetimepicker:0.0.4'
}
https://github.com/jaydp17/datetimepicker
https://github.com/flavienlaurent/datetimepicker
http://www.viralandroid.com/2015/11/android-date-picker-example.html
试试这个: Material DatePicker By Arsenal
如有任何疑问,请参阅我的 github 存储库
GitHUb:-https://github.com/rahulkushwaha482/DatePickerDialogFragment
先添加这个依赖
implementation('com.shagi:material-datepicker:1.3') {
exclude group: 'com.android.support'
}
添加互联网权限
This is required by this project.
1) 在 kotlin 中,使用此代码:-
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)在 Java 中,使用此代码:-
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));
您的结果将如下所示:-
希望对您有所帮助谢谢....
有了 Material Components for Android,您可以使用新的 MaterialDatePicker
。
目前它正在积极开发中,android 库需要 material 组件的版本 1.1.0。
implementation 'com.google.android.material:material:1.1.0'
只需使用:
MaterialDatePicker.Builder<Long> builder = MaterialDatePicker.Builder.datePicker();
builder.setTitleText(R.string.your_text);
MaterialDatePicker<Long> picker = builder.build();
picker.show(getSupportFragmentManager(), picker.toString());