解说社区

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 539|回复: 2

[原创] 光标跳转(输入数字跳转对应位置,或点击符号、行数跳转,或输入关键字跳转)v1.4

[复制链接]
发表于 2023-8-20 20:40:02 来自手机 | 显示全部楼层 |阅读模式
在编辑框中。用这个可以输入数字,或者点击符号、行数快速跳到光标位置。还可以自定义输入符号或者某一个单字跳转。
作者:心灵亮光
1433450662



  来自解说社区客户端
回复

使用道具 举报

 楼主| 发表于 2023-8-20 20:40:52 来自手机 | 显示全部楼层
本帖最后由 hoibo 于 2023-8-20 20:54 编辑

require "import"
import "android.widget.*"
import "android.view.*"
local txt,a=service.getText(node),2
local t1,t2,t3,t4,t11,t21={},{},{},{},{},{}
local jhb,dhb,hb={"。"},{","},{"\n"}
for n=1,utf8.len(txt),1 do
if table.find(jhb,utf8.sub(txt,n,n)) then
j=utf8.sub(txt,n,n+10)
table.insert(t11,n)
table.insert(t1,n..j)
end
if table.find(dhb,utf8.sub(txt,n,n)) then
d=utf8.sub(txt,n,n+10)
table.insert(t21,n)
table.insert(t2,n..d)
end
if table.find(hb,utf8.sub(txt,n,n)) then
h=utf8.sub(txt,n,n+10)
table.insert(t3,a.."行"..h.."位置在"..n)
a=a+1
table.insert(t4,n)
end
end
layout=
{
LinearLayout,
orientation=1,
layout_width=-1,
layout_height=-1,
{
EditText,
hint="输入数字",
HintTextColor='#ff00ffff',
id="edit",
textColor="#ff00ffff",
layout_width=-1,
layout_height="10%h",
layout_weight=1,
inputType="number"
},
{
EditText,
hint="输入关键字",
HintTextColor='#ff00ffff',
id="e2",
textColor="#ff00ffff",
layout_width=-1,
layout_height="10%h",
layout_weight=1,
},
{Button,
text="光标跳转,共"..utf8.len(txt).."个字",
onClick="gbtz",
textColor="#ff00ffff",
layout_width=-1,
layout_height="10%h",
layout_weight=1,},
{Button,
text="逗号跳转"..string.format("共%d个逗号",#t2),
onClick="tzdh",
textColor="#ff00ffff",
layout_width=-1,
layout_weight=1,},
{Button,
text="句号跳转"..string.format("共%d个句号",#t1),
onClick="tzjh",
textColor="#ff00ffff",
layout_width=-1,
layout_weight=1,},
{Button,
text="按行跳转"..string.format("共%d行",#t4+1),
onClick="tzh",
textColor="#ff00ffff",
layout_width=-1,
layout_weight=1,},
{Button,
text="自定义跳转",
onClick="zdytz",
textColor="#ff00ffff",
layout_width=-1,
layout_weight=1,},
}
dlg=LuaDialog()
.setView(loadlayout(layout))
.show()
function gbtz()
dlg.hide()
if edit.text==""
print("请输入数字")
else
service.setSelection(node,tonumber(edit.text))
end
end
function tzdh()
dlg.hide()
require"import"
dlg=LuaDialog()
dlg.setTitle(string.format("共%d个逗号",#t2))
dlg.setItems(t2)
.show()
dlg.onItemClick=function(l,v,p,i)
dlg.dismiss()
service.setSelection(node,tonumber(t21))
end
end
function tzjh()
dlg.hide()
require"import"
dlg=LuaDialog()
dlg.setTitle(string.format("共%d个句号",#t1))
dlg.setItems(t1)
.show()
dlg.onItemClick=function(l,v,p,i)
dlg.dismiss()
service.setSelection(node,tonumber(t11))
end
end
function tzh()
dlg.hide()
require"import"
dlg=LuaDialog()
dlg.setTitle(string.format("共%d行",#t4+1))
dlg.setItems(t3)
.show()
dlg.onItemClick=function(l,v,p,i)
dlg.dismiss()
service.setSelection(node,tonumber(t4))
end
end
function zdytz()
dlg.hide()
require"import"
local zdy,t5,t51={e2.text},{},{}
for n=1,utf8.len(txt),1 do
if table.find(zdy,utf8.sub(txt,n,n)) then
z=utf8.sub(txt,n,n+10)
table.insert(t5,n..z)
table.insert(t51,n)
end
end
local dlg=LuaDialog()
dlg.setTitle(string.format("共%d个",#t5))
dlg.setItems(t5)
.show()
dlg.onItemClick=function(l,v,p,i)
dlg.dismiss()
service.setSelection(node,tonumber(t51))
end
end
return true
回复

使用道具 举报

 楼主| 发表于 2023-8-20 20:50:28 来自手机 | 显示全部楼层
代码发布不齐全,大家还是到资源下载里面下载吧。



  来自解说社区客户端
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|解说社区

GMT+8, 2024-11-23 11:45 , Processed in 0.051702 second(s), 13 queries .

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表