直播软件开发,工具类的自定义弹窗效果

直播软件开发,工具类的自定义弹窗效果

1.带按钮的弹出框(带一个确定按钮)

 

1
<br>private void showDialog(String content){<br>        View view = LayoutInflater.from(mContext).inflate(R.layout.dialog_licence,null,false);<br>        final AlertDialog dialog = new AlertDialog.Builder(mContext).setView(view).create();<br> <br>        TextView btn_agree_high_opion = view.findViewById(R.id.tv_confirm);<br>        TextView tv_content = view.findViewById(R.id.tv_dialog_msg);<br>        tv_content.setText(content);<br>        btn_agree_high_opion.setOnClickListener(new View.OnClickListener() {<br>            @Override<br>            public void onClick(View v) {<br>                //... To-do<br>                dialog.dismiss();<br>            }<br>        });<br>        dialog.show();<br>        int width = mContext.getResources().getDisplayMetrics().widthPixels;<br>        //此处设置位置窗体大小,我这里设置为了手机屏幕宽度的3/4  注意一定要在show方法调用后再写设置窗口大小的代码,否则不起效果会<br>//        dialog.getWindow().setLayout((height/4*3), LinearLayout.LayoutParams.WRAP_CONTENT);<br>        Window win = dialog.getWindow();<br>        win.setGravity(Gravity.CENTER);   // 这里控制弹出的位置<br>        win.getDecorView().setPadding(0, 0, 0, 0);<br>        WindowManager.LayoutParams lp = win.getAttributes();<br>        lp.width = width/2;<br>        lp.height = WindowManager.LayoutParams.WRAP_CONTENT;<br>        dialog.getWindow().setBackgroundDrawable(null);<br>        win.setAttributes(lp);<br>}

布局文件示例(布局文件有些乱,只是个示例):

 

1
<br><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"<br>    android:layout_width="fill_parent"<br>    android:layout_height="fill_parent"<br>    android:layout_marginLeft="@dimen/px30"<br>    android:layout_marginRight="@dimen/px30"<br>    android:background="@drawable/bg_radius_gray"<br>    android:orientation="vertical" ><br>    <LinearLayout<br>        android:layout_width="fill_parent"<br>        android:layout_height="wrap_content"<br>        android:orientation="vertical" ><br>        <LinearLayout<br>            android:layout_width="fill_parent"<br>            android:layout_height="@dimen/px100"<br>            android:gravity="center"<br>            android:orientation="vertical" ><br>            <TextView<br>                android:id="@+id/tv_dialog_msg"<br>                android:layout_width="fill_parent"<br>                android:layout_height="wrap_content"<br>                android:layout_margin="@dimen/px20"<br>                android:gravity="center"<br>                android:textColor="@color/color_333333"<br>                android:textSize="@dimen/font_14" /><br>        </LinearLayout><br>        <View<br>            android:layout_width="fill_parent"<br>            android:layout_marginHorizontal="@dimen/px20"<br>            android:layout_height="@dimen/px1"<br>            android:background="@color/color_515c74" /><br>        <LinearLayout<br>            android:layout_width="fill_parent"<br>            android:layout_height="wrap_content"<br>            android:gravity="bottom"<br>            android:orientation="horizontal" ><br>            <TextView<br>                android:id="@+id/tv_confirm"<br>                android:layout_width="fill_parent"<br>                android:layout_height="@dimen/px68"<br>                android:layout_weight="1"<br>                android:gravity="center"<br>                android:text="@string/common_confirm_text"<br>                android:textColor="@color/color_333333"<br>                android:textSize="@dimen/font_14" /><br>        </LinearLayout><br>    </LinearLayout><br></LinearLayout>

 

2. 不带按钮,不用写布局文件的弹出框

 

1
<br>//3秒自动消失<br>AlertDialog.Builder builder = new AlertDialog.Builder(mContext);<br>//        builder.setTitle("发送成功!");<br>        builder.setMessage(content);<br>        builder.setCancelable(true);<br>        final AlertDialog dlg = builder.create();<br>        dlg.show();<br>        final Timer t = new Timer();<br>        t.schedule(new TimerTask() {<br>            public void run() {<br>                dlg.dismiss();<br>                t.cancel();<br>            }<br>        }, 3000);<br>Window win = dlg.getWindow();<br>        win.setGravity(Gravity.CENTER);   // 这里控制弹出的位置<br>//        win.getDecorView().setPadding(0, 0, 0, 0);<br>        int width = mContext.getResources().getDisplayMetrics().widthPixels;<br>        WindowManager.LayoutParams lp = win.getAttributes();<br>        lp.width = width/5*3;<br>        lp.height = WindowManager.LayoutParams.WRAP_CONTENT;<br>        dlg.getWindow().setBackgroundDrawableResource(R.drawable.bg_radius_gray);<br>        win.setAttributes(lp);

 

以上就是 直播软件开发,工具类的自定义弹窗效果,更多内容欢迎关注之后的文章

 

posted @   云豹科技-苏凌霄  阅读(126)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现
历史上的今天:
2021-07-15 一对一聊天app源码,几种常用的定时器
2021-07-15 网页直播源码,自定义背景色圆角样式的方法
2021-07-15 短视频直播源码,CreateTrackbar亮度和对比度调整
2021-07-15 小视频app源码,CreateTrackbar亮度和对比度调整
2021-07-15 短视频带货app开发,java外观模式Facade
2021-07-15 直播短视频源码,身份证图片识别
点击右上角即可分享
微信分享提示