系统界面类型

前面介绍的应用界面我们归类为普通窗口界面,一般情况下已经够用了,通过工具新建UI界面时,默认的窗口类型就是普通窗口:

如果某些场景需要一个悬浮在UI界面之上的显示区,那么普通窗口就不能胜任这份工作了,需要用到我们其他的几种类型的窗口了; 在 窗口类型 选项中,有三种特殊类型窗口选项,这三种特殊类型具有特殊的文件名,分别对应为

  • 状态栏 statusbar.ftu
  • 导航栏 navibar.ftu
  • 屏保 screensaver.ftu

点击确定后,工具会帮我们自动生成相应的代码;这三种类型的窗口,对于控件的操作与普通窗口一样;

状态栏

解释:这个状态栏跟Android,iOS手机的状态栏概念一致,是一个悬浮在UI界面之上的一个通用显示区。通常用于显示一些常见信息,或者放置返回键或Home键等等。如下效果:

系统提供了两个接口可以用于操作状态栏:

显示状态栏:

EASYUICONTEXT->showStatusBar();

隐藏状态栏:

EASYUICONTEXT->hideStatusBar();

完整源码见样例代码包中的StatusBarDemo工程

导航栏

解释:这个导航栏跟Android手机的导航栏概念一致,是一个悬浮在UI界面之上的一个通用操作或者显示区,一般在页面的底部。通常用于显示一些操作按键。导航栏实际上和状态栏没有什么差别。

显示导航栏:

EASYUICONTEXT->showNaviBar();

隐藏导航栏:

EASYUICONTEXT->hideNaviBar();

屏保应用

解释:屏保应用是指当用户不再做系统交互的时候,时间超过某个指定时间长度。系统自动打开一个页面。 右键工程, 选择 Properties 选项, 在弹出的属性框里,我们可以对屏保超时时间进行设置,单位为秒,-1表示不进屏保; 我们也可以通过代码进行一些设置,见 jni/include/entry/EasyUIContext.h:

  • 所需头文件

    #include "entry/EasyUIContext.h"
    
  • 设置屏保超时时间

    //设置屏保超时时间为5秒
    EASYUICONTEXT->setScreensaverTimeOut(5);
    
  • 设置是否允许启用屏保

    EASYUICONTEXT->setScreensaverEnable(false); //关闭屏保检测
    EASYUICONTEXT->setScreensaverEnable(true); //恢复屏保检测
    

    应用场景:如升级界面不能进入屏保模式,可以在升级应用里EASYUICONTEXT->setScreensaverEnable(false)关闭屏保检测。

  • 立即进入屏保

    EASYUICONTEXT->screensaverOn();
    
  • 立即退出屏保

    EASYUICONTEXT->screensaverOff();
    
  • 判断是否进入了屏保

    EASYUICONTEXT->isScreensaverOn();
    

完整源码见样例代码包中的ScreensaverDemo工程

powered by Gitbooklast modified: 2020-07-30 14:51:46

results matching ""

    No results matching ""