1 Star 0 Fork 344

tgw / awtk

forked from zlgopen / awtk 
加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
how_to_use_action_text.md 1.72 KB
一键复制 编辑 原始数据 按行查看 历史
lixianjing 提交于 2021-07-12 07:49 . improve docs

如何使用软键盘上的 action 按钮

android/iphone 等手机的软键盘上有一个特殊的键,这个键的功能和文字与当前的编辑密切相关,在不同的编辑器上,可能显示“发送”、“下一个”、“回车”,“关闭”,“清除”等。

1. 软键盘

AWTK 也支持类似的功能,我们把它称为 action 键,在软键盘中可以这样定义:

<button name="action" style="highlight" w="20%" text="Return"/>

完整代码请参考 kb_default.xml

2. 编辑器

编辑器可以指定 action_text 属性,来修改软键盘上的 action 键上的文本:

<edit w="70%" right_margin="30" input_type="password" action_text="next">

action_text 可以通过 strings.xml 中文本进行翻译,所以用小写英文字母即可。action_text 有几个特殊的取值:

  • next 将焦点切换到下一个控件。
  • done 完成,关闭软键盘。
<string name="return">
 <language name="en_US">Return</language>
 <language name="zh_CN">回车</language>
</string>

<string name="next">
 <language name="en_US">Next</language>
 <language name="zh_CN">下一个</language>
</string>

<string name="done">
 <language name="en_US">Done</language>
 <language name="zh_CN">完成</language>
</string>

3. 事件处理

如果你想自己处理 action 按键按下的事件,可以注册编辑器的 EVT_IM_ACTION 事件。

如:

static ret_t on_action_event(void* ctx, event_t* evt) {
  widget_t* target = WIDGET(evt->target);

  log_debug("%s action event\n", target->name);

  return RET_OK;
}

widget_on(edit1, EVT_IM_ACTION, on_action_event, NULL);

完整代码请参考:https://github.com/zlgopen/awtk-c-demos/blob/master/demos/edit.c

马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
C
1
https://gitee.com/tuguiwang/awtk.git
git@gitee.com:tuguiwang/awtk.git
tuguiwang
awtk
awtk
master

搜索帮助

344bd9b3 5694891 D2dac590 5694891