ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

javascript – 有人知道如何检测Nativescript的方向更改吗?

2019-08-29 09:25:23  阅读:242  来源: 互联网

标签:nativescript android javascript xml


我为屏幕创建了两个xml文件.一个名为“login-page.port.xml”,另一个名为“login-page.land.xaml”.

有没有办法以编程方式检测应用程序中的方向变化?

谢谢,
Keks

解决方法:

是的,有一种方法可以检测应用程序中的方向变化.最简单的方法是在您想要获得方向的页面中;将已加载和已卸载的事件添加到page.xml文件中:

<Page loaded="pageLoaded" unloaded="pageUnloaded">

在你的page.js文件中;添加这样的代码:

var application=require('application');
exports.pageLoaded = function() {
  application.on(application.orientationChangedEvent, setOrientation);
};

exports.pageUnloaded = function() {
  application.off(application.orientationChangedEvent, setOrientation);
}

function setOrientation(args) {
   // Will console out the new Orientation
   console.log(args.newValue);
}

几个笔记;
你要添加&在进入和退出页面时删除事件监听器;否则,监听器是全局的,即使您在另一个页面上,当方向发生变化时也会继续触发.
2.您可以为此事件添加多个侦听器,因此,如果您不删除侦听器,则每次重新加载此页面时,您将向该组添加此侦听器的另一个副本,因此它将触发多次因为你已经添加了它.
3.在v1.6.1中的android上,它们是方向触发中的错误. https://github.com/NativeScript/NativeScript/issues/1656(基本上如果你从横向开始,旋转它将无法检测到它.问题有我已经手动应用到我的代码的补丁).

现在看看你的实际例子;你是否意识到至少从1.6x版本的NativeScript开始,它只会加载当前设置为哪个方向的XML;但是在旋转时它不会加载另一个方向的xml.所以,如果你在景观;进入屏幕然后旋转它仍将使用Landscape xml文件.

现在所有这些说你可能会认真考虑查看我作为作者的nativescript-orientation插件,这个插件简化了处理屏幕方向,并允许你只有一个.xml文件,然后通过css更改东西.

标签:nativescript,android,javascript,xml
来源: https://codeday.me/bug/20190829/1759666.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有