在较小的屏幕(480 x 854)上,日历仅显示月份,其余部分被截止。
片段的XML是一个FrameLayout,其宽度/高度与父级匹配,而CalendarView是wraps_content
按此按钮可显示日历
dateButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {;
DialogFragment newFragment = new calendarDialogFragment();
newFragment.show(getSupportFragmentManager(), "datePicker");
}
});
以下是dialogfragment的代码
public class calendarDialogFragment extends DialogFragment {
@Override
public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container,
Bundle savedInstances) {
View v = inflater.inflate(R.layout.calendar_view, container, false);
return v;
}
}
答案 0 :(得分:0)
您可以创建一个BaseDialogFragment并将其大小覆盖。 然后让其他人扩展它:
public class BaseDialogFragment extends DialogFragment {
@Override
public void onStart() {
super.onStart();
Dialog dialog = getDialog();
if (dialog != null) {
int width = (int) (getResources().getDisplayMetrics().widthPixels * 0.8f);
int height = ViewGroup.LayoutParams.WRAP_CONTENT;
if (null != dialog.getWindow()) {
dialog.getWindow().setLayout(width, height);
}
}
}
}
根据您的需要调整宽度/高度