我在xml中创建了一个简单的自定义日期选择器:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
android:id="@+id/datePickerLayout"
xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center">
<DatePicker
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/mDatePicker"
android:layout_gravity="center_horizontal"
android:spinnersShown="true"
android:calendarViewShown="false"
android:layout_alignParentTop="true"/>
</RelativeLayout>
在小型设备上看起来不错,但是在大型设备(平板电脑)上看起来像这样:
即使我将日期选择器的宽度和高度设置为wrap_content,窗口也要大得多。如何使日期选择器的内容填充其窗口?我还尝试通过应用自定义主题来更改文本大小,但无法解决问题]
如果有关系,这是我用来创建自定义日期选择器的自定义对话框构建器:
val mCustomDatePicker = layoutInflater.inflate(R.layout.custom_date_picker, activityStageOne, false)
val mDatePicker = mCustomDatePicker.findViewById(R.id.mDatePicker) as DatePicker
mDatePicker.maxDate = (Calendar.getInstance().getTime().getTime())
// mDatePicker.maxDate = (y)
val mDialog = AlertDialog.Builder(this)
mDialog.setView(mCustomDatePicker)
addListenersForEditText()
mDialog.setPositiveButton("OK", object : DialogInterface.OnClickListener {
override fun onClick( dialog: DialogInterface, which: Int) {
ageET.clearFocus()
val mCalendar = Calendar.getInstance()
mCalendar.set(mDatePicker.year, mDatePicker.month, mDatePicker.dayOfMonth)
val dateFormat = SimpleDateFormat(DATE_PATTERN)
try {
age = dateFormat.format(mCalendar.time)
} catch (e: ParseException) {
e.printStackTrace()
}
ageET.setText((mDatePicker.month + 1).toString() + " / " + mDatePicker.dayOfMonth.toString() + " / " + mDatePicker.year.toString())
}
}).setNegativeButton("Cancel", object: DialogInterface.OnClickListener {
@Override
override fun onClick( dialog: DialogInterface, which: Int) {
ageET.clearFocus()
dialog.dismiss()
}
})
mDialog.create()