android - DatePickerDialog Header 文本边距问题 Android
问题描述
我在 CustomDialogFragment 中使用 DatePickerDialog。它在所有设备上都可以正常工作,但在具有 OS 6.0.1 (Marshmallow) 的 Moto G 手机中出现问题。在最左边显示 2018 年和星期五。但在其他设备中它工作正常。
这是我的代码片段和截图: -
DatePickerDialog datePickerDialog = new DatePickerDialog(getContext(), this, year, month, day);
datePickerDialog.getDatePicker().init(year, month, day, new DatePicker.OnDateChangedListener() {
@Override
public void onDateChanged(DatePicker view, int year, int monthOfYear, int dayOfMonth) {
if(getArguments().getString("activity").equalsIgnoreCase("RegisterActivity")){
RegisterActivity.etExp.setText(dayOfMonth + "/" + (monthOfYear + 1) + "/" + year);
} else {
if (getArguments().getString("from", "").equalsIgnoreCase("Start")) {
SortRightFragment.tvStartDate.setText(dayOfMonth + "/" + (monthOfYear + 1) + "/" + year);
}
if (getArguments().getString("from", "").equalsIgnoreCase("End")) {
SortRightFragment.tvEndDate.setText(dayOfMonth + "/" + (monthOfYear + 1) + "/" + year);
}
}
datePickerDialog.cancel();
}
});
datePickerDialog.setButton(DialogInterface.BUTTON_NEGATIVE, getString(R.string.text_cancel), new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
if (which == DialogInterface.BUTTON_NEGATIVE) {
}
}
});
datePickerDialog.setButton(DialogInterface.BUTTON_POSITIVE, getString(R.string.text_clear), new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
if (which == DialogInterface.BUTTON_POSITIVE) {
if(getArguments().getString("activity").equalsIgnoreCase("RegisterActivity")){
RegisterActivity.etExp.setText("");
} else {
if (getArguments().getString("from", "").equalsIgnoreCase("Start")) {
SortRightFragment.tvStartDate.setText("");
}
if (getArguments().getString("from", "").equalsIgnoreCase("End")) {
SortRightFragment.tvEndDate.setText("");
}
}
}
}
});
提前致谢!!
解决方案
由于DatePickerDialog
extendsAlertDialog
可能这对你有用:
首先找到标题 TextView 然后设置它的填充:
TextView tv = datePickerDialog.findViewById(getResources().getIdentifier("alertTitle", "id", "android"));
这也可以:
TextView tv = (TextView) datePickerDialog.findViewById(R.id.alertTitle);
将填充值更改为您喜欢的值:
tv.setPadding(2, 0, 0, 0);
推荐阅读
- c# - 将 JWT 从客户端发送到服务器
- sqlite - 如何编译 18 年前发布的 sqlite-1.0.1
- regex - 如何编写正则表达式以从堆栈下方提取行
- java - 如何在android studio中检索收到的本地通知的id?
- javascript - 基于 HTML 表单中的用户输入刷新图像
- swift - 如何使用第三方库在我的 Swift 应用程序中获取我附近的所有 wifi 列表
- json - 使用 Jackson 解组“Json 输入流必须以 Json 对象数组开头”
- python - 如何修复“使用 tensorflow 后端”Keras 导入错误?
- c - 在 C 中定义导致错误之前的函数声明
- graphviz - 哪个图形可视化库适合带文本的静态节点和边?