在Android开发中,使用Kotlin实现一个从屏幕底部弹出的Dialog,可以按照以下步骤进行: 创建或定义一个Dialog组件: 首先,需要创建一个自定义的Dialog类,或者使用一个现有的Dialog类,如BottomSheetDialog。这里以BottomSheetDialog为例,因为它是专门为从底部弹出的对话框设计的。 kotlin import android.app.Dialog import andro...
.findViewById<View>(R.id.design_bottom_sheet)?.setBackgroundColor(Color.TRANSPARENT)// 设置点击阴影不取消对话框mBottomSheetReportDialog?.setCanceledOnTouchOutside(false)// 获取 BottomSheetBehaviorvalbehavior=BottomSheetBehavior.from(bottomSheetView.parentasView)//设置展开模式behavior.state=BottomSheetBehavio...
super.onStart() val dialog = dialog if(dialog !=null) { val bottomSheet = dialog.findViewById<View>(R.id.design_bottom_sheet) bottomSheet.layoutParams.height = ViewGroup.LayoutParams.MATCH_PARENT } val view = view view!!.post { val parent = view.parent as View val params = parent.layou...
super.onStart() val dialog = dialog if(dialog !=null) { val bottomSheet = dialog.findViewById<View>(R.id.design_bottom_sheet) bottomSheet.layoutParams.height = ViewGroup.LayoutParams.MATCH_PARENT } val view = view view!!.post { val parent = view.parent as View val params = parent.layou...
重写子BottomSheetDialogFragment中的setupDialog(),将其设置为按屏幕高度放大,如下所示:...
我们需要在 onCreateDialog() 方法中查找 RecyclerView 并将其与 NoteAdapter 搭配使用: override fun onCreateDialog(savedInstanceState: Bundle?): Dialog { val view = layoutInflater.inflate(R.layout.bottom_sheet_notes, null) val dialog = BottomSheetDialog(requireContext(), theme) dialog.setContentView(...
说到弹窗最简单的方式就是使用Android自带的弹窗,我比较喜欢用底部弹窗BottomSheetDialog,基本满足需求就不需要自己去自定义了。 首先在colors.xml中增加一个颜色,是分割线的颜色 代码语言:javascript 复制 <color name="line">#EEEcolor> 然后通过drawable绘制一个顶部左右圆角的背景,在drawable下新建一个shape...
我们需要在 onCreateDialog() 方法中查找 RecyclerView 并将其与 NoteAdapter 搭配使用: override fun onCreateDialog(savedInstanceState: Bundle?): Dialog { val view = layoutInflater.inflate(R.layout.bottom_sheet_notes, null) val dialog = BottomSheetDialog(requireContext(), theme) dialog.setContentView(...
kotlin BottomSheetDialog 去掉默认的白色背景 dialog.setContentView(dialogView)dialog.window?.findViewById<FrameLayout>(R.id.design_bottom_sheet)?.setBackgroundResource(R.color.transparent)//一定要这样写,design_bottom_sheet 就是系统默认的id,不是布局dialogView里面的...
说到弹窗最简单的方式就是使用Android自带的弹窗,我比较喜欢用底部弹窗BottomSheetDialog,基本满足需求就不需要自己去自定义了。 首先在colors.xml中增加一个颜色,是分割线的颜色 代码语言:javascript 复制 <color name="line">#EEEcolor> 然后通过drawable绘制一个顶部左右圆角的背景,在drawable下新建一个shape...