wjsljc
wjsljc
  • 发布:2018-04-10 11:59
  • 更新:2018-08-08 19:04
  • 阅读:1135

【报Bug】H5+drawInput无法重绘的问题

分类:HTML5+
h5+

详细问题描述
[内容]
基于http://ask.dcloud.net.cn/question/54012的功能实现的过程中,实践过的一些nativeObj方法的问题。现排除无法实现功能的一些重要步骤的导致原因的nativeObj方法,无法在tags中完成功能的一个原因是,draw或者drawInput在安卓机上面无法执行reset方法清除(IOS可以)draw出的input也无法通过重绘(相同id)来实现移除或者覆盖(目前只有input不行,font等类型是可以的),从而无法实现通过重绘的方式完成对tags的显隐控制。我猜测的原因是input虽然是tags但是input是通过原生view层来绘制的,因为其他可以重绘或者清除的tags都没有事件的绑定而input比较特殊也比较复杂(具体是不是我也不太清楚)。
重现步骤
[步骤]
1:使用draw或者drawInput画一个input,在安卓机上面使用reset方法清除即可
2:直接通过draw或者drawInput重绘一个input(相同id)
[结果]
1:清除无效
2:重绘无效而其他类型可以
[期望]
1:修复draw或者drawInput在安卓机上面重绘或者reset清除的问题,与IOS尽量保持一致。使得可以通过重绘的方式变相实现对tags的控制(当然能直接给出控制tags的api是最好的)。
2:我们希望H5+能够提供对外接口使得可以在当前页面使得TitleNView或者其他view层能够绘制子view(subNView)而非在create的时候创建subNViews,这样会使得逻辑处理在多个页面

运行环境
[系统版本]
真机
[浏览器版本]
[IDE版本]
最新
[mui版本]
最新

附件
[代码片段]
[安装包]

联系方式
[QQ]
635314068
[电话]

2018-04-10 11:59 负责人:无 分享
已邀请:
oldbin

oldbin

我也在这遇到坑了,我想到的方案是绘制新图层的时候的把整个title绘制底色,覆盖之前的,还没试,还有个坑就是ios reset 左侧会有个箭头…

Asion

Asion

在使用基于subnview模式的原生tab时,也遇到了类似的问题。
一、manifest文件中配置如下所示,底部tab所使用的图片,源自于我的资源文件。并将tag的格式定义为img

"plus": {  
        "launchwebview": {  
            "bottom": "0px",  
            "background": "#fff",  
            "subNViews": [  
                {  
                    "id": "tabBar",  
                    "styles": {  
                        "bottom": "0px",  
                        "left": "0",  
                        "height": "50px",  
                        "width": "100%",  
                        "backgroundColor": "#fff"  
                    },  
                    "tags": [  
                        {  
                            **"tag": "img",****  
                            "id": "indexIcon",  
                            "src": "./images/bg_index_home_normal.png",  
                            "position": {  
                                "top": "1px",  
                                "left": "0%",  
                                "width": "25%",  
                                "height": "40px"  
                            }  
                        }

二、我在js文件中获取了当前的tag,但是不知到如何更改当前tag所使用的图片。如下所示

    var self = plus.webview.currentWebview(),  
            nviewEvent = plus.nativeObj.View.getViewById('tabBar'), // 获取nview控件对象  
            nviewObj = self.getStyle().subNViews[0], // 获取nview对象的属性  
            currTag = nviewObj.tags[0],// 获取当前需重绘的tag  
            images_checked = util.options.images_checked,  
            images_normal = util.options.images_normal;  
                nviewEvent.draw([{util.changeSrc(currTag, "./images/bg_index_home_checked.png"),currTag.position,currTag.id}]);  

三、API种的文档

希望大神来帮忙解决一下。

该问题目前已经被锁定, 无法添加新回复