android开发过程中遇到的问题小结(不定期更新)

113 篇文章 0 订阅
10 篇文章 0 订阅

From: http://www.cnblogs.com/flyoung2008/archive/2012/03/13/2393680.html

一、按BACK、HOME键后activity的生命周期问题

按Back键后activity被销毁,HOME则没有被销毁。

activity的生命周期 参看:http://blog.csdn.net/Android_Tutor/article/details/5772285

二、webview捕获js的alert、confirm、prompt事件

使用WebChromeClient主要辅助WebView处理Javascript的对话框、网站图标、网站title、加载进度等

WebViewClient与WebChromeClient的区别 参看:http://www.cnblogs.com/Crazy-jacking/archive/2011/11/24/2262425.html

WebChromeClient的使用 参看:http://618119.com/archives/2010/12/20/199.html

三、处理webview显示网页白边问题

解决方法:使用的webview的setScrollBarStyle方法设置滚动条位置的属性,android:scrollbarStyle 可以是insideOverlay可以是outsideOverlay。

具体示例:

webview.setScrollBarStyle(View.SCROLLBARS_INSIDE_OVERLAY);  

四、手机横竖屏切换问题

1、让手机横竖屏切换不销毁当前activity  

解决方法:在Mainifest.xml的Activity元素中加入android:configChanges=”orientation|keyboardHidden”属性,加入这条属性的含义是,应用程序将会处理屏幕方向和键盘状态(推出或合上)信息的改动。经过测试,加上这条属性之后,Activity没有被销毁,页面还在原来的位置。

2、手机横竖屏切换设置

参看:http://blog.csdn.net/tsk/article/details/6633905

五、webview隐藏地址栏

解决方法:使用WebViewClient显示网页内容

webview.setWebViewClient(new WebViewClientDemo());
复制代码
 private class WebViewClientDemo extends WebViewClient { 
        @Override 
        // 在WebView中而不是默认浏览器中显示页面 
        public boolean shouldOverrideUrlLoading(WebView view, String url) { 
            view.loadUrl(url); 
            return true; 
        } 
    }
复制代码

六、webview前进、后退操作

覆写Activity的onKeyDown方法 或者 webview捕获按键操作

复制代码
/*
     * webview的后退操作
     * */
    @Override
    public boolean onKeyDown(int keyCode, KeyEvent event) {
       if ((keyCode == KeyEvent.KEYCODE_BACK) && webViewMain.canGoBack()) {
           webViewMain.goBack();
           return true;
       }
       return super.onKeyDown(keyCode, event);
    }
    
复制代码
复制代码
       webview.setOnKeyListener(new View.OnKeyListener() {  
            @Override  
            public boolean onKey(View v, int keyCode, KeyEvent event) {  
                if (event.getAction() == KeyEvent.ACTION_DOWN) {  
                    if (keyCode == KeyEvent.KEYCODE_BACK && webview.canGoBack()) {  //表示按返回键时的操作
                        webview.goBack();   //后退  

                        //webview.goForward();//前进
                        return true;    //已处理  
                    }  
                }  
                return false;  
            }  
        });
复制代码

七、WebView处理404、505等问题


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值