美文网首页
2019-03-07

2019-03-07

作者: justwang | 来源:发表于2019-03-07 11:47 被阅读0次

    客户端Webview设计规范

    客户端 Webview,即内嵌在手机端内部的网页内容。

    结构

    • 使用场景
    • 界面规范
    • 代码规范(Android篇)
    • 交互设计规范

    一. 使用场景

    <font size="3">简介:描述 webview 会在App的何处出现,哪些功能采用此技术更方便,高效。我们需要定义出现在不同地方的 webview 在App的整体流程中处于一个怎样的位置。</font>

    1.商城、积分模块

    2.用户协议,声明,反馈介绍页面模块

    3.广告模块(广告详情页)

    4.游戏模块

    5.活动模块

    二. 界面规范

    简介:规范 webview 的导航方式:页面标题,返回、刷新、退出(关闭)、出错操作。同时描述 webview 内部的宏观结构,如 header 区域、footer 区域等。

    1.页面标题导航栏采用原生实现(如无,iOS无法做返回操作);

    image

    2.打开webview,需要loading效果,效果最好原生实现。刷新效果前端定义。返回、退出需要关闭webview并销毁。
    打开webview出错,需要给予一个出错view,此view原生定义实现。

    3.header 区域、footer 区域如遇特殊需求,可以灵活使用。

    三.代码基本规范(Android篇)

    1:添加权限<uses-permission android:name="android.permission.INTERNET" />

    2:布局文件

     <WebView
       android:id="@+id/webView"
       android:layout_width="match_parent"
       android:layout_height="match_parent" />```
    3:数据加载`webView.loadUrl("www.xxx.com/index.html");`
    4:支持JavaScript,CSS样式与交互
    5:网页栈返回
    webview会默认把浏览过去的网页进行压栈存储,所以我们实现回退到上一目录。回到webview首页,点击返回,返回原生上一页面。连续点击两次,退出App;
    ```java
    @Override
        public boolean onKeyDown(int keyCode, KeyEvent event) {
            if (keyCode == KeyEvent.KEYCODE_BACK) {
                if (webView.canGoBack()) {
                    webView.goBack();//返回上一浏览页面
                    return true;
                } else {
                    finish();//关闭Activity
                }
            }
            return super.onKeyDown(keyCode, event);
        }```
    6:关闭硬件加速
    
    开启硬件加速强制使用GPU渲染,确实给app流畅度带来不小的提升,但是在使用过程中遇见webview闪烁,也有导致加载webView黑屏或者白屏。
    
    `webView.setLayerType(View.LAYER_TYPE_SOFTWARE, null);`
    
    #### 四.交互设计规范
    
    如遇功能需求,需要webview与原生交互,个人认为需要统一规范,比如统一方法,统一定义返回类型。做到兼容Android与iOS。
    

    相关文章

      网友评论

          本文标题:2019-03-07

          本文链接:https://www.haomeiwen.com/subject/bhqcpqtx.html