扫码关注官方订阅号
认证高级PHP讲师
这应该就是你想实现的位于底部、与屏幕等宽的DiaglogFragment了。(你问题描述里的“适应屏幕”,我理解的是“与屏幕等宽”)
DiaglogFragment
public class DatePickerDialog extends DialogFragment { @Override public Dialog onCreateDialog(Bundle savedInstanceState) { // 使用不带theme的构造器,获得的dialog边框距离屏幕仍有几毫米的缝隙。 // Dialog dialog = new Dialog(getActivity()); Dialog dialog = new Dialog(getActivity(), R.style.CustomDatePickerDialog); dialog.requestWindowFeature(Window.FEATURE_NO_TITLE); // must be called before set content dialog.setContentView(R.layout.dialog_datepicker); dialog.setCanceledOnTouchOutside(true); // 设置宽度为屏宽、靠近屏幕底部。 Window window = dialog.getWindow(); WindowManager.LayoutParams wlp = window.getAttributes(); wlp.gravity = Gravity.BOTTOM; wlp.width = WindowManager.LayoutParams.MATCH_PARENT; window.setAttributes(wlp); return dialog; }
<!-- res/values/styles.xml --> <style name="CustomDatePickerDialog" parent="@style/AppTheme"> <item name="android:layout_width">match_parent</item> <item name="android:layout_height">wrap_content</item> <item name="android:windowIsFloating">true</item> </style>
我自定义了一个日期选择的DialogFragment,这是它的github地址
微信扫码关注PHP中文网服务号
QQ扫码加入技术交流群
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
PHP学习
技术支持
返回顶部
这应该就是你想实现的位于底部、与屏幕等宽的

DiaglogFragment了。(你问题描述里的“适应屏幕”,我理解的是“与屏幕等宽”)
自定义一个位于屏幕底部、与屏幕等宽的DialogFragment
一个Demo
我自定义了一个日期选择的DialogFragment,这是它的github地址