lua函数分享001,输入对话框。

3 寒雪落花静云月 3小时前 73次点击

function 获取输入对话框(输入要求,输入框显示,确认按钮文本,取消按钮文本,输入类型,字数限制,回调函数)

require "import"

import "android.widget.EditText"

import "android.text.InputFilter"

import "android.widget.TextView"

import "android.widget.LinearLayout"

import "android.app.AlertDialog"

local 对话框

local ids={}

local 布局=loadlayout

(

{

LinearLayout;

orientation="vertical";

layout_width="fill";

layout_height="wrap";

padding="15dp";

{

EditText;

layout_width="fill";

layout_height="wrap";

id="输入框";

hint=输入框显示;

inputType=输入类型=="数字" and 2 or 输入类型=="密码" and 129 or 1;

singleLine=true,

};

{

TextView;

layout_width = "fill";

layout_height = "wrap";

text = 确认按钮文本;

textSize = "15dp";

padding = "15dp";

gravity = "center";

id = "确认按钮";

};

{

TextView;

layout_width = "fill";

layout_height = "wrap";

text = 取消按钮文本;

textSize = "15dp";

padding = "15dp";

gravity = "center";

id = "取消按钮";

};

},

ids

)

local 输入框 = ids.输入框

local 确认按钮 = ids.确认按钮

local 取消按钮 = ids.取消按钮

确认按钮.onClick = function()

local 内容 = 输入框.getText().toString()

对话框.dismiss()

回调函数(内容)

end

取消按钮.onClick = function()

对话框.dismiss()

回调函数(nil)

end

对话框 = AlertDialog.Builder(this)

.setTitle(输入要求)

.setView(布局)

.create()

if 字数限制 and 字数限制 > 0 then

输入框.setFilters{ InputFilter.LengthFilter(字数限制) }

end

local displayMetrics = activity.getResources().getDisplayMetrics()

local width = math.min(displayMetrics.widthPixels * 0.8, 800)

local height = LinearLayout.LayoutParams.WRAP_CONTENT

对话框.getWindow().setLayout(width, height)

对话框.show()

end

获取输入对话框

(

"请在下方编辑框内输入角色昵称",

"在这里输入文字",

"确定",

"取消",

"字符串",

10,

function(结果)

if 结果 == nil then

print("输入已取消")

else

print(结果)

end

end)

共 4 条评论
还可以,就是不知道在有中文命名的情况下能不能运行起来。
寒雪落花静云月 [楼主] 3小时前
0 
肯定是能用才往这上面发的啊
pskkalosqk 3小时前
0 

分享的不错,下次别分享了,反正也没人看,看了也不会点赞,也用不着。

pskkalosqk 3小时前
0 

这都什么时代了,还在用它?2025年了,安卓15都出来了,安卓16都有影子了,你看看他呢?

添加一条新评论

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