一、字体配置
1、添加文本和多国语言
生成两个文本,点击加号添加两种语言ZH和EN
2、字体配置
二、touchGFX工程搭建
点击按钮改变文本
三、touchGFX源码修改
Screen1View.hpp
#ifndef SCREEN1VIEW_HPP
#define SCREEN1VIEW_HPP
#include <gui_generated/screen1_screen/Screen1ViewBase.hpp>
#include <gui/screen1_screen/Screen1Presenter.hpp>
class Screen1View : public Screen1ViewBase
{
public:
Screen1View();
virtual ~Screen1View() {}
virtual void setupScreen();
virtual void tearDownScreen();
virtual void btn_click_handler();
protected:
};
#endif // SCREEN1VIEW_HPP
Screen1View.cpp
#include <gui/screen1_screen/Screen1View.hpp>
#include <touchgfx/Texts.hpp>
#include <texts/TextKeysAndLanguages.hpp>
#include <texts/TypedTextDatabase.hpp>
Screen1View::Screen1View()
{
}
void Screen1View::setupScreen()
{
Screen1ViewBase::setupScreen();
Texts::setLanguage(ZH);
}
void Screen1View::tearDownScreen()
{
Screen1ViewBase::tearDownScreen();
}
void Screen1View::btn_click_handler()
{
if (Texts::getLanguage() == ZH)
Texts::setLanguage(EN);
else
Texts::setLanguage(ZH);
this->textArea1.resizeToCurrentText();
getRootContainer().invalidate();//更新所有控件
}
注意,必须调用下面两个函数更新全部控件字符
this->textArea1.resizeToCurrentText();
getRootContainer().invalidate();//更新所有控件
四、效果预览