重庆建筑工程网站,iphone wordpress,好看的个人网站模板,wordpress社区程序BottomSheetDialog 是Android开发中的一个弹出式对话框#xff0c;它从屏幕底部弹出并覆盖部分主界面。
1. BottomSheetDialog的使用
// 参数2#xff1a;设置BottomSheetDialog的主题样式#xff1b;将背景设置为transparent#xff0c;这样我们写的shape_bottom_sheet_…
BottomSheetDialog 是Android开发中的一个弹出式对话框它从屏幕底部弹出并覆盖部分主界面。
1. BottomSheetDialog的使用
// 参数2设置BottomSheetDialog的主题样式将背景设置为transparent这样我们写的shape_bottom_sheet_dialog.xml才会起作用
BottomSheetDialog bottomSheetDialog new BottomSheetDialog(this, R.style.BottomSheetDialog);
//不传第二个参数
//BottomSheetDialog bottomSheetDialog new BottomSheetDialog(this);// 底部弹出的布局
View bottomView LayoutInflater.from(requireContext()).inflate(R.layout.bottom_sheet_layout, null);bottomSheetDialog.setContentView(bottomView);
//设置点击dialog外部不消失
//bottomSheetDialog.setCanceledOnTouchOutside(false);
bottomSheetDialog.show();
2.加载布局
bottom_sheet_layout.xml ; 通过LayoutInflater拿到底部弹窗布局后通过setContentView()把布局加载到BottomSheetDialog中。
?xml version1.0 encodingutf-8?
LinearLayout xmlns:androidhttp://schemas.android.com/apk/res/androidandroid:layout_widthmatch_parentandroid:layout_heightwrap_contentandroid:orientationverticalandroid:backgrounddrawable/shape_bottom_sheet_dialogTextViewandroid:idid/choose_photoandroid:layout_widthmatch_parentandroid:layout_height50dpandroid:text从手机相册选择android:textSize15spandroid:textColor#191919android:gravitycenter/Viewandroid:layout_widthmatch_parentandroid:layout_height1dpandroid:background#F5F5F5/TextViewandroid:idid/check_photoandroid:layout_widthmatch_parentandroid:layout_height50dpandroid:text查看上一张头像android:textSize15spandroid:textColor#191919android:gravitycenter/Viewandroid:layout_widthmatch_parentandroid:layout_height1dpandroid:background#F5F5F5/TextViewandroid:idid/save_photoandroid:layout_widthmatch_parentandroid:layout_height50dpandroid:text保存到手机android:textSize15spandroid:textColor#191919android:gravitycenter/Viewandroid:layout_widthmatch_parentandroid:layout_height10dpandroid:background#F5F5F5/TextViewandroid:idid/cancelandroid:layout_widthmatch_parentandroid:layout_height50dpandroid:text取消android:textSize15spandroid:textColor#191919android:gravitycenter//LinearLayout
3.显示
通过调用 BottomSheetDialg.show()方法就能将底部弹窗给显示出来。
4. BottomSheetDialog 圆角设置 写一个shape在Drawable下创建一shape_bottom_sheet_dialog.xml里面设置圆角的样式。
?xml version1.0 encodingutf-8?
shape xmlns:androidhttp://schemas.android.com/apk/res/androidandroid:shaperectanglecorners android:topLeftRadiusdimen/dime_10dpandroid:topRightRadiusdimen/dime_10dp/solid android:colorcolor/white//shape
把bottom_sheet_layout.xml的整个背景设置为shape_bottom_sheet_dialog.xml这个shape。 通过上面的设置圆角效果并没有展示出来。 还需要将BottomSheetDialog的背景设置为透明。在themes.xml(res-values-themes)添加下面两个style。 !--实现BottomSheetDialog圆角效果--style nameBottomSheetDialog parentTheme.Design.Light.BottomSheetDialogitem namebottomSheetStylestyle/bottomSheetStyleWrapper/item/stylestyle namebottomSheetStyleWrapper parentWidget.Design.BottomSheet.Modalitem nameandroid:backgroundandroid:color/transparent/item/style
在new BottomSheetDialog()的第二个参数传入这个style.
new BottomSheetDialog(this, R.style.BottomSheetDialog);