• 半透明dialog 自定义的 用于防沉迷提示


    //java文件 计时 显示一分钟 一分钟后消失 显示的时候可点击别的事件
    //不抢占Activity焦点:
    // dialog不去抢占焦点
    这个是实现 dialog.getWindow().setFlags(WindowManager.LayoutParams.FLAG_NOT_TOUCH_MODAL, WindowManager.LayoutParams.FLAG_NOT_TOUCH_MODAL);

    //点击屏幕dialog不消失
    dialog.setCanceledOnTouchOutside(false);
    //计时1分钟 1000:一秒 10000:10秒
    cdt = new CountDownTimer(60000,1000) {//前面那个参数总数几秒 后面是每次几秒
    @Override
    public void onTick(long millisUntilFinished) {

                    }
                    @Override
                    public void onFinish() {
                        dialog.dismiss();
                    }
    

    用悬浮窗实现PopupWindow dialog有可能出现切屏出去回来后黑屏现象 这个不会
    private static void setPopupWindow() {
    CountDownTimer timer;
    View view = LayoutInflater.from(activity).inflate(R.layout.dialog, null, false);
    final PopupWindow popWindow = new PopupWindow(view,
    ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.WRAP_CONTENT, true);
    popWindow.setOutsideTouchable(false); // 设置popupwindow外部可点击
    popWindow.setFocusable(false); // 获取焦点
    timer = new CountDownTimer(60000, 1000) {
    @Override
    public void onTick(long millisUntilFinished) {
    }
    @Override
    public void onFinish() {
    popWindow.dismiss();
    }
    };
    timer.start();
    //要为popWindow设置一个背景才有效
    popWindow.setBackgroundDrawable(new ColorDrawable(0x00000000));
    popWindow.showAtLocation(activity.getWindow().getDecorView(), Gravity.TOP, 0, 0);
    }

                };
    

    // 倒计时器,用来设置动画显示时间
    CountDownTimer cdt;
    final Dialog dialog = new Dialog(MainActivity.this,R.style.transcutestyle);
    dialog.setContentView(R.layout.dialog);
    Window window = dialog.getWindow();
    window.setGravity(Gravity.TOP);
    dialog.getWindow().setFlags(WindowManager.LayoutParams.FLAG_NOT_TOUCH_MODAL, WindowManager.LayoutParams.FLAG_NOT_TOUCH_MODAL);
    dialog.setCanceledOnTouchOutside(false);
    dialog.show();
    cdt = new CountDownTimer(60000,1000) {
    @Override
    public void onTick(long millisUntilFinished) {

                    }
                    @Override
                    public void onFinish() {
                        dialog.dismiss();
                    }
                };
                cdt.start();
    

    //布局

    <TextView
        android:textColor="#ffffff"
        android:background="#80000000"
        android:paddingBottom="20dp"
        android:paddingTop="20dp"
        android:paddingRight="10dp"
        android:paddingLeft="10dp"
        android:text="由于您是未成年人,您将被纳入防沉迷系统。您的每日累计在线时长为1.5小时,每日22时至次日8时无法登陆游戏,法定假日与工作日限定一致"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        tools:ignore="MissingConstraints" />
    

    在res-> values -> styles 下创建一个这个

  • 相关阅读:
    洛谷P1428 小鱼比可爱 题解 枚举
    使用二分查找来判断一个有序序列中是否存在特定元素
    基础排序(冒泡、选择、插入)学习笔记
    CF1316B String Modification 题解 字符串模拟/找规律
    洛谷P2239 螺旋矩阵 题解 模拟
    洛谷P1076 寻宝 题解 模拟
    洛谷P1308 统计单词数 题解 模拟
    TypeError: unhashable type: 'dict'
    linux shell 多个命令一起执行的几种方法
    在Linux写shell脚本,执行python指令
  • 原文地址:https://www.cnblogs.com/wang-jingyuan/p/12769029.html
Copyright © 2020-2023  润新知