博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
如何禁止使用bottomsheetdialogfragment拖动?
阅读量:6092 次
发布时间:2019-06-20

本文共 1962 字,大约阅读时间需要 6 分钟。

myactivity代码如下:

public class MyActivity extends AppCompatActivity {        @Override        protected void onCreate(@Nullable Bundle savedInstanceState) {            super.onCreate(savedInstanceState);            setContentView(R.layout.activity_my);            new MyBottomSheetFragment().show(getSupportFragmentManager(), "tag");        }        public static class MyBottomSheetFragment extends BottomSheetDialogFragment {            @Override            public Dialog onCreateDialog(Bundle savedInstanceState) {                BottomSheetDialog bottomSheetDialog = (BottomSheetDialog) super.onCreateDialog(savedInstanceState);                bottomSheetDialog.setContentView(R.layout.sample);                try {                    Field mBehaviorField = bottomSheetDialog.getClass().getDeclaredField("mBehavior");                    mBehaviorField.setAccessible(true);                    final BottomSheetBehavior behavior = (BottomSheetBehavior) mBehaviorField.get(bottomSheetDialog);                    behavior.setBottomSheetCallback(new BottomSheetBehavior.BottomSheetCallback() {                        @Override                        public void onStateChanged(@NonNull View bottomSheet, int newState) {                            if (newState == BottomSheetBehavior.STATE_DRAGGING) {                                behavior.setState(BottomSheetBehavior.STATE_EXPANDED);                            }                        }                        @Override                        public void onSlide(@NonNull View bottomSheet, float slideOffset) {                        }                    });                } catch (NoSuchFieldException e) {                    e.printStackTrace();                } catch (IllegalAccessException e) {                    e.printStackTrace();                }                return bottomSheetDialog;            }        }    }

这个地方的r.layout.sample是一个简单的布局:

你会得到下面的输出:

图片描述

原文地址:

转载地址:http://hpmwa.baihongyu.com/

你可能感兴趣的文章
Hyper-V下面激活win2008 R2虚拟机系统
查看>>
Python——简介
查看>>
我的友情链接
查看>>
Q_OBJECT什么时候必须使用?
查看>>
javascript入门(3)
查看>>
继承与派生定义及相关程序调用举例
查看>>
Python随笔(一)Python3关键字
查看>>
代理ARP(Proxy-ARP)
查看>>
openstack M版本部署
查看>>
Android activity_main.xml文件中的FrameLayout
查看>>
android源码(网页)
查看>>
Receive queue 和 Send queue 理解说明
查看>>
linux利用 ssh连接windows winsshd问题
查看>>
十四个高性能Java持久化技巧
查看>>
我的友情链接
查看>>
NO.141 项目研发之测试团队篇:创建测试用例,管理测试任务。
查看>>
iftop网络流量查看工具
查看>>
shell 中循环总结
查看>>
RHCE033(四)---系统启动过程和grub
查看>>
如何尽快验证cname,MX,spf记录是否生效?
查看>>