首页 > 其他分享 >app直播源代码,高仿软件评论底部弹出框

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

时间:2023-05-10 14:12:07浏览次数:29  
标签:app 高仿 dialog new Override View 源代码 public view

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

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

 

展示 CommentListDialogFragment。

 


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

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

 

标签:app,高仿,dialog,new,Override,View,源代码,public,view
From: https://www.cnblogs.com/yunbaomengnan/p/17387812.html

相关文章

  • 利用Appuploader上架IPA步骤
     Appuploader可以辅助在Windows、linux或mac系统直接申请iOS证书p12,及上传ipa到AppStore。方便在没有苹果电脑情况下上架IPA操作。一、下载安装iOS上架辅助软件Appuploader下载地址:下载软件包后解压直接使用,无需安装。二、申请iOS发布证书(p12文件)发布证书用于......
  • 微信小程序 app.json 里 "style": "v2" 的作用
    新版微信小程序的app.json文件中多了一个:style":"v2"{"pages":["pages/index/index","pages/logs/logs"],"window":{"backgroundTextStyle":"light","navigationBarBac......
  • spring框架_ApplicationContext实现
    ApplicationContext实现ApplicationContext有四个经典实现ClassPathXmlApplicationContext:经典容器,基于classpath下xml格式的配置文件来创建FileSystemXmlApplicationContext:基于磁盘路径下xml格式的配置文件前两种实现都是用来帮助beanfactory读取bean的都是读取XML......
  • 解决 Docker 的 DeviceMapper 占用空间过大
    某虚拟机运行容器半年后,磁盘空间报警,使用率超过百分之九十。经查后发现为Docker的DeviceMapper占用空间过大。概述DeviceMapper为容器的镜像和运行过程的缓存存放目录,这并不是一个文件夹,而是一个虚拟块设备。解决先将当前运行的容器导出为镜像(若已经对原有镜像进行过修改......
  • [SWPUCTF 2021 新生赛]easyapp
    查壳:发现里边有个压缩包,弄出来看看:再查壳看看:啥也不是,把它扔进IDA:没有伪代码,一个字‘找’,关键点(是否IDA能成功反编译,还是说用了java的反编译才行,是否有flag或者CTF之类的字样):发现特殊字样,跟进:大写String?大胆点进jadx:成功,告诉我们什么?要大胆点,不然会浪费很多的时间:找......
  • 【Azure 存储服务】使用 AppendBlobClient 对象实现对Blob进行追加内容操作
    问题描述在AzureBlob的官方示例中,都是对文件进行上传到Blob操作,没有实现对已创建的Blob进行追加的操作。如果想要实现对一个文件的多次追加操作,每一次写入的时候,只传入新的内容? 问题解答AzureStorageBlob有三种类型:BlockBlob,AppendBlob和PageBlob。其中,只有Appen......
  • uniapp微信小程序,上传图片和表单数据一起提交
    弄表单上传,请求一直400错误,然后寻找其它方法uni.uploadFile({url:'http://localhost:6109/api/My/warrantyCard',//上传服务器的URLfilePath:this.ImgUrl,//本地图片的路径或临时文件路径......
  • 微信小程序中使用rpx像素单位设置高度---uniapp开发中
    在微信小程序中使用rpx可以解决屏幕宽度的兼容问题但是设置高度的时候还是会有问题为了解决宽度的兼容问题,在微信小程序中可以使用了rpx像素单位来进行设置,不管屏幕的宽度大小是多少,都认为宽度有750rpx这样即使屏幕大小不一样使用了rpx单位来设置的样式比例也是一样的。......
  • uniapp 中的 rich-text 富文本 怎样编辑修改 样式
    1.首先在HTML中 <rich-text:nodes="formatRichText(newObjc)"></rich-text>2.在 methods中写入方法formatRichText(html){//html就是你要传进来地富文本参数//去掉img标签里的style、width、height属性......
  • spring框架_Applicationcontext功能
    Applicationcontext的功能拓展主要来自于不属于beanfactory的接口,主要包括四个接口Messagesource:国际化ResourcePatternResolver:获取资源ApplicationEventPublisher:发布事件EnvironmentCapable:获取环境变量感觉发布事件这个功能有点像消息队列,发布订阅,在compent......