Android对话框图片全屏
16lz
2021-01-23
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
更多相关文章
- android如何获取url指定的图片资源
- android---图片切换
- Android ImageView图片显示点击背景切换
- Android中图片占用内存的计算
- Android imageView图片按比例缩放(转)
- android中九宫图整齐排列(图片处理)
- Android studio实现左右滑动切换图片
- Android-给图片添加暗影
- Java和Android Http连接程序:使用java.net.URL 下载服务器图片到