我需要以编程方式创建DatePicker.我不能使用xml布局.我知道在xml中设置微调器,datePickerMode="spinner"然后我可以使用datePicker.setSpinnersShown(true);,datePicker.setCalendarViewShown(false)我尝试添加AttributeSet到构造函数,但我不知道如何使用它.有人可以帮忙吗?如何在spinner模式下创建DataPicker?
谢谢
之前Android N,我可以使用下面的代码来实例化一个spnnier模式datepicker dialog:
new DatePickerDialog(getContext(), AlertDialog.THEME_HOLO_LIGHT, null, 2016, 9, 18);
Run Code Online (Sandbox Code Playgroud)
但是上面的代码在Android N设备上不起作用,它总是显示出来calander mode,有什么不同之处Android N吗?我怎样才能实例化spinner模式datepicker dialog?
我正在用一个DialogFragment打开一个DatePickerDialog
public class DatePickerFragment extends DialogFragment{
@Override
public Dialog onCreateDialog(Bundle savedInstanceState) {
// Use the current date as the default date in the picker
final Calendar c = Calendar.getInstance();
int year = c.get(Calendar.YEAR);
int month = c.get(Calendar.MONTH);
int day = c.get(Calendar.DAY_OF_MONTH);
// Create a new instance of DatePickerDialog and return it
DatePickerDialog DatePickerDialog = new DatePickerDialog(getActivity(), (ProfileCreationActivity)getActivity(), year, month, day);
return DatePickerDialog;
}
Run Code Online (Sandbox Code Playgroud)
我正在看日历外观,我更喜欢旋转外观.
我试过了:
datePickerDialog.getDatePicker().setCalendarViewShown(false);
Run Code Online (Sandbox Code Playgroud)
和
datePickerDialog.getDatePicker().setLayoutMode(1);
Run Code Online (Sandbox Code Playgroud)
但它不起作用.
请注意,我希望微调器查找一个活动,但我希望其他活动的日历视图.所以我无法改变整个应用程序的风格.我需要一个活动的自定义样式.
我想用模式微调器而不是日历显示DatePickerDialog.在我的styles.xml中,我尝试使用此属性,但它说我应该使用的最小SDK版本是API 21.
<item name="android:datePickerMode">spinner</item>
Run Code Online (Sandbox Code Playgroud)
我使用的是最低版本的SDK 18.如果API低于API 21,如何将默认日期选择器模式设置为微调器?
这是我日期选择器的Java代码:
public class MyDatePicker extends DialogFragment implements DatePickerDialog.OnDateSetListener {
@Override
public Dialog onCreateDialog(Bundle savedInstanceState) {
DatePickerDialog datePickerDialog = new DatePickerDialog(getContext(), R.style.MyTheme, this, 0, 0, 0 );
return datePickerDialog;
}
@Override
public void onDateSet(DatePicker view, int year, int month, int dayOfMonth) {
}
Run Code Online (Sandbox Code Playgroud)
}
谢谢!
我现在正在关注 Big Nerd Ranch Android 编程一书。我目前正在尝试让 DatePicker 片段显示为微调器。它似乎不断显示日历视图,我不明白为什么。有什么想法我做错了吗?
布局:
<?xml version="1.0" encoding="utf-8"?>
<DatePicker
android:id="@+id/dialog_date_datePicker"
android:spinnersShown="true"
android:calendarViewShown="false"
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content"
android:layout_height="wrap_content">
</DatePicker>
Run Code Online (Sandbox Code Playgroud)
我如何创建它:
public class DatePickerFragment extends DialogFragment {
@Override
public Dialog onCreateDialog(Bundle savedInstanceState) {
View v = getActivity().getLayoutInflater()
.inflate(R.layout.dialog_date, null);
return new AlertDialog.Builder(getActivity())
.setView(v)
.setTitle(R.string.date_picker_title)
.setPositiveButton(android.R.string.ok, null)
.create();
}
}
Run Code Online (Sandbox Code Playgroud) 我遇到了与此主题相同的问题:Android Material Design Inline Datepicker问题,但我没有使用XML布局,而是以编程方式构建DatePicker.
这是我正在使用但不起作用的代码
DatePicker dpView = new DatePicker(ctx);
dpView.setCalendarViewShown(false);
dpView.setSpinnersShown(true);
Run Code Online (Sandbox Code Playgroud)
我怎样才能让它发挥作用?