BottomSheetDialogFragment 在18:9以上的手机显示没问题 解决 16:9以下的手机显示不全(上拉后可以显示全)
* BottomSheetDialogFragment 在18:9以上的手机显示没问题
* 解决 16:9以下的手机显示不全(上拉后可以显示全)
fun showAllDialog() {
view?.let {
val parent: View = it.parent as View
val behavior = BottomSheetBehavior.from(parent)
// 初始为展开状态
behavior.setState(BottomSheetBehavior.STATE_EXPANDED)
相关文章:
解决bottomsheetdialog 无法显示完全的问题 - 简书
我们的项目中,分享弹窗都是用的bottomsheetdialog,但是会出现一个问题,就是在横屏是,弹窗只能显示一半,需要手动往上滑一下才能完全显示,看源码发现@Overri...
https://www.jianshu.com/p/50c54d8e0d4a
BottomSheetDialogFragment 在18:9以上的手机显示没问题 解决 16:9以下的手机显示不全(上拉后可以显示全)/** * BottomSheetDialogFragment 在18:9以上的手机显示没问题 * 解决 16:9以下的手机显示不全(上拉后可以显示全) */ fun showAllDialog() { view?.let { val parent: View = it.parent as
产品提了个常规需求,从底部弹框显示性别选择框,以前直接用原生Alert
Dialog
或者自定义
Dialog
,这次想来个不一样的,查看开发文档发现
Bott
omSheet
Dialog
也可以实现,并且自带手势滑动和动画,于是开搞,实现效果如下。
效果可以。由于产品
需要
适配横屏,顺手试了下横屏,然后傻眼了,效果如下。
横屏状态下自定义的view没有显示
全
,
需要
手动上滑才能完
全
显示。习惯性点了下
Bott
omSheet
Dialog
源码,发现走onStart时
Bott
omSheet
Behavior把状态设置成ST
在最近的项目中要用到
Bott
omSheet
Dialog
Fragment
,因为
需要
在
Bott
omSheet
Dialog
Fragment
生命周期中处理一些逻辑,所以选择了
Bott
omSheet
Dialog
Fragment
,但是在写完后发现,
Bott
omSheet
Dialog
Fragment
弹窗,底部还有一部分显示不
全
,
需要
往上面滑动一下才能显示完
全
,查了一下资料说是发生了冲突,然后谷歌了一下,找到了解决办法:
在
Bott
omSheet
Dialog
Fragment
的onCreateVie...
最近测试的时候发现一个
问题
,就是
Bott
omSheet
Dialog
Fragment
在18:9以上的
手机
显示没
问题
,但是16:9以下的
手机
显示不
全
(
上拉
后可以显示
全
)。适配方式如下:
1.先计算
屏幕
比例
2.在onStart中设置PeekHeight为view的高度
发现掘金和知乎的分享界面效果挺好的,比自己的用的Alert
Dialog
和 PopupWindow的效果好太多就像学习一下,如图是掘金的文章分享界面
其实这种效果是一个特殊的
Dialog
—-
Bott
omSheet
Dialog
下面是我做的案例效果图 点击方法
public void show
Dialog
(View view) {
View contentView = Layou
class My
Dialog
Fragment
:
Dialog
Fragment
() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
//设置无标题,无背景色
setStyle(STYLE_NO_TITLE, R.style.
Dialog
)
方法1:设置layer-list EditText的背景如下 测试了可以达到效果 可能没设置好 看的过去 <?xml version="1.0" encoding="UTF-8"?>
<layer-list xmlns:
android
="http://schemas.
android
.com/apk/res/
android
" >
<item>
MD风格的底部弹窗,比自定义
dialog
或popupwindow使用更简单,功能也更强大。
其实细分来说,是
Bott
omSheet
、
Bott
omSheet
Dialog
、
Bott
omSheet
Dialog
Fragment
2.
Bott
omSheet
与主界面同层级关系,可以事件触发,如果有设置显示高度的话,也可以拉出来,且不会影响主界面的交互。
<?xml version="1.0" encoding="utf-8"?>
<
android
x.coord
问题
详细出现以及原因可以参考这篇文章。
主要给出解决方法,主要是针对
Bott
omSheet
Dialog
Fragment
的显示
问题
,而非
Bott
omSheet
Dialog
,其实解决方案是类似的。
重写
Bott
omSheet
Dialog
,重新计算peek高度,具体代码如下:
public class FixHeight
Bott
omSheet
Dialog
extends
Bott
omSheet
...
这三种
dialog
,在
Android
开发中经常会使用到,基本用法网络上也有很多,下面主要阐述一下我在项目中遇到的坑以及对应的解决办法
Bott
omSheet
Dialog
issue :
Bott
omSheet
Dialog
弹出时,阴影无法覆盖到状态栏,导致状态栏还是默认的背景色
处理方法:
在oncreate 的时候重新计算并设置window 窗口的高度
public class T3
Bott
o...
import
android
.support.annotation.Nullable;
import
android
.support.design.widget.
Bott
omSheet
Dialog
Fragment
;
import
android
.support.design.widget.
Bott
omSheet
Behavior;
import
android
.support.design.widget.CoordinatorLayout;
Bott
omSheet
Dialog
Fragment
是位于com.google.
android
.material包下的一个类.
Bott
omSheet
Dialog
Fragment
继承自AppCompat
Dialog
Fragment
AppCompat
Dialog
Fragment
继承自
Dialog
Fragment
因为AppCompat
Dialog
Fragment
是一个特殊版本的
Dialog
Fragment
, 所以其实可以看做
Bott
omSheet
Dialog
Fragment
是直接继承于
Dialog
Fr
Build was configured to prefer settings repositories over project repositories but repository ...
34771
java.lang.NullPointerException: Attempt to invoke virtual method 'java.lang.String android.content.C
18041
Build was configured to prefer settings repositories over project repositories but repository ...
l15723212123:
Build was configured to prefer settings repositories over project repositories but repository ...
芒果熟了532:
Build was configured to prefer settings repositories over project repositories but repository ...
dbb496201576:
Build was configured to prefer settings repositories over project repositories but repository ...
cj2211326928:
Build was configured to prefer settings repositories over project repositories but repository ...
A-Liang: