TouchGFX使用教程(四)

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


之前给大家介绍了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<<
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值