安卓学习笔记,ADB奇葩无法连接问题

多个页面返回

-多个页面回退如A,B,C,D,从D直接跳转到A。
-在D中设置intent.setFlags(intent.FLAG_ACTIVITY_CLEAR_TOP);
-如果A的intent为默认的话得加上
-intent.addFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP);
-不加上面那句话,A会直接finish,然后重新创建。加上之后会走A页面的onNewIntent()方法.

Intent intent = new Intent(activity, xxx.class);
intent.setFlags(intent.FLAG_ACTIVITY_CLEAR_TOP);
intent.addFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP);
activity.startActivity(intent);  

部分机型PopupWindow弹出位置不正确的解决方法

show的时候调用,用坐标系计算popwindow的高度不会出错,如果直接用屏幕高度计算popwindow的高度会有偏差。并且popwindow设置虚拟键盘的方法会失效。

if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) {
                int[] location = new int[2];
                view.getLocationOnScreen(location);
                int tempHeight = getHeight();
                setHeight(ScreenUtils.getFullActivityHeight(mContext) - location[1] - view.getHeight() - Utils.dp2px(mContext,55));
               
                showAtLocation(view, Gravity.NO_GRAVITY, location[0], location[1] + view.getHeight());
                update();
            } else {
                showAsDropDown(view, 0, 0);
                update();
            }

ADB不能用奇葩问题

因为修改localhost只要重启AS后导致ADB无法重新连接。把localhost修改回来就好了

html代码没有适配图片不能全屏显示

webView.getSettings().setLayoutAlgorithm(WebSettings.LayoutAlgorithm.SINGLE_COLUMN);
webView.getSettings().setBuiltInZoomControls(true); // 显示放大缩小
webView.getSettings().setSupportZoom(true); // 可以缩放
webView.getSettings().setJavaScriptEnabled(true);

webView.setWebViewClient(new MyWebViewClient());

private class MyWebViewClient extends WebViewClient {

        @Override
        public void onPageFinished(WebView view, String url) {
            super.onPageFinished(view, url);
            imgReset();//重置webview中img标签的图片大小
        }

        @Override
        public boolean shouldOverrideUrlLoading(WebView view, String url) {
            view.loadUrl(url);
            return true;
        }
}
/**
  * 对图片进行重置大小,宽度就是手机屏幕宽度,高度根据宽度比便自动缩放    */
 private void imgReset() {
        webView.loadUrl("javascript:(function(){"
                + "var objs = document.getElementsByTagName('img'); "
                + "for(var i=0;i<objs.length;i++)  " + "{"
                + "var img = objs[i];   "
                + "    img.style.width = '100%';   "
                + "    img.style.height = 'auto';   "
                + "}" + "})()");
    }

如果页面有EditView进入页面就会自动获取光标。可以在父布局加两句话

android:focusable="true"
android:focusableInTouchMode="true"

webview加载不出网页

webView.getSettings().setDomStorageEnabled(true);
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容