A39模拟器
This commit is contained in:
16
MXC-A39/lvgl/examples/widgets/keyboard/index.rst
Normal file
16
MXC-A39/lvgl/examples/widgets/keyboard/index.rst
Normal file
@ -0,0 +1,16 @@
|
||||
C
|
||||
^
|
||||
|
||||
Keyboard with text area
|
||||
"""""""""""""""""""""""
|
||||
|
||||
.. lv_example:: _widgets/keyboard/lv_example_keyboard_1
|
||||
:language: c
|
||||
|
||||
MicroPython
|
||||
^^^^^^^^^^^
|
||||
|
||||
Keyboard with text area
|
||||
"""""""""""""""""""""""
|
||||
|
||||
No examples yet.
|
@ -0,0 +1,40 @@
|
||||
#include "../../lv_examples.h"
|
||||
#if LV_USE_KEYBOARD && LV_BUILD_EXAMPLES
|
||||
|
||||
static void ta_event_cb(lv_event_t * e)
|
||||
{
|
||||
lv_event_code_t code = lv_event_get_code(e);
|
||||
lv_obj_t * ta = lv_event_get_target(e);
|
||||
lv_obj_t * kb = lv_event_get_user_data(e);
|
||||
if(code == LV_EVENT_FOCUSED) {
|
||||
lv_keyboard_set_textarea(kb, ta);
|
||||
lv_obj_clear_flag(kb, LV_OBJ_FLAG_HIDDEN);
|
||||
}
|
||||
|
||||
if(code == LV_EVENT_DEFOCUSED) {
|
||||
lv_keyboard_set_textarea(kb, NULL);
|
||||
lv_obj_add_flag(kb, LV_OBJ_FLAG_HIDDEN);
|
||||
}
|
||||
}
|
||||
|
||||
void lv_example_keyboard_1(void)
|
||||
{
|
||||
/*Create a keyboard to use it with an of the text areas*/
|
||||
lv_obj_t *kb = lv_keyboard_create(lv_scr_act());
|
||||
|
||||
/*Create a text area. The keyboard will write here*/
|
||||
lv_obj_t * ta;
|
||||
ta = lv_textarea_create(lv_scr_act());
|
||||
lv_obj_align(ta, LV_ALIGN_TOP_LEFT, 10, 10);
|
||||
lv_obj_add_event_cb(ta, ta_event_cb, LV_EVENT_ALL, kb);
|
||||
lv_textarea_set_placeholder_text(ta, "Hello");
|
||||
lv_obj_set_size(ta, 140, 80);
|
||||
|
||||
ta = lv_textarea_create(lv_scr_act());
|
||||
lv_obj_align(ta, LV_ALIGN_TOP_RIGHT, -10, 10);
|
||||
lv_obj_add_event_cb(ta, ta_event_cb, LV_EVENT_ALL, kb);
|
||||
lv_obj_set_size(ta, 140, 80);
|
||||
|
||||
lv_keyboard_set_textarea(kb, ta);
|
||||
}
|
||||
#endif
|
@ -0,0 +1,26 @@
|
||||
# Create styles for the keyboard
|
||||
rel_style = lv.style_t()
|
||||
pr_style = lv.style_t()
|
||||
|
||||
lv.style_copy(rel_style, lv.style_btn_rel)
|
||||
rel_style.body.radius = 0
|
||||
rel_style.body.border.width = 1
|
||||
|
||||
lv.style_copy(pr_style, lv.style_btn_pr)
|
||||
pr_style.body.radius = 0
|
||||
pr_style.body.border.width = 1
|
||||
|
||||
# Create a keyboard and apply the styles
|
||||
kb = lv.kb(lv.scr_act())
|
||||
kb.set_cursor_manage(True)
|
||||
kb.set_style(lv.kb.STYLE.BG, lv.style_transp_tight)
|
||||
kb.set_style(lv.kb.STYLE.BTN_REL, rel_style)
|
||||
kb.set_style(lv.kb.STYLE.BTN_PR, pr_style)
|
||||
|
||||
# Create a text area. The keyboard will write here
|
||||
ta = lv.ta(lv.scr_act())
|
||||
ta.align(None, lv.ALIGN.IN_TOP_MID, 0, 10)
|
||||
ta.set_text("")
|
||||
|
||||
# Assign the text area to the keyboard
|
||||
kb.set_ta(ta)
|
Reference in New Issue
Block a user