114 lines
2.9 KiB
C
114 lines
2.9 KiB
C
/**
|
|
* @file lisa_ui_keyboard_input.h
|
|
* @brief 通用键盘输入组件
|
|
* @description 提供一个全屏的键盘输入界面,支持密码输入模式
|
|
*/
|
|
|
|
#ifndef __LISA_UI_KEYBOARD_INPUT_H__
|
|
#define __LISA_UI_KEYBOARD_INPUT_H__
|
|
|
|
#ifdef __cplusplus
|
|
extern "C" {
|
|
#endif
|
|
|
|
#include "lvgl.h"
|
|
|
|
/**
|
|
* @brief 键盘输入确认回调函数类型
|
|
* @param text 输入的文本内容
|
|
* @param user_data 用户数据
|
|
*/
|
|
typedef void (*lisa_ui_keyboard_input_confirm_cb_t)(const char *text, void *user_data);
|
|
|
|
/**
|
|
* @brief 键盘输入取消回调函数类型
|
|
* @param user_data 用户数据
|
|
*/
|
|
typedef void (*lisa_ui_keyboard_input_cancel_cb_t)(void *user_data);
|
|
|
|
/**
|
|
* @brief 创建键盘输入组件
|
|
* @param parent 父对象
|
|
* @return lv_obj_t* 创建的键盘输入对象
|
|
*/
|
|
lv_obj_t *lisa_ui_keyboard_input_create(lv_obj_t *parent);
|
|
|
|
/**
|
|
* @brief 设置标题文本
|
|
* @param obj 键盘输入对象
|
|
* @param title 标题文本
|
|
*/
|
|
void lisa_ui_keyboard_input_set_title(lv_obj_t *obj, const char *title);
|
|
|
|
/**
|
|
* @brief 设置输入框提示文本
|
|
* @param obj 键盘输入对象
|
|
* @param placeholder 提示文本
|
|
*/
|
|
void lisa_ui_keyboard_input_set_placeholder(lv_obj_t *obj, const char *placeholder);
|
|
|
|
/**
|
|
* @brief 设置输入框标签文本 (如"密码:"、"用户名:"等)
|
|
* @param obj 键盘输入对象
|
|
* @param label 标签文本
|
|
*/
|
|
void lisa_ui_keyboard_input_set_label(lv_obj_t *obj, const char *label);
|
|
|
|
/**
|
|
* @brief 设置密码模式
|
|
* @param obj 键盘输入对象
|
|
* @param enable true=密码模式, false=普通模式
|
|
*/
|
|
void lisa_ui_keyboard_input_set_password_mode(lv_obj_t *obj, bool enable);
|
|
|
|
/**
|
|
* @brief 设置确认回调
|
|
* @param obj 键盘输入对象
|
|
* @param confirm_cb 确认回调函数
|
|
* @param user_data 用户数据
|
|
*/
|
|
void lisa_ui_keyboard_input_set_confirm_cb(lv_obj_t *obj,
|
|
lisa_ui_keyboard_input_confirm_cb_t confirm_cb,
|
|
void *user_data);
|
|
|
|
/**
|
|
* @brief 设置取消回调
|
|
* @param obj 键盘输入对象
|
|
* @param cancel_cb 取消回调函数
|
|
* @param user_data 用户数据
|
|
*/
|
|
void lisa_ui_keyboard_input_set_cancel_cb(lv_obj_t *obj,
|
|
lisa_ui_keyboard_input_cancel_cb_t cancel_cb,
|
|
void *user_data);
|
|
|
|
/**
|
|
* @brief 显示键盘输入界面
|
|
* @param obj 键盘输入对象
|
|
*/
|
|
void lisa_ui_keyboard_input_show(lv_obj_t *obj);
|
|
|
|
/**
|
|
* @brief 隐藏键盘输入界面
|
|
* @param obj 键盘输入对象
|
|
*/
|
|
void lisa_ui_keyboard_input_hide(lv_obj_t *obj);
|
|
|
|
/**
|
|
* @brief 获取输入的文本
|
|
* @param obj 键盘输入对象
|
|
* @return const char* 输入的文本
|
|
*/
|
|
const char *lisa_ui_keyboard_input_get_text(lv_obj_t *obj);
|
|
|
|
/**
|
|
* @brief 清空输入框
|
|
* @param obj 键盘输入对象
|
|
*/
|
|
void lisa_ui_keyboard_input_clear(lv_obj_t *obj);
|
|
|
|
#ifdef __cplusplus
|
|
}
|
|
#endif
|
|
|
|
#endif /* __LISA_UI_KEYBOARD_INPUT_H__ */
|