布局表应用,简单IDE界面
androlua吧
全部回复
仅看楼主
level 9
nirenr 楼主
require "import"
import "android.app.*"
import "android.os.*"
import "android.widget.*"
import "android.view.*"
import "com.androlua.*"
import "java.io.*"
activity.setTitle('AndroLua')
dir="/sdcard/androlua/"
t={
LinearLayout,
id="l",
orientation=1,
{
SmartEditor,
id="editor",
text= "编辑框",
layout_width=-1,
layout_height=-1,
layout_weight=1 ,
gravity=0
},
{
LinearLayout,
{
Button,
id="open",
text="打开",
onClick ="click"
} ,
{
Button,
id="save",
text="保存",
onClick ="click"
} ,
{
Button,
id="run",
text="运行",
onClick ="click"
} ,
{
Button,
id="help",
text="帮助",
onClick ="click"
}
}
}
s={
ScrollView,
{
LinearLayout,
orientation=1,
id="scroll",
paddingLeft=20
}
}
item={
TextView,
textSize=24,
layout_width=-1,
onClick="read"
}
func={}
func["打开"]=function()
list(scroll,dir)
dlg.show()
end
func["保存"]=function()
end
func["运行"]=function()
end
func["帮助"]=function()
end
function click(s)
func[s.getText()]()
end
function read(s)
local p= s.getText()
if p:find("%.%./") then
dir=dir:match("(.-)[^/]+/$")
list(scroll,dir)
elseif p:find("/") then
dir=dir..p
list(scroll,dir)
else
local f=io.open(dir..p,"r")
editor.setText(f:read("*all"))
f:close()
dlg.hide()
end
end
function list(v,p)
v.removeAllViews()
local i=loadlayout(activity,item)
i.setText("../")
v.addView(i)
local f=File(p)
local fs=f.listFiles()
Arrays.sort(fs)
for n=0,#fs-1 do
if fs[n].isDirectory() then
local i=loadlayout(activity,item)
i.setText(fs[n].getName().."/")
v.addView(i)
end
end
for n=0,#fs-1 do
if fs[n].isFile() then
local i=loadlayout(activity,item)
i.setText(fs[n].getName())
v.addView(i)
end
end
end
loadlayout(activity,t)
activity.setContentView(l)
dlg=Dialog(activity)
dlg.setTitle("打开")
dlg.setContentView(loadlayout(activity,s))
2015年04月20日 15点04分 1
1