通过解说的代码,实现天坦输入法半屏模式变得更好用,修改一下,加上判断弹出键盘的代码。

11 心灵亮光 2年前 552次点击

半屏输入最大的好处。就是可以触摸上半屏的内容。还有可以用读屏的手势。解说用户已经支持了单指半屏可以滑动选字,没有候选可以逐字移动光标。下面就介绍几个方法。利用读屏的功能。让输入更好用。

1.大家都知道,输入法全屏可以用手势滑动到结尾就可以朗读编辑框的内容,半屏是不是就只能触摸编辑框了?下面介绍两种可以在半屏输入法朗读编辑框文字的方法。

第一种点击工具栏的编辑,点击朗读编辑框内容。

第二种,解说用户可以通过代码实现手势朗读编辑框内容。

把下面代码复制。打开程序设置。点击操作设置。点击手势方案。右上角点击更多。新建功能。名称可以随便填。内容把刚复制的代码粘贴进去。

下面是代码:

local edit=service.getEditText()

if edit then

service.speak(edit.Text or "")

else

service.speak("没输入框")

end

共 19 条评论
心灵亮光 [楼主] 2年前
0 

2.解说用户输入法半屏可以通过下滑上屏功能那么,没候选的时候能朗读编辑框内容不就更加方便吗。其实在之前的代码加上判断键盘代码就可以了。

下面是代码:

if service.isShowInputWindow() then

local edit=service.getEditText()

if edit then

service.speak(edit.Text or "")

end

return true

end

心灵亮光 [楼主] 2年前
0 

3.无候选下滑手势的功能

上面提到无候选下滑可以朗读编辑框,那如果不想朗读,想实现其他例如收起键盘、发送等功能,下面以收起键盘为例,实现其他功能可修改关键字。

下面是代码:

if service.isShowInputWindow() then

service.execute("返回",node)

return true

end

心灵亮光 [楼主] 2年前
0 

4.发送和评论等功能

全屏可以通过手势点击发送评论等按钮,半屏可以通过下面代码实现,双引号里面的关键字可以自行增加,关键字与关键字之间要有竖线隔开。

下面是代码:

if service.isShowInputWindow() then

service.click({{"发送|确定|保存|发表|评论|完成|发布|搜索"}})

return true

end

心灵亮光 [楼主] 2年前
0 

5.判断键盘专用功能

例如有键盘实现清空,没有键盘或者焦点在其他地方实现复制。下面这个代码可以自行修改双引号里面的关键字,前面双引号关键字是弹出键盘用的,后面双引号是其他地方用的。

下面是代码:

if service.isShowInputWindow() then

service.execute("清空",node)

return true

end

service.execute("复制",node)

return true

心灵亮光 [楼主] 2年前
0 

6.编辑模式

解说用户默认手势先左后下打开编辑模式,如果这个手势用的是默认,无需修改。选择左右手势移动焦点的,打开编辑模式后。用手势。上下滑上个字和下个字,左右滑上下行,先左后上上一段落,先右后下下一段落,先上后下开头,先下后上结尾,先上后右选择开始点,单击读取所选内容。先下后右选择终点并复制,先上后左追加复制,先左后下退出编辑模式。

如果其他地方不想用默认手势的可以通过代码修改(其他地方指的是焦点不在编辑框),下面介绍其他地方是返回主屏幕,焦点在编辑框就打开编辑模式注,由于编辑模式手势用的是解说在编辑框默认的功能,所以手势不能更改。

下面是代码:

if service.check("编辑框",node) return false

end

service.execute("主屏幕",node)

return true

0 

分享很有用,多谢分享,有个问题想问一下编辑模式在解说中是什么名字?我的默认手势已经修改了,在解说中没有找到编辑模式这个名字。

心灵亮光 [楼主] 2年前
0 

功能里面没有。默认就是先左后下手势。其他地方逐字浏览。如果其他地方不想用逐字浏览,只能加个判断编辑框的手势。

0 

好的,知道了,谢了。

心灵亮光 [楼主] 2年前
0 

7.统计字符和解释编辑框中的文字

先左后右解释编辑框中的文字,先右后左统计字符并读出当前光标所在位置。

同样,这两个是调用解说在编辑框默认功能,手势不可更改,能更改是焦点不在编辑框功能,例如在编辑框是统计字符,其他地方列表浏览。可以自行修改关键字对应的功能。必须用先右后左手势调用,下面是代码:

if service.check("编辑框",node) return false

end

service.execute("列表浏览",node)

return true

心灵亮光 [楼主] 2年前
0 

8.按句删除

光标停留在某一句,就可以把这一句删除。无论光标在这一句的哪个字。由于发上论坛总是代码不全,下面是分享链接:

通过百度网盘分享的文件:删除光标所在句_…

链接:https://pan.baidu.com/s/1PRUU5x16S4sh6H7_FWGSUg 

提取码:c5wp

复制这段内容打开「百度网盘APP 即可获取」

0 

支持。

永远 2年前
0 

用解说然后半瓶模式暂停了触摸浏览上面的代码是不是都无效

心灵亮光 [楼主] 2年前
0 

默认是区域屏蔽触摸浏览,上面的手势都能用。

0 

分享的好。

江浸月 2年前
0 

不错感谢分享,虽然我用的全屏。

0 

感谢分享

心灵亮光 [楼主] 2年前
0 

感谢圣杰提供的代码

心灵亮光 [楼主] 2年前
0 

9.一字一顿朗读编辑框的内容。

上面解释编辑框的字符和朗读编辑框的内容都有了。下面分享一字一顿的朗读。由于解说读屏没有这个功能。下面还需要用到代码。感谢CoolsnowBye提供的代码。

下面是代码:

local text=service.getText(node)

local i=1

local t={}

while utf8.sub(text,i,i) and i<1000 do

table.insert(t,utf8.sub(text,i,i)..",")

i=i+1

end

service.speak(table.concat(t))

return true

心灵亮光 [楼主] 1年前
0 

改了一下代码的判断机制,现在是判断键盘有没有弹出。弹出键盘执行输入需要的功能。收起键盘就执行读屏的全局功能。包括复制、粘贴、清空,弹出剪切板,点击发送评论等,读编辑框内容,解释编辑框中的字符,统计字符,查询字典,编辑模式,语音输入(需掉用读屏里接口),光标移到开头结尾、删除光标所在句所在段落,光标前内容后内容等等。 2022-10-11 01:20:54 发布, 0人点赞

添加一条新评论

登录后可以发表评论 去登录