大屏開發,一個Air722金牛座開發板就夠了!
聚焦行業應用,助力快速開發——合宙基于Air722大屏模組已陸續推出農業大棚可視化DTU、空調控制器、智能電動車中控方案、汽車充電樁、自助售貨機、數據采集控制器UI參考等大屏應用解決方案。
本期特別介紹最新中文輸入法控件,文末更多驚喜彩蛋!
1
金牛座LVGL中文輸入法控件
Air722金牛座系列項目采用LVGL7.1作為開發用戶界面程序的GUI框架,高度自定義頁面,開發簡便快捷。
金牛座LVGL中文輸入法控件——lvgl.chs_keyboard是在lvgl.keyboard基礎上編寫的一個自定義控件,增加了支持中文輸入法(拼音)的功能。虛擬鍵盤+中文輸入法,進一步拓寬LVGL開發的控件類型,應用開發更便捷。
如何使用中文輸入法控件
一、創建鍵盤
通過 lvgl.chs_keyboard_create可以創建鍵盤,如果不需要復制操作,那么第二個參數則為nil:
--創建鍵盤
chs_keyboard_obj = lvgl.chs_keyboard_create(cont,nil)
二、鍵盤模式
可以通過chs_keyboard_set_mode設置鍵盤模式和樣式:
-- 設置鍵盤模式
lvgl.chs_keyboard_set_mode(chs_keyboard_obj,lvgl.CHSKB_MODE_QWERTY)
三、事件控制
想要演示鍵盤的輸入效果,則需要創建一個文本框,然后通過 chs_keyboard_set_textarea 將鍵盤與文本框控件綁定:
-- 與輸入框綁定
lvgl.chs_keyboard_set_textarea(keyboard,textarea)
設置文本框控件的一個點擊回調函數,當文本框被點擊的時候創建一個鍵盤,同時將鍵盤的輸入綁定到文本框。當鍵盤點擊確定或者取消時,就銷毀鍵盤,在下次點擊的時候重新創建。
示例代碼如下:
手機橫屏/上下滑動查看完整代碼:
function lvgl_UiDesigner_DefOutCb(o,e,output) --關聯函數
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) --創建一個文本框
lvgl.obj_set_size(text_area_obj,280,58) --設置尺寸
lvgl.obj_set_click(text_area_obj,true)
lvgl.textarea_set_text(text_area_obj,"") --設置文本默認內容
lvgl.obj_align(text_area_obj,cont,lvgl.ALIGN_IN_TOP_LEFT,100,100) --設置與容器的相對位置
local chs_keyboard_obj = lvgl.chs_keyboard_create(cont,nil) --創建一個鍵盤
lvgl.obj_set_size(chs_keyboard_obj,400,300) --設置尺寸
lvgl.chs_keyboard_set_mode(chs_keyboard_obj,lvgl.CHSKB_MODE_QWERTY) --設置鍵盤樣式
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
更多驚喜即將開啟
硬件設計省錢可靠,軟件開發省時高效——只需一個Air722UG-NMM Cat.1模塊,搭載LuatOS系統,既能輕松聯網,又能直接驅動最大1024*600分辨率(未來有可能支持更大分辨率)的顯示屏。
合宙LuatOS大屏開發動態
5寸金牛座開發板:
已上架合宙官方淘寶店鋪,正在熱銷:
淘寶一店:luat.taobao.com
淘寶二店:openluat.taobao.com
7寸金牛座開發板:
正在緊鑼密鼓地生產,敬請期待;
10.1寸顯示方案:
可以采用"7寸金牛座開發板+10.1寸裸屏"搭配的方式來開發調試;
更多產品支持:
未來還有支持1920*1080分辨率的產品面世。
-
開發板
+關注
關注
25文章
5035瀏覽量
97384
發布評論請先 登錄
相關推薦
評論