之前给大家介绍了TouchGFX整体的使用方法,这里我会通过事件界面及动态效果三个方向给大家演示并讲解一个例子。接下来会给大家做个iphone的下滑设置栏。
其中使用到的功能包括自定义窗口,下拉菜单,菜单页,滑动监控。
请先看演示。
由于录制软件的原因信号栏有点闪,效果还是可行的。
下拉菜单
首先需要看一下控件的组成。需要一个主窗口以及背景窗口。除此之外还需要一个自定义的容器控件,即下拉菜单页。在自定义章节会给大家介绍自定义控件的使用。

下拉菜单,主要的过程是滑动事件,还记的Container类吗,该类可以作为承载下拉菜单及主窗口显示的容器,通过重载该类,获取滑动事件,这样就可以获得想要的滑动了。
现在看一下代码。
#ifndef SLIDEMENU_CONTAINER_HPP
#define SLIDEMENU_CONTAINER_HPP
#include <touchgfx/containers/Container.hpp>
#include <touchgfx/widgets/Image.hpp>
#include <touchgfx/containers/ListLayout.hpp>
using namespace touchgfx;
class SlideMenuContainer : public touchgfx::Container 该类继承了Container
{
public:
SlideMenuContainer();
virtual ~SlideMenuContainer();
其中重载了以下事件,之前有说过每个事件的作用这里不过多介绍
virtual void handleTickEvent();
virtual void handleClickEvent(const touchgfx::ClickEvent& evt);
virtual void handleDragEvent(const touchgfx::DragEvent& evt);
virtual void handleGestureEvent(const touchgfx::GestureEvent& evt);
//获得当前状态
uint8_t getSelectedScreen()
{
return currentState;
}
设置一个回调函数用来对于上滑或者下滑进行处理
void setMenuChangeEndedCallback(touchgfx::GenericCallback<const SlideMenuContainer&>& callback)
{
menuChangeAction = &callback;
}
private:
enum States状态类型的定义
{
ANIMATE_COLLAPSE,
ANIMATE_SHOW,
NO_ANIMATION
} currentState;
GenericCallback<<

本文详细介绍如何在TouchGFX中实现类似iPhone的下滑设置栏,包括自定义窗口、下拉菜单、菜单页及滑动监控的实现过程,通过代码示例展示了如何监听滑动事件并实现动画效果。
最低0.47元/天 解锁文章
1225

被折叠的 条评论
为什么被折叠?



