APP 点击 attachmentSimple 组件上传文件时设置要显示的选项

3.4版本中,model\Native\templates\advanced\platforms\android\JustepGetContent\src\main\res\layout\file_upload_chooser.xml 自己进去改吧,把不要的button隐藏掉。不要直接删除,会异常 比如不需要录音(主要配置:android:visibility="gone") </blockquote> <blockquote><Button android:id="@+id/btn_record_audio" android:layout_width="match_parent" android:layout_height="wrap_content" android:background="@color/white" android:text="录音" android:textColor="@color/blue_text" android:visibility="gone" /></blockquote> <blockquote> 3.5版本设置attachmentSimple组件的accept 属性,选择枚举出的选项就可以了!

屏幕横向显示和纵向显示

3.4版本的案例路径是\UI2\demo\native\screenorientation\demo.w 3.5版本的案例路径是:/UI2/demo/plugin/screenOrientation/demo.w //竖屏模式 Model.prototype.portraitClick = function(event){ cordova.plugins.screenorientation.setOrientation('portrait'); }; //横屏模式 Model.prototype.landscapeClick = function(event){ cordova.plugins.screenorientation.setOrientation('landscape'); }; //屏幕方向解锁 Model.prototype.unlockClick = function(event){ cordova.plugins.screenorientation.setOrientation('unlocked'); }; //获取当前屏幕方向 Model.prototype.currentClick = function(event){ setTimeout(function(){ alert("当前屏幕方向: " + JSON.stringify(window.screen.orientation)); }); }; [...]

3.4版本 attachmentSimple组件 在某些手机APP上报错找不到文件 /…/1.chunk.js

原因:3.4版本 APP打包后,在某些手机上运行报错, 找不到/UI2/system/components/justep/uploader/plugins/compress/dist/1.chunk.js 解决方法: 在这个文件中添加一行代码:/UI2/system/components/justep/uploader/uploader-html5.js require("res!./plugins"); 然后执行\tools\dist\dist.bat 合并资源! 重新打包就可以了! 3.5版本已经解决这个问题

3.4版本attachmentSimple 组件在APP上传文件闪退

原因:在V3.4及之前的版本,有些手机使用attachmentSimple组件上传文件,拍照等操作的时候,导致APP闪退或重启! 解决方法: 1.  在V3.5版本中,将会解决这个问题; 2. 在V3.4及之前的版本中,执行以下操作 使用attachmentSimple中的FileUploadChooserActivity.java文件替换Native/templates/advanced/platforms/android/JustepGetContent/src/main/java/com/justep/x5/support/chooser/FileUploadChooserActivity.java 之后重新打包生成App.

拍照后把相片放在img标签上显示

原因:在APP中,想实现拍照后,图片可以在页面中直接显示出来!这个使用cordova插件实现(cordova-plugin-camera)!详细用法请参考它的API文档!需要注意,有些图片,设置了src属性的值。可以还是没正常显示! 解决方案: 参考:http://bbs.wex5.com/forum.php?mod=viewthread&tid=91095 Model.prototype.takePicBtnClick = function(event){ if(!navigator.camera){ return; } var self = this; navigator.camera.getPicture(onLoadImageSuccess, onLoadImageFail, { destinationType:navigator.camera.DestinationType.DATA_URL, allowEdit:true, quality:80, targetWidth:100, targetHeight:100, saveToPhotoAlbum:true }); //拍照成功后回调 function onLoadImageSuccess(imageData){ localStorage.setItem("imageData","data:image/jpeg;base64,"+imageData); var smallImage = document.getElementById(self.getIDByXID('image1')); //显示图像 smallImage.style.display = [...]

如何判断当前设备是什么,然后执行相应的代码

原因: WeX5开发的应用是支持同时在不同客户端运行的,比如AndroidAPP iosAPP 微信APP PC浏览器,移动浏览器等各种设备,有时候需要做判断,在不同的设备中执行不同的代码:比如corodva插件只能在APP运行,而且有些插件在Android和ios中运行的代码还不一样。微信APP支付只能是执行微信内支付的代码!这个可以看外卖案例的代码 解决方案: 看/UI2/system/lib/base/browser.js 这个文件Browser对象封装了各种设备的判断API,在js代码中直接这样判断即可, 如是否属于x5的手机APP中运行 justep.Browser.isX5App 是否是苹果系统中运行 justep.Browser.isIOS 其他方法用法以此类推

app后台运行代码插件执行不成功

现象:alert(11) 可以执行, alert(22)执行不了 document.addEventListener('deviceready', function() { debugger; alert(11) cordova.plugins.backgroundMode.onactivate = function() { alert(22) } } 原因: 没有调用方法启用后台模式 解决方案: 增加一句: cordova.plugins.backgroundMode.enable();   参考案例:/UI2/demo/native/backgroundMode/index.w 使用的组件是:de.appplant.cordova.plugin.background-mode

模式1打包需要注意的细节

原因:模式1打包的时候,需要有几个编辑app页面是必选的,否则就会打包失败 解决方案: 1.资源一定要选中,为了后面资源的编译,一定要选中资源!否则。这里没有选择的资源不会进行编译的! 2.一定要重新编译资源,否则不能生成编译后直接可运行的html资源, 3.资源要打到包里!这个是模式1打包的优势,可以不设置服务器地址,而是直接运行APP本地资源!当然也可以设置服务器地址!,资源更新是异步的,更新无察觉,无痕迹!

Android手机中回退键的理解

原因:只有Android手机会提供回退键,关于回退键的操作,平台已经做好了封装!当然也可以自己接管回退的事件,我再这里简单介绍下逻辑调用的过程,方便大家参考! 解决方案: 比如,外卖案例,仿淘宝案例都接管了attachDoubleClickExitApp 事件,return true 就表示接管双击退出!return false 表示路由回退!参考案例,可以自己接管判断逻辑! 这个方法在UI2/system/components/justep/common/utils.js中,你可以看下源码: document.addEventListener('backbutton', listener, false);实际上就是接管了返回键要执行的事件, history.back(); 是路由的回退,有些用户不希望路由回退,而是关闭页面,就可以把这行代码改成justep.Shell.closePage(); navigator.app.exitApp(); 是app的退出!如果不想真正的关闭APP,就可以把这行代码去掉! 记得执行合并资源的操作:\tools\dist\dist.bat 理解: 其实默认情况开发的单页功能,定义shellImp 打开的单页应用,默认就是在主页双击退出的! 源码:/UI2/system/lib/portal/shellImpl.js 判断执行的方法:initDoubleClickExitApp 就是指默认 主页接管了 双击退出 的事件

APP引导页制作

原因: 在APP中经常见到,第一次启动的时候,有三张或者更多图片来回切换,介绍此APP的使用方法或做广告!点确定,进入APP后,第二次启动APP就不会出现了!这个使用WeX5也很简单就实现了 解决方案: 参考我们的外卖案例:/UI2/takeout 只需要把 intro目录 intro.js intro.html 这三块资源都复制到你资源首页同级的目录下就可以了!打包的时候会自动加载生成在APP中的!要求必须是访问本地资源(资源打到包里)   如果资源不打到包里,或者是模式3打包的,调试模式启动服务器,这样没错都访问服务器资源是不会出现向导页的,可以手动在首页引入intro.js就可以了!   注意: 1.拷贝过来的文件名都不能修改!打包的时候会去自动找这个名称intro.html 的文件 2.如果想每次打开APP都显示这些页面,只需要删除intro.html文件中的一行代码: localStorage.setItem(x5Version + 'introPage', 'false'); 这样重新打包后,APP 每次重新打开都有引导页