我目前正在开发一个在片段中显示DatePicker的应用程序。虽然当我尝试在以下xml布局中显示日期选择器时,它会在平板电脑上查看时显示两侧有大间隙的日期选择器。 (图片:Datepicker
)。
无论如何,日期选择器的大小可以增加,因此它填充了更大的屏幕部分,或者这只是android设置的datepicker的默认大小?
<DatePicker
android:id="@+id/dialog_date_date_picker"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:calendarViewShown="false"/>
</LinearLayout>
我的实施代码:
@Override
public Dialog onCreateDialog(Bundle savedInstanceState) {
Date date = (Date) getArguments().getSerializable(ARG_DATE);
Calendar calendar = Calendar.getInstance();
calendar.setTime(date);
int year = calendar.get(Calendar.YEAR);
int month = calendar.get(Calendar.MONTH);
int day = calendar.get(Calendar.DAY_OF_MONTH);
final int hour = calendar.get(Calendar.HOUR);
final int minute = calendar.get(Calendar.MINUTE);
View view = LayoutInflater.from(getActivity())
.inflate(R.layout.datepicker_masterdetail, null);
mDatePicker = (DatePicker) view.findViewById(R.id.dialog_date_date_picker);
mDatePicker.init(year, month, day, null);
return new AlertDialog.Builder(getActivity())
.setView(view)
.setTitle(R.string.date_picker_title)
.setPositiveButton(android.R.string.ok,
new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
int year = mDatePicker.getYear();
int month = mDatePicker.getMonth();
int day = mDatePicker.getDayOfMonth();
Date date = new GregorianCalendar(year, month, day, hour, minute).getTime();
sendResult(Activity.RESULT_OK, date);
}
})
.create();
}
答案 0 :(得分:0)
试试这个。您可以使用android:scaleX
和android:scaleY
,每个值都符合您的需要。跟着它。
<DatePicker
android:id="@+id/dialog_date_date_picker"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:scaleX="0.60"
android:scaleY="0.60"
android:calendarViewShown="false"/>