大屏開發(fā),一個Air722金牛座開發(fā)板就夠了!
聚焦行業(yè)應(yīng)用,助力快速開發(fā)——合宙基于Air722大屏模組已陸續(xù)推出農(nóng)業(yè)大棚可視化DTU、空調(diào)控制器、智能電動車中控方案、汽車充電樁、自助售貨機、數(shù)據(jù)采集控制器UI參考等大屏應(yīng)用解決方案。
本期特別介紹最新中文輸入法控件,文末更多驚喜彩蛋!
1
金牛座LVGL中文輸入法控件
Air722金牛座系列項目采用LVGL7.1作為開發(fā)用戶界面程序的GUI框架,高度自定義頁面,開發(fā)簡便快捷。
金牛座LVGL中文輸入法控件——lvgl.chs_keyboard是在lvgl.keyboard基礎(chǔ)上編寫的一個自定義控件,增加了支持中文輸入法(拼音)的功能。虛擬鍵盤+中文輸入法,進一步拓寬LVGL開發(fā)的控件類型,應(yīng)用開發(fā)更便捷。
如何使用中文輸入法控件
一、創(chuàng)建鍵盤
通過 lvgl.chs_keyboard_create可以創(chuàng)建鍵盤,如果不需要復(fù)制操作,那么第二個參數(shù)則為nil:
--創(chuàng)建鍵盤
chs_keyboard_obj = lvgl.chs_keyboard_create(cont,nil)
二、鍵盤模式
可以通過chs_keyboard_set_mode設(shè)置鍵盤模式和樣式:
-- 設(shè)置鍵盤模式
lvgl.chs_keyboard_set_mode(chs_keyboard_obj,lvgl.CHSKB_MODE_QWERTY)
三、事件控制
想要演示鍵盤的輸入效果,則需要創(chuàng)建一個文本框,然后通過 chs_keyboard_set_textarea 將鍵盤與文本框控件綁定:
-- 與輸入框綁定
lvgl.chs_keyboard_set_textarea(keyboard,textarea)
設(shè)置文本框控件的一個點擊回調(diào)函數(shù),當文本框被點擊的時候創(chuàng)建一個鍵盤,同時將鍵盤的輸入綁定到文本框。當鍵盤點擊確定或者取消時,就銷毀鍵盤,在下次點擊的時候重新創(chuàng)建。
示例代碼如下:
手機橫屏/上下滑動查看完整代碼:
function lvgl_UiDesigner_DefOutCb(o,e,output) --關(guān)聯(lián)函數(shù)
if e==lvgl.EVENT_CLICKED then
lvgl.obj_set_hidden(output,false)
lvgl.chs_keyboard_set_textarea(output,o)
elseif e==lvgl.EVENT_DEFOCUSED then
elseif e==lvgl.EVENT_VALUE_CHANGED then
sys.publish("UI_EVENT_IND",o,e)
end
end
local text_area_obj = lvgl.textarea_create(cont,nil) --創(chuàng)建一個文本框
lvgl.obj_set_size(text_area_obj,280,58) --設(shè)置尺寸
lvgl.obj_set_click(text_area_obj,true)
lvgl.textarea_set_text(text_area_obj,"") --設(shè)置文本默認內(nèi)容
lvgl.obj_align(text_area_obj,cont,lvgl.ALIGN_IN_TOP_LEFT,100,100) --設(shè)置與容器的相對位置
local chs_keyboard_obj = lvgl.chs_keyboard_create(cont,nil) --創(chuàng)建一個鍵盤
lvgl.obj_set_size(chs_keyboard_obj,400,300) --設(shè)置尺寸
lvgl.chs_keyboard_set_mode(chs_keyboard_obj,lvgl.CHSKB_MODE_QWERTY) --設(shè)置鍵盤樣式
lvgl.obj_set_click(chs_keyboard_obj,true)
-- 默認隱藏中文輸入法控件,點擊輸入框顯示中文輸入法控件
lvgl.obj_set_hidden(chs_keyboard_obj,true)
-- 與輸入框綁定
lvgl.chs_keyboard_set_textarea(chs_keyboard_obj, text_area_obj)
local outputCb = function(o, e)
lvgl_UiDesigner_DefOutCb(o, e, chs_keyboard_obj)
end
lvgl.obj_set_event_cb(text_area_obj, outputCb)
lvgl.obj_set_event_cb(chs_keyboard_obj, lvgl_UiDesigner_DefInCb)
lvgl.obj_align(chs_keyboard_obj, parent_cont, lvgl.ALIGN_IN_TOP_LEFT, 20, 277)
是不是很簡便呢~快來試試吧
最新demo鏈接:
https://gitee.com/openLuat/Luat_Lua_Air724U/tree/master/product/%E9%87%91%E7%89%9B%E5%BA%A7%E5%BC%80%E5%8F%91%E6%9D%BF/1.widgets/single/keyborard
2
更多驚喜即將開啟
硬件設(shè)計省錢可靠,軟件開發(fā)省時高效——只需一個Air722UG-NMM Cat.1模塊,搭載LuatOS系統(tǒng),既能輕松聯(lián)網(wǎng),又能直接驅(qū)動最大1024*600分辨率(未來有可能支持更大分辨率)的顯示屏。
合宙LuatOS大屏開發(fā)動態(tài)
5寸金牛座開發(fā)板:
已上架合宙官方淘寶店鋪,正在熱銷:
淘寶一店:luat.taobao.com
淘寶二店:openluat.taobao.com
7寸金牛座開發(fā)板:
正在緊鑼密鼓地生產(chǎn),敬請期待;
10.1寸顯示方案:
可以采用"7寸金牛座開發(fā)板+10.1寸裸屏"搭配的方式來開發(fā)調(diào)試;
更多產(chǎn)品支持:
未來還有支持1920*1080分辨率的產(chǎn)品面世。
-
開發(fā)板
+關(guān)注
關(guān)注
25文章
5121瀏覽量
98201
發(fā)布評論請先 登錄
相關(guān)推薦
評論