android 自定义对话框使对话框铺满全屏。边缘无缝对接,

效果图如下:

调用方式:

 new AdFullDialog(MainActivity.this, “”, “”, “”, “”).show();

 对话框代码:

 /**     * 全屏广告     */    public class AdFullDialog extends Dialog {        private Context context;        private String mUrl;        Bitmap bmp;        String mtarget_url;        String Target_url;        ImageView ivAdvertising;        TextView mtv_second;        LinearLayout layout_skip;        public AdFullDialog(Context context, String url, String target_url, String Deep_link, List deep_link_monitor_url) {            // 更改样式,把背景设置为透明的            super(context, R.style.dialog);            this.context = context;            mUrl = url;            mtarget_url = target_url;            Log.e("getTarget_url111", mtarget_url);        }        @Override        protected void onCreate(Bundle savedInstanceState) {            super.onCreate(savedInstanceState);            requestWindowFeature(Window.FEATURE_NO_TITLE);            calculateHeightAndWidth();        }        @Override        public void show() {            super.show();            /**             * 设置宽度全屏,要设置在show的后面             */            WindowManager.LayoutParams layoutParams = getWindow().getAttributes();            layoutParams.gravity = Gravity.BOTTOM;            layoutParams.width = ViewGroup.LayoutParams.MATCH_PARENT;            layoutParams.height = ViewGroup.LayoutParams.MATCH_PARENT;            getWindow().getDecorView().setPadding(0, 0, 0, 0);            getWindow().setAttributes(layoutParams);        }        /**         * 按实际图片比例对其的宽高进行缩放         */        private void calculateHeightAndWidth() {            initAdView();        }        @SuppressLint("ResourceType")        private void initAdView() {            new Thread(getPicByUrl).start();//获取图片            setContentView(R.layout.activity_ad);//加载自定义布局            ivAdvertising = findViewById(R.id.iv_advertising);            layout_skip = findViewById(R.id.layout_skip_close);            mtv_second = findViewById(R.id.tv_second);            ivAdvertising.setOnTouchListener(new TouchListenerImp());            ivAdvertising.setOnClickListener(new View.OnClickListener() {                @Override                public void onClick(View view) {                                   }            });            layout_skip.setOnClickListener(new View.OnClickListener() {                @Override                public void onClick(View view) {                    dismiss();                }            });        }        Runnable getPicByUrl = new Runnable() {            @Override            public void run() {                try {                    bmp = GetImgUtil.getImage(mUrl);// BitmapFactory:图片工厂!                    Log.i("ggggg", bmp.toString());                    sendMsg(1);                } catch (Exception e) {                    Log.i("ggggg", e.getMessage());                }            }        };                    /**         * 获取点击对话框坐标         */        private class TouchListenerImp implements View.OnTouchListener {            public boolean onTouch(View v, MotionEvent event) {                ClickXY clickXY = new ClickXY();                NumberFormat nf = new DecimalFormat("#.#");                double a = 3.1;                SLOT_X = nf.format(event.getX());                SLOT_Y = nf.format(event.getY());//            Log.e("LZ", "---SLOT_X=" + event.getRawX() + "----SLOT_X=" + event.getRawY())                DOWN_X = nf.format(event.getRawX());                DOWN_Y = nf.format(event.getRawY());                clickXY.setSLOT_X(SLOT_X);                clickXY.setSLOT_Y(SLOT_Y);                clickXY.setDOWN_X(DOWN_X);                clickXY.setDOWN_Y(DOWN_Y);                Log.e("LZ", "---SLOT_X=" + event.getRawX() + "----SLOT_X=" + event.getRawY() + "DOWN_X=" + DOWN_X + "DOWN_Y=" + DOWN_Y);                return false;            }        }    }

XML文件:

<?xml version="1.0" encoding="utf-8"?>                            

                                                                                                                                                                    -END

更多相关文章

  1. Android获取RecyclerView滑动距离
  2. Android(安卓)获取屏幕尺寸与密度
  3. Android(安卓)获取包名,版本信息
  4. android如何获取url指定的图片资源
  5. android---图片切换
  6. 点击button然后改变其中文字的颜色
  7. EditText设置不自动获取焦点,点击后才获取,并弹出软键盘
  8. Android开发学习笔记(十二) 获取系统可用内存
  9. android获得mac和ip .

随机推荐

  1. Android的两种数据存储方式分析(一)
  2. Android简单类型资源(Bool、Color、Dimens
  3. android jni介绍
  4. 解决Your content must have a ListView
  5. Android用户注册界面
  6. android TextView 不显示文字
  7. android实现视频播放的几种方式
  8. Android之Intent详解
  9. Android(安卓)利用JNI实现串口通信
  10. Android_Log_1_基础知识