如何在底部栏中创建类似UC浏览器的设置弹出菜单?

如何在底部栏中创建类似UC浏览器的设置弹出菜单?如何在底部栏中创建类似UC浏览器的设置弹出菜单?我想实现UC浏览器设置/汉堡包菜单,作为对话框弹出。我确实实现了底部导航栏,只是希望弹出视图/菜单出现尝试对话框,以实现这种布局:尝试如下布局xml:我正在尝试为浏览器屏幕构建此UI,但它在一个部分中被卡住了很长时间,在web上找不到任何相关主题。我想实现UC浏览器设置/汉堡包菜单,作为对话框弹出。我确实实现了底部导航栏,只是希望弹出视图/菜单出现

如何在底部栏中创建类似 UC 浏览器的设置弹出菜单?

如何在底部栏中创建类似 UC 浏览器的设置弹出菜单? ,,xml,-,,Xml, ,我正在尝试为浏览器屏幕构建此 UI,但它在一个部分中停留了很长时间,并且在网络上找不到任何相关主题。我想实现作为对话框弹出的 UC 浏览器设置/汉堡菜单。我是如何开始这样做的,只是发现了一个与它有点松散的联系。我很困惑,请帮助我。我确实实现了底部导航栏,只是希望弹出视图/菜单出现尝试对话框来实现此布局:尝试如下布局 xml:我正在尝试为浏览器屏幕构建此 UI,但它卡在一个部分很长时间,我在网上找不到任何相关主题。我想实现作为对话框弹出的 UC 浏览器设置/汉堡菜单。我如何开始这样做

刚刚找到一个与它有点松散相关的东西。我很困惑,请帮助我。我确实实现了底部导航栏,只是希望弹出视图/菜单出现

尝试对话框来实现这个布局:

尝试以下布局 xml:

                                                                                                                                                                                                

科特林

val dialog=dialog(this@MainActivity)对话框。可设置可取消(true)dialog.requestWindowFeature(窗口.功能\u无\u标题)dialog.getWindow().setBackgroundDrawable(ColorDrawable(Color.TRANSPARENT))dialog.setContentView(R.layout.dialog)val window=dialog.getWindow()val卡_布局:CardView=dialog.findViewById(R.id.card_布局)var参数:FrameLayout.LayoutParams=card_layout.getLayoutParams()作为FrameLayout.LayoutParamsparameter.setMargins(30,30,30,30)//左、上、右、下card_layout.setLayoutParams(参数)val wlp=window.getAttributes()wlp.gravity=gravity.BOTTOMwindow.setAttributes(wlp)window.setLayout(LinearLayout.LayoutParams.MATCH_父项,LinearLayout.LayoutParams.WRAP_内容)dialog.show()

以上代码的输出:

                                                                                                                                                                                                

我希望它对你有用。

这是一个非常简单的底部工作表对话框。您可以在 xml 中将其设为静态或作为片段动态,但它看起来相同。将它放在一个圆角并添加一些边距,以便它从底部抬起。好的,这可行,但是我如何设置此视图的边距,因为设置重力底部会将其放在屏幕上,我想升级它,我正在这样做。将边距设置为 xml 文件中对话框的父布局。感谢您转译代码,这里的问题通常是我们通过使用 this 来做到这一点

窗口获取一个变量作为LayoutType.LayoutParams来设置边距,使用该变量我们可以在运行时设置边距,但在这里,我不知道我能做到什么。既然我们在运行时设置重力,那么我认为在运行时设置边距是可行的。请尝试将
var参数:FrameLayout.LayoutParams=card_layout.getLayoutParams()设置为FrameLayout.LayoutParams

参数.setMargins(30,30,30)

检查编辑的答案。

val dialog = Dialog(this@MainActivity)        dialog.setCancelable(true)        dialog.requestWindowFeature(Window.FEATURE_NO_TITLE)        dialog.getWindow().setBackgroundDrawable(ColorDrawable(Color.TRANSPARENT))        dialog.setContentView(R.layout.dialog)        val window = dialog.getWindow()        val card_layout:CardView=dialog.findViewById(R.id.card_layout)        var parameter:FrameLayout.LayoutParams = card_layout.getLayoutParams() as FrameLayout.LayoutParams        parameter.setMargins(30,30,30,30) // left, top, right, bottom        card_layout.setLayoutParams(parameter)        val wlp = window.getAttributes()        wlp.gravity = Gravity.BOTTOM        window.setAttributes(wlp)        window.setLayout(LinearLayout.LayoutParams.MATCH_PARENT, LinearLayout.LayoutParams.WRAP_CONTENT)        dialog.show()

免责声明:本文来自网络用户投稿,不代表本站观点和立场。如有侵权请发送邮件至tzanseo@163.com告知本站删除,本站不负任何责任及承诺。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。

发表评论

登录后才能评论