Venus UI --- How to create a screen

本文详细介绍使用Venus开发锁屏界面的过程,包括创建ScreenClass、实现onInit和onDeinit方法来显示和释放资源,以及如何通过PlutoMMI接口使锁屏界面能够被系统调用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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

 

Venus <wbr>UI <wbr>--- <wbr>How <wbr>to <wbr>create <wbr>a <wbr>screen



 


如何用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下加入相应的路径

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值