c语言sscanf函数的用法是什么
224
2022-09-23
dialog内部webview显示网页生成的二维码(网页非图)宽度问题
使用webview外部布局必须填满或设置高度,所以布局如下[二维码原背景为无,chrome显示为黑色,坑。。。]:
final View view = LayoutInflater.from(MainActivity.this).inflate(R.layout.qrcode,null);final android.webkit.WebView web = (android.webkit.WebView) view.findViewById(R.id.web);web.getSettings().setUseWideViewPort(true);web.getSettings().setLoadWithOverviewMode(true);if(qrDialog == null){ qrDialog = new AlertDialog.Builder(MainActivity.this) .setView(view).create();}getProgressDialog().show();final android.view.WindowManager.LayoutParams p = qrDialog.getWindow().getAttributes();final ViewGroup.LayoutParams params = web.getLayoutParams();vto.addOnGlobalLayoutListener(new ViewTreeObserver.OnGlobalLayoutListener() { @Override public void onGlobalLayout() { if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN) { view.getViewTreeObserver().removeOnGlobalLayoutListener(this); }else view.getViewTreeObserver().removeGlobalOnLayoutListener(this); int height = view.getHeight(); params.width = PictureUtil.dip2px(MainActivity.this,height); params.height = PictureUtil.dip2px(MainActivity.this,height); p.width = PictureUtil.dip2px(MainActivity.this,height)+70; qrDialog.getWindow().setAttributes(p); web.setLayoutParams(params); } });web.setWebViewClient(new WebViewClient(){ @Override public void onPageFinished(WebView view, String url) { super.onPageFinished(view, url); getProgressDialog().dismiss(); qrDialog.show(); }}); web.loadUrl("二维码网址。。。");
比较坑的是,还是做不到长宽一致只能保证二维码显示是完整的,所以这里加了一个数字,看起来稍微自然。 p.width = PictureUtil.dip2px(MainActivity.this,height)+70;
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~