app直播源代码,高仿软件评论底部弹出框

app直播源代码,高仿软件评论底部弹出框

这个弹窗的效果是使用BottomSheetDialogFragment做的,第一个弹出的对话框为CommentListDialogFragment ,第二个弹出的对话框为SendCommentDialogFragment,代码如下:

 

展示 CommentListDialogFragment。

 

1
<br> <br>public class CommentListDialogFragment extends BottomSheetDialogFragment {<br>    private Dialog dialog;<br> <br>    @Override<br>    public void onCreate(@Nullable Bundle savedInstanceState) {<br>        super.onCreate(savedInstanceState);<br>        setStyle(DialogFragment.STYLE_NO_FRAME, R.style.DialogTheme);//给dialog设置主题为透明背景 不然会有默认的白色背景<br>    }<br> <br>    @Override<br>    public Dialog onCreateDialog(Bundle savedInstanceState) {<br>        dialog = super.onCreateDialog(savedInstanceState);<br>        dialog.setCanceledOnTouchOutside(true);//设置点击外部可消失<br>        Window win = dialog.getWindow();<br>        WindowManager.LayoutParams params = win.getAttributes();<br>        win.setSoftInputMode(params.SOFT_INPUT_ADJUST_NOTHING);//设置使软键盘弹出的时候dialog不会被顶起<br>        win.setWindowAnimations(R.style.Anim_Dialog_Bottom);//这里设置dialog的进出动画<br>        return dialog;<br>    }<br> <br>    @Nullable<br>    @Override<br>    public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {<br>        // 在这里将view的高度设置为精确高度,即可屏蔽向上滑动不占全屏的手势。如果不设置高度的话 会默认向上滑动时dialog覆盖全屏<br>        View view = inflater.inflate(R.layout.list_dialog, container, false);<br>        view.setLayoutParams(new ViewGroup.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT,<br>                getScreenHeight(getActivity()) * 2 / 3));<br>        return view;<br>    }<br> <br>    @Override<br>    public void onViewCreated(View view, @Nullable Bundle savedInstanceState) {<br>        TextView postCommentText = view.findViewById(R.id.tv);<br>        RecyclerView recyclerView = view.findViewById(R.id.rv);<br>        recyclerView.setLayoutManager(new LinearLayoutManager(getContext()));<br>        ItemAdapter itemAdapter = new ItemAdapter();<br>        recyclerView.setAdapter(itemAdapter);<br>        postCommentText.setOnClickListener(new View.OnClickListener() {<br>            @Override<br>            public void onClick(View view) {<br>                //写评论的弹出框<br>                SendCommentDialogFragment dialogFragment = new SendCommentDialogFragment();<br>                dialogFragment.show(getFragmentManager(),dialogFragment.getClass().getName());<br>            }<br>        });<br> <br>    }<br> <br>    /**<br>     * 得到屏幕的高<br>     */<br>    public static int getScreenHeight(Context context) {<br>        WindowManager wm = (WindowManager) context.getSystemService(Context.WINDOW_SERVICE);<br>        int height = wm.getDefaultDisplay().getHeight();<br>        return height;<br>    }<br> <br>    @Override<br>    public void onStart() {<br>        super.onStart();<br>        final View view = getView();<br>        view.post(new Runnable() {<br>            @Override<br>            public void run() {<br>                View parent = (View) view.getParent();<br>                CoordinatorLayout.LayoutParams params = (CoordinatorLayout.LayoutParams) (parent).getLayoutParams();<br>                CoordinatorLayout.Behavior behavior = params.getBehavior();<br>                BottomSheetBehavior mBottomSheetBehavior = (BottomSheetBehavior) behavior;<br>                mBottomSheetBehavior.setHideable(false);//禁止下拉取消弹框<br>                mBottomSheetBehavior.setPeekHeight(view.getMeasuredHeight());//让dialog的内容显示完整<br>            }<br>        });<br>    } 

以上就是app直播源代码,高仿软件评论底部弹出框, 更多内容欢迎关注之后的文章

 

posted @   云豹科技-苏凌霄  阅读(15)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现
历史上的今天:
2022-05-10 短视频app开发,内容模糊化,解锁更多强化功能
2022-05-10 直播平台开发,动态文字输出,文字自动输出
2022-05-10 直播平台源代码,flutter 自定义九宫格,计算器布局,验证码认证
点击右上角即可分享
微信分享提示