Venus UI --- How to create a screen

下面是一个用Venus写的锁屏界面效果图:

 

Venus UI --- How to create a screen_第1张图片



 


如何用Venus写一Screen:

1、创建一个Screen Class
      A、首先要在相应的路劲下创建头文件:venusmmi/app/XXX/vapp_XXX_scr.h ,
            该头文件中要包含#include "vfx_uc_include.h"和#include "vcp_include.h";
      B、在头文件目录下创建vapp_XXX_scr.cpp文件
      C、在该头文件中创建新的Screen Class

  1. class VappXxxScr:public VcpAppScr //继承的类根据你的需求而定
  2. {
  3.       public:
  4.                VappXxxScr();//构造函数 可以有多个构造函数
  5.       public:
  6.               virtual void onInit();//初始化函数 在创建对象时 会执行 用于显示Screen
  7.               virtual void onDeinit();//相当于析构函数 在退出该屏幕前执行 用来做“清理善后” 的工作
  8. }

D、在vapp_XXX_scr.cpp中定义相应的函数

  1. void VappXxxScr::onInit()
  2. {
  3.       VfxImageFrame* m_Image;
  4.       //Init VcpAppScr first
  5.       VcpAppScr::onInit();
  6.       //下面就可以开始进行自己的工作了,比如可以画张图片
  7.       VFX_OBJ_CREATE(m_Image, VfxImageFrame, this);//创建一个VfxImageFrame对象
  8.       m_Image->setResId(VAPP_SHELL_IMG_XXX);
  9.       m_Image->setSize(MAIN_LCD_DEVICE_WIDTH, MAIN_LCD_DEVICE_HEIGHT);
  10.       m_Image->setPos(0, 0);
  11. }
  12. void VappXxxScr::onDeinit()
  13. {
  14.       VcpAppScr::onDeinit();//必须的
  15. }

2、Connect to Pluto MMI
     在创建了Screen Class之后,那么下面我们就要有被Pluto MMI调用的相关接口,这样pluto才可以利用

     我们的Screen
    A、首先新建venusmmi/pluto_adapter/XXX/vadp_p2v_XXX.cpp
                        venusmmi/pluto_adapter/XXX/vadp_p2v_XXX.h

  1. static VappXxxScr *g_vadp_p2v_Xxx_ptr;
  2. void vadp_p2v_Xxx_init ()
  3. {
  4.       // Init VcpAppScr first
  5.       VcpAppScr::initalize ();
  6.       // Create application screen
  7.       VFX_OBJ_CREATE(g_vadp_p2v_Xxx_ptr, VappXxxScr, VcpAppScr::getContext());
  8. };
  9. void vadp_p2v_Xxx_deinit ()
  10. {
  11.      // Close application screen
  12.       VFX_OBJ_CLOSE(g_vadp_p2v_Xxx_ptr);
  13.      // Deinit VcpAppScr first
  14.       VcpAppScr::deinitalize ();
  15. };

3、最后记得要在make/venusmmi下加入相应的路径

你可能感兴趣的:(Venus UI --- How to create a screen)