Botão giratório de baixo custo Exibir do Team Source
Neste artigo, vamos explorar em detalhes a criação de um carrossel 2D. Criando várias páginas funcionais e escrevendo uma simples instrução switch na interface do menu, utilizaremos as ações, interações e funções personalizadas do TouchGFX para construir um menu secundário com o mínimo de código.
Noções básicas de ação do TouchGFX
Link de referência: https://support.touchgfx.com/docs/development/ui-development/touchgfx-engine-features/custom-triggers-and-actions#custom-actions Resumindo, quando você deseja que uma interação seja acionada por código, pode tentar criar uma ação para ela. Uma ação pode tanto ser um gatilho para uma interação quanto ser acionada por uma interação.
Neste projeto, usamos a ação como gatilho para a interação, tornando-a acionável por código. Em seguida, encaminhamos o sinal de gatilho para a base TouchGFX, acionando a interação de troca de tela e, indiretamente, realizando a troca de tela acionada por código.
Vamos usar primeiro o projeto anterior:
Crie duas ações na interface do menu, correspondentes aos dois elementos de menu que projetamos. Em seguida, acesse a aba de interação à direita e crie uma interação que conecte os dois elementos de troca de tela (as páginas funcionais precisam ser criadas previamente).
Neste ponto, concluímos a criação da parte da interface baseada em ações e interações.
Posicionamento de elementos do carrossel e integração de API
Ao interagirmos com um controle de menu, o próprio menu precisa saber qual elemento está selecionado para que, ao clicar nele, possa determinar para qual página ele aponta com base no rótulo exibido na interface do usuário. Precisamos esclarecer isso antes de chamar a API que desenvolvemos.
No TouchGFX, o controle de menu já integra uma função `scrollWheel1.getSelectedItem()` especificamente para recuperar o elemento selecionado. No entanto, precisamos atribuir esses dados a outros arquivos na camada de aplicação para que o programa entenda qual subdemo está sendo selecionado.
Portanto, utilizamos o arquivo `Model.cpp`, onde adicionamos a funcionalidade de transferência de dados.
Isso conecta com sucesso o menu de rolagem ao nosso aplicativo.
Então, como fazemos a interface dos dados transmitidos com nossa API? Essencialmente, chamamos nossa ação diretamente como uma função. Para simplificar, transmitimos o elemento selecionado como "DemoNumber", o que nos permite escrever diretamente uma instrução switch com várias instruções case para invocar a funcionalidade de troca de tela correspondente. Isso é conhecimento básico da linguagem C.
Como você pode ver, como a biblioteca TouchGFX é muito abrangente, na verdade não precisamos escrever muito código para implementar a funcionalidade.
Compile, grave e veja os resultados. Clique no link abaixo para conferir mais detalhes sobre o desempenho do nosso módulo de display com botão giratório:
https://www.youtube.com/watch?v=WnhW_CznyXY