if tonumber(device.width)==nil then dwidth=1340 dheight=2300 else dwidth=device.width dheight=device.height end function getTimeStamp(t) local str = os.date("%m/%d-%H:%M:%S",t) return str end sviews={} for i=1,15 do sviews['第'..i..'页']={} end function particle(co1,co2,cor) local webView = luajava.webView(function(webView) webView:loadData([[
]], 'text/html', 'UTF-8') webView:setBackgroundColor(0x0) end) return webView end parti=particle( "rgba(0,0,0,0.1)", "rgba(0,0,0,1)", "#909090") function getHorizontalBG(gtvb1,gtvb3,gtvb4,gtvb5) if not gtvb4 then gtvb4 = 0 gtvb5 = 0xff000000 end local jianbians = luajava.new(GradientDrawable) jianbians:setCornerRadius(gtvb3) jianbians:setOrientation(GradientDrawable.Orientation.LEFT_RIGHT) jianbians:setGradientType(GradientDrawable.LINEAR_GRADIENT) jianbians:setColors(gtvb1) jianbians:setStroke(gtvb4,gtvb5)--边框宽度和颜色 return jianbians end colorvs={} changan = {} huiz = function() end window = context:getSystemService("window") -- 获取窗口管理器 function panduan(rec) fille,err = io.open(rec) if fille == nil then return false else return true end end function checkimg(tmp,ii) if panduan("/sdcard/小美/图片/"..tmp) ~= true then gg.toast("正在下载资源"..ii.."/"..#ckimg.."\n请耐心等待") luajava.download("https://escape2020-1303126286.cos.ap-shenzhen-fsi.myqcloud.com/"..tmp,"/sdcard/小美/图片/"..tmp) else if file.length("/sdcard/小美/图片/"..tmp) <= 1 then gg.toast("正在下载资源"..ii.."/"..#ckimg.."\n请耐心等待") luajava.download("https://escape2020-1303126286.cos.ap-shenzhen-fsi.myqcloud.com/"..tmp,"/sdcard/小美/图片/"..tmp) end end if panduan("/sdcard/小美/图片/"..tmp) ~= true then gg.toast("正在下载资源"..ii.."/"..#ckimg.."\n请耐心等待") luajava.download("https://rl-1303126286.cos.ap-beijing-fsi.myqcloud.com/"..tmp,"/sdcard/小美/图片/"..tmp) else if file.length("/sdcard/小美/图片/"..tmp) <= 1 then gg.toast("正在下载资源"..ii.."/"..#ckimg.."\n请耐心等待") luajava.download("https://rl-1303126286.cos.ap-beijing-fsi.myqcloud.com/"..tmp,"/sdcard/小美/图片/"..tmp) end end end ckimg = { "heir", "hei_right", "heir", "heic", 'heis','heisuo', 'quarkcheckoff','quarkcheckon', 'sscoR','Shimmer2.dex' } for i = 1,#ckimg do jindu = i checkimg(ckimg[i],i) gg.toast("正在开启") end shimmer=dex.loadfile('/sdcard/小美/图片/Shimmer2.dex') import "com.romainpiel.shimmer.Shimmer" import "com.romainpiel.shimmer.ShimmerTextView" function 获取图片(txt) txt = string.url(txt,"de") ntxt = string.sub(string.gsub(txt,"/","-"),-10,-1) if string.find(tostring(txt),"http") ~= nil then if panduan("/sdcard/小美/图片/"..ntxt) == false then file.download(txt,"/sdcard/小美/图片/"..ntxt) else if file.length("/sdcard/小美/图片/"..ntxt) <= 1 then file.download(txt,"/sdcard/小美/图片/"..ntxt) end end txt = "/sdcard/小美/图片/"..ntxt end-----泛滥频道 @WDSYNB666 return luajava.getBitmapDrawable(txt) end function getRes(x) return 获取图片("/sdcard/小美/图片/"..x) end isLocked=false inlock=getRes("heisuo") uiunlock=getRes("heis") function uiLock() vibra:vibrate(15) if isLocked==false then isLocked=true luajava.newThread(function() gg.toast("UI缩放已锁定") end):start() lockui:setImageDrawable(inlock) else isLocked=false luajava.newThread(function() gg.toast("UI缩放已解锁") end):start() lockui:setImageDrawable(uiunlock) end end YoYoImpl = luajava.getYoYoImpl() vibra = context:getSystemService(Context.VIBRATOR_SERVICE) function getLayoutParams2() LayoutParams2 = WindowManager.LayoutParams layoutParams2 = luajava.new(LayoutParams2) if (Build.VERSION.SDK_INT >= 26) then -- 设置悬浮窗方式 layoutParams2.type = LayoutParams2.TYPE_APPLICATION_OVERLAY else layoutParams2.type = LayoutParams2.TYPE_PHONE end layoutParams2.format = PixelFormat.RGBA_8888 -- 设置背景 layoutParams2.flags = LayoutParams2.FLAG_NOT_TOUCH_MODAL -- 焦点设置Finish layoutParams2.gravity = Gravity.CENTER -- 重力设置 layoutParams2.width = LayoutParams2.MATCH_PARENT -- 布局宽度 layoutParams2.height = LayoutParams2.MATCH_PARENT -- 布局高度 return layoutParams2 end function changan.line() return luajava.loadlayout ( { LinearLayout , layout_width = 'fill_parent' , layout_height = "3dp" , background = pe0, }) end function getShape8() jianbians = luajava.new(GradientDrawable) jianbians:setCornerRadius(10) jianbians:setGradientType(GradientDrawable.LINEAR_GRADIENT) jianbians:setColors({ 0xff000000,0xddffffff, }) jianbians:setOrientation(GradientDrawable.Orientation.BL_TR) return jianbians end searchlist={} pe0 = getShape8() function getLayoutParams() LayoutParams = WindowManager.LayoutParams layoutParams = luajava.new(LayoutParams) if (Build.VERSION.SDK_INT >= 26) then -- 设置悬浮窗方式 layoutParams.type = LayoutParams.TYPE_APPLICATION_OVERLAY else layoutParams.type = LayoutParams.TYPE_PHONE end layoutParams.format = PixelFormat.RGBA_8888 -- 设置背景 layoutParams.flags = LayoutParams.FLAG_NOT_TOUCH_MODAL -- 焦点设置Finish layoutParams.gravity = Gravity.TOP|Gravity.LEFT -- 重力设置 layoutParams.width = LayoutParams.WRAP_CONTENT -- 布局宽度 layoutParams.height = LayoutParams.WRAP_CONTENT -- 布局高度 return layoutParams end hanshu = function(v, event) local Action = event:getAction() if Action == MotionEvent.ACTION_DOWN then isMove = false RawX = event:getRawX() RawY = event:getRawY() x = mainLayoutParams.x y = mainLayoutParams.y elseif Action == MotionEvent.ACTION_MOVE then isMove = true mainLayoutParams.x = tonumber(x) + (event:getRawX() - RawX) if mainLayoutParams.x<=0 then mainLayoutParams.x=0 end mainLayoutParams.y = tonumber(y) + (event:getRawY() - RawY) window:updateViewLayout(floatWindow, mainLayoutParams) elseif Action == MotionEvent.ACTION_UP then mainLayoutParams.x = tonumber(x) + (event:getRawX() - RawX) mainLayoutParams.y = tonumber(y) + (event:getRawY() - RawY) window:updateViewLayout(floatWindow, mainLayoutParams) end end function getCorner(gtvb1,gtvb3,gtvb4,gtvb5,g1,g2,g3,g4) if not gtvb4 then gtvb4 = 0 gtvb5 = 0xff000000 end local jianbians = luajava.new(GradientDrawable) jianbians:setCornerRadius(gtvb3) jianbians:setGradientType(GradientDrawable.LINEAR_GRADIENT) jianbians:setColors(gtvb1) jianbians:setStroke(gtvb4,gtvb5)--边框宽度和颜色 jianbians:setCornerRadii({g1,g1,g2,g2,g3,g3,g4,g4}) return jianbians end function getVerticalBG(gtvb1,gtvb3,gtvb4,gtvb5) if not gtvb4 then gtvb4 = 0 gtvb5 = 0xff000000 end local jianbians = luajava.new(GradientDrawable) jianbians:setCornerRadius(gtvb3) jianbians:setGradientType(GradientDrawable.LINEAR_GRADIENT) jianbians:setColors(gtvb1) jianbians:setStroke(gtvb4,gtvb5)--边框宽度和颜色 return jianbians end mainLayoutParams = getLayoutParams() import("android.media.AudioManager") audi = context:getSystemService("audio") audiotype = { AudioManager.STREAM_ALARM, --手机闹铃的声音 AudioManager.STREAM_MUSIC, --手机音乐的声音 AudioManager.STREAM_NOTIFICATION, --系统提示的通知 AudioManager.STREAM_RING, --电话铃声的声音 AudioManager.STREAM_SYSTEM, --手机系统的声音 AudioManager.STREAM_VOICE_CALL, --语音电话的声音 AudioManager.STREAM_DTMF, --DTMF音调的声音 --AudioManager.STREAM_BLUETOOTH_SCO, } yinl = {} for i = 1,#audiotype do yinl[i] = {} yinl[i].type = audiotype[i] yinl[i].min = audi:getStreamMinVolume(audiotype[i]) yinl[i].max = audi:getStreamMaxVolume(audiotype[i]) yinl[i].now = audi:getStreamVolume(audiotype[i]) end yltype = 0 function jianting3(func) yinln = {} for i = 1,#audiotype do yinln[i] = {} yinln[i].type = audiotype[i] yinln[i].now = audi:getStreamVolume(audiotype[i]) if yinln[i].now > yinl[i].now then yinl[i].now = yinln[i].now if yltype == 1 then yltype = 0 func() end elseif yinln[i].now < yinl[i].now then yinl[i].now = yinln[i].now if yltype == 0 then yltype = 1 func() end end end end changan.controlWater = function(control,time) luajava.runUiThread(function() import "android.animation.ObjectAnimator" ObjectAnimator():ofFloat(control,"scaleX", { 1, 0.8, 0.9, 1 }):setDuration(time):start() ObjectAnimator():ofFloat(control,"scaleY", { 1,0.8,0.9,1 }):setDuration(time):start() end) end changan.controlSmall = function(control,time) luajava.runUiThread(function() import "android.animation.ObjectAnimator" ObjectAnimator():ofFloat(control,"scaleX", { 1, 0.7, 0.4, 0 }):setDuration(time):start() ObjectAnimator():ofFloat(control,"scaleY", { 1, 0.7, 0.4, 0 }):setDuration(time):start() end) end changan.controlBig = function(control,time) luajava.runUiThread(function() import "android.animation.ObjectAnimator" ObjectAnimator():ofFloat(control,"scaleX", { 0, 0.4, 0.7, 1 }):setDuration(time):start() ObjectAnimator():ofFloat(control,"scaleY", { 0, 0.4, 0.7, 1 }):setDuration(time):start() end) end gg.setVisible(false) function guid() seed = { 'e','1','2','3','4','5','6','7','8','9','a','b','c','d','e','f' } tb = {} for i = 1,32 do table.insert(tb,seed[math.random(1,16)]) end sid = table.concat(tb) return string.format('%s%s%s', string.sub(sid,1,8), string.sub(sid,10,12), string.sub(sid,21,22)) end local ui = require('ui') suofang = function(v, event) if isLocked then hanshu(v,event) return 0 end local Action = event:getAction() if Action == MotionEvent.ACTION_DOWN then isMove = false RawX = event:getRawX() RawY = event:getRawY() hx = mainLayoutParams.height hy = mainLayoutParams.width if hx == 0 or hx==-2 then hx = 810 hy = 1150 end elseif Action == MotionEvent.ACTION_MOVE then isMove = true mubx = tonumber(hx) + (event:getRawY() - RawY) if mubx >= 250 and mubx <= 11100 then mainLayoutParams.height = mubx end muby = tonumber(hy) + (event:getRawX() - RawX) if muby >= 250 and muby <= 24500 then mainLayoutParams.width = muby end if muby<=250 and mubx<=250 then muby=250 mubx=250 --隐藏() return 0 end window:updateViewLayout(floatWindow, mainLayoutParams) end end changan.menu = function(sviews) if isswitch then return false end isswitch = true local layout = { 'ui.ViewPager', layout_height ="match_parent", layout_width='match_parent', focusable="false", focusableInTouchMode="false", } cebian={ LinearLayout, layout_height="50dp", layout_width="wrap_content", orientation="horizontal", gravity="center_horizontal", } slcta={} slctb={} for i=1,#stab do slcta[i]=getVerticalBG({0xff161616,0xff161616},15) slctb[i]=getVerticalBG({0xffffffff,0xffffffff},15) _ENV["jm"..i]=luajava.loadlayout({ LinearLayout, layout_height="50dp", layout_width="58.4dp", gravity="center", orientation="vertical", onClick=function() 切换(i) end, {TextView, id="jm"..i.."t", text=stab[i], textSize="11sp", textColor="#161616", background=slctb[i], padding={"10dp","6dp","10dp","6dp"}, } }) cebian[#cebian+1]=_ENV["jm"..i] tmp1={ LinearLayout, layout_height="wrap_content", layout_width="match_parent", orientation="vertical", } tmp2={ LinearLayout, layout_height="wrap_content", layout_width="match_parent", orientation="vertical", } for h=1,#sviews[i] do local t=sviews[i][h] if type(t)=='userdata' then tmp1[#tmp1 +1]=t else tmp1[#tmp1+1]=t.view end end tmp1={ LinearLayout, layout_height="match_parent", layout_width="match_parent", layout_weight=1, orientation="vertical", {ScrollView, layout_height='match_parent', layout_width='match_parent', tmp1 } } _ENV["layout"..i]={ LinearLayout, --orientation="vertical", layout_height="match_parent", layout_width="match_parent", orientation='horizontal', {LinearLayout, layout_height="match_parent", layout_width="match_parent", layout_weight=1, padding={'8dp','10dp','8dp','10dp'}, background=getCorner({0x00ffffff,0x00ffffff},20,0,0xaa161616,20,0,0,20), tmp1}, --onTouch=Gundong, padding={"8dp","3dp","8dp","3dp"}, } layout[#layout + 1] =_ENV["layout"..i] end 当前ui=1 jm1t:setTextColor(0xffffffff) jm1t:setBackground(slcta[1]) ViewPager = ui.ViewPager(layout) luajava.setInterface(ViewPager, 'addOnPageChangeListener', {onPageSelected=function(view) view=tonumber(string.sub(view,1,1)) for i=1,#stab do _ENV["jm"..i .."t"]:setTextColor(0xff161616) _ENV["jm"..i .."t"]:setBackground(slctb[i]) end 当前ui=view+1 --滚(当前ui) _ENV["jm"..view+1 .."t"]:setTextColor(0xffffffff) _ENV["jm"..view+1 .."t"]:setBackground(slcta[view+1]) end}) _ENV['tosearch']='tosearch' function topSelect() local selector = luajava.getStateListDrawable() selector:addState({ android.R.attr.state_pressed }, getVerticalBG({0x22161616,0x22161616},30)) selector:addState({ -android.R.attr.state_pressed }, empty) return selector end topbar=luajava.loadlayout({ LinearLayout, layout_width="fill_parent", layout_height="35dp", background=getCorner({0xffffffff,0xffffffff},15,0,0xff232323,20,20,0,0), onClick=function() end, onTouch=hanshu, {LinearLayout, layout_width="35dp", layout_height="match_parent", gravity="center", { ImageView, padding = "5dp", id="lockui", src = getRes("heis"), background=getVerticalBG({0xffE6E6E6,0xffE6E6E6},90), layout_width = "20dp", layout_height = "20dp", layout_marginRight = "5dp", onClick = uiLock, onTouch = hanshu, } }, {LinearLayout, layout_width="wrap_content", layout_height="match_parent", gravity="center", { LinearLayout, id='cvv', layout_width='70dp', layout_height='match_parent', gravity="center", } }, {LinearLayout, layout_width="fill_parent", layout_marginLeft='-80dp', layout_weight=1, layout_height="match_parent", gravity="center", {LinearLayout, layout_height="match_parent", layout_width="80dp", background=topSelect(), onClick=function() end, gravity="center", onTouch=hanshu, {LinearLayout, layout_height="5dp", layout_width="60dp", id='tops', background=getVerticalBG({颜色表[1][1],颜色表[1][2]},20) } } }, {LinearLayout, layout_width="35dp", layout_height="match_parent", gravity="center", { ImageView, padding = "5dp", src = getRes("heix"), background=getVerticalBG({0xffE6E6E6,0xffE6E6E6},90), layout_width = "20dp", layout_height = "20dp", layout_marginRight = "5dp", onClick = 隐藏, onTouch = hanshu, } } }) stit=luajava.loadlayout({ShimmerTextView, textSize="18sp", gravity='center_horizontal', layout_width='match_parent', shimmerEnable='true', reflectionColor="#FFDD60"; textColor="#151515", text=左上角标题, }) ckou={ FrameLayout, layout_height="match_parent", layout_width="match_parent", orientation="vertical", id='chuangkou', background=getVerticalBG({0xffeeeeee,0xffeeeeee},15,0,0xff01CBFF,25,25,25,25), {LinearLayout, id="canv", layout_height="match_parent", layout_width="match_parent", gravity="bottom", orientation='vertical', {LinearLayout, layout_height='150dp', } }, topbar, {LinearLayout,--top layout_marginTop="40dp", orientation='vertical', {LinearLayout, layout_width='match_parent', layout_height='50dp', padding='4dp', {LinearLayout, layout_height='match_parent', layout_width='match_parent', background=getHorizontalBG({0xffffffff,0xffffffff},10), gravity='center_vertical', {LinearLayout, layout_height="match_parent", layout_width="100dp", orientation="vertical", gravity="center", onClick=隐藏, onTouch=hanshu, {LinearLayout, onClick=function() end, onTouch=hanshu, layout_height="fill_parent", layout_width="fill_parent", gravity="center", stit } }, {HorizontalScrollView, layout_height='match_parent', layout_width='match_parent', layout_weight=1, padding='4dp', {LinearLayout, layout_height='match_parent', layout_width='match_parent', background=getVerticalBG({0x44ffffff,0x44ffffff},10), padding='3dp', tiaose() }, }, } }, {LinearLayout,layout_height='match_parent',layout_width='match_parent',layout_weight=1,ViewPager,}, {HorizontalScrollView, layout_width='match_parent', layout_height='wrap_content', background=getCorner({0x11232323,0x11232323},10,0,0xff0097FF,0,0,20,20), {LinearLayout, layout_width='wrap_content', layout_height='wrap_content', padding={'0dp','0dp','20dp','0dp'}, cebian}}}, } ckou = { LinearLayout, id = "chuangk", layout_width = "match_parent", layout_height = "match_parent", orientation = "vertical", ckou } ckou = luajava.loadlayout(ckou) floatWindow = { FrameLayout, id = "motion", elevation = "10dp", onTouch = hanshu, onClick = function() end, layout_width = "wrap_content", orientation = "vertical", gravity = "center_vertical", layout_height = "wrap_content", ckou, { ImageView, id = "control2", background = 获取图片(悬浮窗图标), layout_width = "40dp", layout_height = "40dp", onTouch = hanshu, onClick = 隐藏, },{LinearLayout, id="smallc", visibility="gone", onClick=显示2, onTouch=hanshu, layout_height="56dp", layout_width="20dp", gravity="center", background=getCorner({0x88161616,0x88161616},12,0,0xff232323,0,35,35,0), },{FrameLayout, id='reme', layout_height='match_parent', layout_width='match_parent', elevation='3dp', { ImageView, id="sf", padding = "2dp", src = getRes("sscoR"), layout_width = "30dp", layout_height = "30dp", layout_marginRight = "0dp", layout_marginBottom = "0dp", layout_gravity = "right|bottom", onClick = function() end, onTouch = suofang, }} } local function invoke() local ok local RawX, RawY, x, y mainLayoutParams = getLayoutParams() mainLayoutParams.x = 10 mainLayoutParams.y = dheight/4 param2=getLayoutParams2() floatWindow = luajava.loadlayout(floatWindow) local function invoke2() window:addView(floatWindow, mainLayoutParams) canv:addView(parti) end if loadingBox~=nil then loadingBox['关闭']() end function launch(pkg) loadingBox = getLoadingBox(pkg..'\n正在启动...') loadingBox['显示']() 隐藏() gg.setProcess(pkg) gg.sleep(500) if tostring(gg.getTargetPackage()) == pkg then loadingBox['关闭']() gg.toast("进程已选择:"..pkg) return 0 end gg.toast("正在启动游戏...") print(gg.isPackageInstalled(pkg)) app.start(pkg) jci=0 --gg.sleep(5000) while true do gg.setProcess(pkg) gg.sleep(400) if tostring(gg.getTargetPackage()) == pkg then loadingBox['关闭']() string.toMusic("已自动选择使命进程") break else jci=jci+1 if jci==14 then loadingBox['关闭']() gg.alert("自动获取进程失败\n请手动选择游戏进程") gg.setProcessX() break end end gg.sleep(100) end end local runnable = luajava.getRunnable(invoke2) local handler = luajava.getHandler() handler:post(runnable) local isMove end invoke(swib1,swib2) shimmer = Shimmer(); luajava.runUiThread(function() shimmer:setDuration(2000) shimmer:setStartDelay(50) shimmer:start(stit) end) gg.setVisible(false) 隐藏() setOnExitListener(function() luajava.post(function() window:removeView(floatWindow) end) tuichu=1 luajava.setFloatingWindowHide(false) end) luajava.setFloatingWindowHide(true) qhkai = 0 qiehuan = function() if qhkai == 0 then qhkai = 1 draw.remove() luajava.runUiThread(function() changan.controlSmall(floatWindow,400) end) gg.sleep(400) luajava.runUiThread(function() floatWindow:setVisibility(View.GONE) end) else qhkai = 0 huiz() luajava.runUiThread(function() floatWindow:setVisibility(View.VISIBLE) end) luajava.runUiThread(function() changan.controlBig(floatWindow,400) end) end end huiz() while true do if tuichu == 1 then break end jianting3(qiehuan) gg.sleep(300) end luajava.setFloatingWindowHide(false) end function 滚(x) luajava.runUiThread(function() local cbsc=luajava.getIdView("cbscro") local targetLeft = _ENV["jm"..x]:getLeft()/2 cbsc:smoothScrollTo(targetLeft, 0); end) end function 切换(x) 窗口=false x=x-1 luajava.runUiThread(function() 当前ui=x ViewPager:setCurrentItem(x) end) end 显示=0 function 隐藏() luajava.runUiThread(function() if 显示 == 0 then control2:setVisibility(View.GONE) 显示 = 1 YoYoImpl:with("ZoomIn"):duration(300):playOn(floatWindow) canv:setVisibility(View.VISIBLE) mainLayoutParams.height = mubx mainLayoutParams.width = muby mainLayoutParams.flags = LayoutParams.FLAG_NOT_TOUCH_MODAL window : updateViewLayout (floatWindow , mainLayoutParams) reme:setVisibility(View.VISIBLE) ckou:setVisibility(View.VISIBLE) else canv:setVisibility(View.GONE) if tuichuing then return 0 end tuichuing=true luajava.newThread(function() luajava.runUiThread(function() YoYoImpl:with("FadeOut"):duration(200):playOn(floatWindow) end) gg.sleep(200) luajava.runUiThread(function() ckou:setVisibility(View.GONE) reme:setVisibility(View.GONE) YoYoImpl:with("FadeIn"):duration(200):playOn(floatWindow) mainLayoutParams.width = LayoutParams.WRAP_CONTENT -- 布局宽度 mainLayoutParams.height = LayoutParams.WRAP_CONTENT -- 布局高度 control2:setVisibility(View.VISIBLE) 显示 = 0 mainLayoutParams.flags = LayoutParams.FLAG_NOT_FOCUSABLE window : updateViewLayout (floatWindow , mainLayoutParams) end) tuichuing=false end):start() end end) end switches = {} function 开关3(name,func1,func2,nid) local sname = nid local localname=name name = name..guid() _ENV[name] = "关" if func1 == nil then func1 = "" end if func2 == nil then func2 = "" end if type(func1) == "function" then local outfunc=function() namers = _ENV[name] if namers ~= "开" then vibra:vibrate(9) luajava.runUiThread(function() luajava.getIdValue(nid.."k"):setVisibility(View.GONE) YoYoImpl:with("ZoomInLeft"):duration(600):playOn(switches["2s"..sname]) luajava.getIdValue(nid.."g"):setVisibility(View.VISIBLE) luajava.getIdValue(nid):setBackground(checkbg) end) _ENV[name] = "开" colorvs[nid]={true,"switch"} pcall(func1) else vibra:vibrate(9) luajava.runUiThread(function() luajava.getIdValue(nid.."g"):setVisibility(View.GONE) YoYoImpl:with("ZoomInRight"):duration(600):playOn(switches["1s"..sname]) luajava.getIdValue(nid.."k"):setVisibility(View.VISIBLE) luajava.getIdValue(nid):setBackground(checkbga) end) colorvs[nid]={false,"switch"} _ENV[name] = "关" pcall(func2) end end return outfunc end end function getShape(tmp0,tmp1,tmp2,tmp3) jianbians = luajava.new(GradientDrawable) jianbians:setCornerRadius(tmp0) jianbians:setGradientType(GradientDrawable.LINEAR_GRADIENT) jianbians:setColors(tmp1) jianbians:setOrientation(GradientDrawable.Orientation.LEFT_RIGHT) jianbians:setStroke(7,tmp3)--边框宽度和颜色 return jianbians end function getShape2(tmp0,tmp1,tmp2,tmp3) jianbians = luajava.new(GradientDrawable) jianbians:setCornerRadius(tmp0) jianbians:setGradientType(GradientDrawable.LINEAR_GRADIENT) jianbians:setColors(tmp1) jianbians:setOrientation(GradientDrawable.Orientation.LEFT_RIGHT) jianbians:setStroke(26,tmp3)--边框宽度和颜色 return jianbians end function changan.switch(name,func1,func2,miaoshu) if not checkbg then checkbg = getShape2( 45, {控件颜色[1],控件颜色[2]}, 4,控件颜色[1]) checkbga = getShape2( 45, { 0xffaaaaaa,0xffaaaaaa }, 4,0xffaaaaaa) switchbg1 = getShape( 45, { 0xffffffff,0xffffffff }, 4,0xffffffff) switchbg2 = luajava.loadlayout { GradientDrawable , color = "#ffffff" , cornerRadius = 360 } end nid = name..guid() local func = 开关3(name,func1,func2,nid) if not name then name = "未设置" end switches["1s"..nid] = luajava.loadlayout { FrameLayout, layout_width = '40dp', layout_height = '20dp', gravity = "center_vertical", padding = { "1dp","0dp","1dp","0dp" }, { LinearLayout, layout_gravity = "left|center_vertical", id = luajava.newId(nid.."k"), background = switchbg1, onClick = function() luajava.newThread(function() func() end):start() end, layout_width = '17dp', layout_height = '17dp', }, } switches["2s"..nid] = luajava.loadlayout { FrameLayout, onClick = function() luajava.newThread(function() func() end):start() end, layout_width = '40dp', layout_height = '20dp', gravity = "center_vertical", padding = { "1dp","0dp","1dp","0dp" } , { LinearLayout, visibility = "gone", layout_gravity = "right|center_vertical", id = luajava.newId(nid.."g"), background = switchbg2, onClick = function() luajava.newThread(function() func() end):start() end, layout_width = '17dp', layout_height = '17dp', } } rest = luajava.loadlayout({ LinearLayout, elevation = "5dp", layout_width = 'fill_parent', layout_height = "48dp", gravity = "center_vertical", { LinearLayout, layout_width = 'fill_parent', layout_height = "40dp", gravity = "center_vertical", background = luajava.loadlayout { GradientDrawable , color = 0xffffffff , cornerRadius = 30 } ,padding = { "0dp","0dp","6dp","0dp" }, { TextView, gravity = "top", text = name, textColor = "#000000", textSize = "13sp", layout_weight = 1, layout_width = '80dp', layout_marginLeft = "10dp", layout_marginRight = "20dp", }, { TextView, gravity = "center", layout_height = "match_parent", text = miaoshu, textSize = "11sp", layout_width = "wrap_content", layout_marginLeft = "-50dp", layout_weight = 1, textColor = "#A5A5A5", }, { FrameLayout, id=luajava.newId(nid), background = checkbga, elevation = "1dp", onClick = function() luajava.newThread(function() func() end):start() end, layout_width = 'wrap_content', layout_height = 'wrap_content', gravity = "left", padding="1dp", switches["1s"..nid],switches["2s"..nid] }} }) return {view=rest, type='switch', name=name, func1=func1,func2=func2 } end switchs={} tcheck=10 function changan.intcard(name,name2,func1,func2,ii,gid) if tcheck==56 then tcheck=1 else tcheck=tcheck+1 end tocheck=spics[tcheck] local func = 开关6(name,func1,func2,gid..ii) if not name then name = "未设置" end if not name2 then name2="" end switchs[gid..ii] = { LinearLayout, id = luajava.newId(gid..ii), layout_width = 'wrap_content', layout_height = "wrap_content", layout_marginTop="5dp", layout_marginBottom="5dp", layout_marginLeft="3dp", layout_marginRight="3dp", { LinearLayout, padding="3dp", onClick = function() luajava.newThread(function() func() end):start() end, layout_width = ( (tonumber(string.replace(界面宽度,"dp","")) -30)/2).."dp", layout_height = "wrap_content", gravity = "left", background=getVerticalBG({0xaa1a1b1d,0xaa1a1b1d},10), orientation="vertical", padding="5dp", --background=getVerticalBG({0xffFFFDF2,0xddffffff,0xffFFFDF2},15,8,0xffFFDA71), { ImageView, id = luajava.newId(gid..ii.."p"), src = getRes(tocheck), gravity="left", layout_width = '30dp', layout_height = '30dp', padding = "3dp", },{ TextView, id=luajava.newId(gid..ii.."t"), gravity = "left", text = name, textColor="#ffffff", textSize = "12sp", layout_width = 'match_parent', layout_weight=1, },{ TextView, id=luajava.newId(gid..ii.."t2"), gravity = "left", text = name2, textColor="#aaaaaa", textSize = "9sp", layout_width = 'match_parent', layout_weight=1, } } } colorvs[gid..ii.."p"]={false,"img"} colorvs[gid..ii.."t"]={false,"txt"} return {view=switchs[gid..ii], type='card', name=name, func1=func1, func2=func2, } end shous={} function 收起ck(gid,ii) if shous[gid] ==false then shous[gid]=true luajava.getIdView(gid..ii.."p"):setRotation(0) for i=1,ii-1 do if i>=9 then luajava.post(function() luajava.getIdView(gid):removeView(luajava.getIdView(gid..i)) end) end end else shous[gid]=false luajava.post(function() luajava.getIdView(gid):removeView(luajava.getIdView(gid..ii)) for i=1,ii-1 do if i>=9 then luajava.getIdView(gid):addView(luajava.getIdView(gid..i)) end end luajava.getIdView(gid):addView(luajava.getIdView(gid..ii)) end) luajava.getIdView(gid..ii.."p"):setRotation(180) end end function 开关6(name,func1,func2,nid) local sname = nid local localname=name name = name..guid() _ENV[name] = "关" if func1 == nil then func1 = "" end if func2 == nil then func2 = "" end if type(func1) == "function" then return function() namers = _ENV[name] if namers ~= "开" then vibra:vibrate(9) luajava.runUiThread(function() luajava.getIdValue(nid.."t"):setTextColor(控件颜色[1]) luajava.getIdValue(nid.."t2"):setTextColor(控件颜色[1]) luajava.getIdValue(nid.."p"):setColorFilter(控件颜色[1]) colorvs[nid.."p"]={true,"img"} colorvs[nid.."t"]={true,"txt"} colorvs[nid.."t2"]={true,"txt"} --changan.controlWater(switchs[nid],100) end) _ENV[name] = "开" pcall(func1) else vibra:vibrate(9) luajava.runUiThread(function() luajava.getIdValue(nid.."t"):setTextColor(0xffffffff) luajava.getIdValue(nid.."p"):setColorFilter(0xffd7d7d7) luajava.getIdValue(nid.."t2"):setTextColor(0xffaaaaaa) colorvs[nid.."p"]={false,"img"} colorvs[nid.."t"]={false,"txt"} colorvs[nid.."t2"]={false,"txt"} --changan.controlWater(switchs[nid],100) end) _ENV[name] = "关" pcall(func2) end end end end function hexTo255(rgbHex) local rgbHex = string.format("%x", rgbHex) local red = tonumber(rgbHex:sub(3, 4), 16) local green = tonumber(rgbHex:sub(5, 6), 16) local blue = tonumber(rgbHex:sub(7, 8), 16) return {red,green,blue} end function changeColor(co) 控件颜色=co luajava.runUiThread(function() luajava.post(function() canv:removeView(parti) end) parti:destroy() parti=nil local t=hexTo255(控件颜色[1]) local a,b,c=t[1],t[2],t[3] parti=particle( "rgba("..a..","..b..","..c..",0.1)", "rgba("..a..","..b..","..c..",1)", "#"..string.sub(string.format("%x", 控件颜色[2]),3,-1)) luajava.post(function() canv:addView(parti) end) tpbbg=getHorizontalBG({控件颜色[1],控件颜色[2]},20) tops:setBackground(tpbbg) --luajava.getIdView("topb1"):setBackground(tpbbg) --luajava.getIdView("topb2"):setBackground(tpbbg) if _ENV["jm"..当前ui.."t"]~=nil then _ENV["jm"..当前ui.."t"]:setTextColor(0xffffffff) for i=1,#stab do slcta[i]=getVerticalBG({控件颜色[1],控件颜色[2]},15) end _ENV["jm"..当前ui.."t"]:setBackground(slcta[当前ui]) --_ENV["jm"..当前ui.."p"]:setColorFilter(控件颜色) end --luajava.getIdView("backv"):setColorFilter(控件颜色[1]) checkbg = getShape2(45,{控件颜色[1],控件颜色[2]},4,控件颜色[1]) radon=getVerticalBG({0xffffffff,0xffffffff},360,20,控件颜色[1]) for k,v in pairs(colorvs) do if v[1]==true then if v[2]=="switch" then luajava.getIdValue(k):setBackground(checkbg) elseif v[2]=="box" then boxpic[k]:setColorFilter(控件颜色[1]) elseif v[2]=="txt" then luajava.getIdValue(k):setTextColor(控件颜色[1]) elseif v[2]=="img" then luajava.getIdValue(k):setColorFilter(控件颜色[1]) elseif v[2]=="rad" then luajava.getIdValue(k):setBackground(radon) elseif v[2]=="seek" then luajava.getIdView(k):setProgressDrawable( getVerticalBG({控件颜色[1],控件颜色[2]},45)) end end if v[2]=="check" then swits[k][1]=getVerticalBG({控件颜色[1],控件颜色[2]},15,4,0xff232323) swits[k][2]=getVerticalBG({控件颜色[1],控件颜色[2]},15,4,0xff232323) if v[1]==true then luajava.getIdValue(k.."g"):setBackground(swits[k][1]) else luajava.getIdValue(k.."k"):setBackground(swits[k][2]) end end end end) end currentIndex = 1 function 预置颜色() local currentItem = 颜色表[currentIndex] changeColor(currentItem) currentIndex = currentIndex + 1 if currentIndex > #颜色表 then currentIndex = 1 end end ckbg=getVerticalBG({0xff3A3A3C,0xff3A3A3C},360) nowbg=1 swits={} checkbg1 = getRes("quarkcheckoff") checkbg2 = getRes("quarkcheckon") switchs={} function changan.intcheck(name,func1,func2) nid = name..guid() local func = 开关5(name,func1,func2,nid) if not name then name = "未设置" end switchs[nid] = { LinearLayout, layout_width = 'match_parent', layout_weight=1, layout_height = "wrap_content", layout_marginTop = "1dp", layout_marginBottom = "1dp", padding = "1dp", { LinearLayout, padding="3dp", onClick = function() luajava.newThread(function() func() end):start() end, layout_width = 'fill_parent', layout_height = "wrap_content", gravity = "center_vertical", --background=getVerticalBG({0xffFFFDF2,0xddffffff,0xffFFFDF2},15,8,0xffFFDA71), { FrameLayout, id = luajava.newId(nid), background = checkbg1, layout_width = '32dp', layout_height = '32dp', padding = "0dp", },{ TextView, id=luajava.newId(nid.."t"), gravity = "left", text = name, textColor='#000000', textSize = "14sp", --layout_marginLeft="8dp", layout_width = 'match_parent', layout_weight=1, }, } } return switchs[nid] end function 开关5(name,func1,func2,nid) local sname = nid local localname=name name = name..guid() _ENV[name] = "关" if func1 == nil then func1 = "" end if func2 == nil then func2 = "" end if type(func1) == "function" then return function() namers = _ENV[name] if namers ~= "开" then vibra:vibrate(9) luajava.runUiThread(function() luajava.getIdValue(nid):setBackground(checkbg2) luajava.getIdValue(nid.."t"):setTextColor(switch颜色) --changan.controlWater(switchs[nid],300) end) _ENV[name] = "开" pcall(func1) else vibra:vibrate(9) luajava.runUiThread(function() luajava.getIdValue(nid):setBackground(checkbg1) luajava.getIdValue(nid.."t"):setTextColor(0xff232323) --changan.controlWater(switchs[nid],300) end) _ENV[name] = "关" pcall(func2) end end end end function changan.check(cklist) if #cklist==0 then return nil end local rest = { LinearLayout, layout_width = 'fill_parent', layout_height = "wrap_content", gravity = "center", orientation="vertical", } for i = 1, #cklist,2 do local tempTable = {LinearLayout, layout_width = 'fill_parent', layout_height = "wrap_content", gravity = "left", orientation="horizontal" } for j = 0, 1 do if cklist[i + j] ~= nil then local name = cklist[i + j][1] local func1 = cklist[i + j][2] local func2 = cklist[i + j][3] if not name then name = "未设置" end rstt = changan.intcheck(name,func1,func2) table.insert(tempTable, rstt) else table.insert(tempTable, {LinearLayout, layout_width = 'match_parent', layout_weight=1,}) end end table.insert(rest, tempTable) end return luajava.loadlayout(rest) end changan.controlRotation9 = function(control, time,t) luajava.runUiThread(function() import "android.view.animation.Animation" import "android.animation.ObjectAnimator" xuanzhuandonghua = ObjectAnimator:ofFloat(control, "rotation", { time,t }) xuanzhuandonghua:setRepeatCount(0) xuanzhuandonghua:setRepeatMode(Animation.RESTART) xuanzhuandonghua:setDuration(400) xuanzhuandonghua:start() end) end 界面宽度="349dp" 界面长度="349dp" function visi (tid , ttid) vibra:vibrate(4) local tview = luajava.getIdValue (tid) local ttview = luajava.getIdValue (ttid) if not tview then return 0 end if tonumber (tostring (tview : getVisibility ())) == 8.0 then tview : setVisibility (View.VISIBLE) YoYoImpl:with("FadeIn"):duration(200):playOn(boxes[tid]) changan.controlRotation9(boxpic[tid],0,90) boxpic[tid]:setColorFilter(控件颜色[1]) colorvs[tid]={true,"box"} else tview : setVisibility (View.GONE) changan.controlWater (_ENV [tid.."6"] , 200) changan.controlRotation9(boxpic[tid],90,0) boxpic[tid]:setColorFilter(nil) colorvs[tid]={false,"box"} end end boxes = {} boxpic = {} function changan.box (views) local tid = "box"..guid () local vs={} boxpic[tid] = luajava.loadlayout { ImageView , src = getRes("hei_right"), layout_width = "24dp" , layout_height = "24dp" , } local ttid = tid.."6" local t1id = guid () firadio = { LinearLayout , layout_width = 'fill_parent' , layout_height = "wrap_content" , layout_marginTop = "2dp" , layout_marginBottom = "2dp" , orientation = "vertical" , } if type (views [1]) == "string" or type (views [1]) == "number" then firadio [# firadio + 1] = { LinearLayout , layout_width = 'fill_parent' , layout_height = "40dp" , gravity = "center_vertical" , layout_marginTop = "2dp" , layout_marginBottom = "4dp" , onClick = function () visi (tid , ttid) end , background = getButtonBG(), { TextView , text = views [1] , textSize = "13sp" , layout_marginLeft = "15dp" , layout_width = "match_parent" , layout_weight=1, textColor = "#000000" , gravity = "left" , },{ LinearLayout , padding={"0dp","0dp","10dp","0dp"}, layout_width = "30dp" , layout_height = "30dp" , gravity = "center", boxpic[tid], } } else gg.alert ("changan.box的table内第一个元素必须是string") os.exit () end radios = { LinearLayout , layout_marginLeft = "0dp" , layout_marginRight = "0dp" , orientation = "vertical" , visibility = "gone" , id = luajava.newId (tid) , padding = "0dp" , layout_width = 'fill_parent' , } for i = 2 , # views do if type(views[i])=='table' then radios [# radios + 1] = views [i].view vs[#vs+1]=views [i] else radios [# radios + 1] = views [i] end end boxes[tid] = luajava.loadlayout(radios) firadio [# firadio + 1] = boxes[tid] _ENV [t1id] = luajava.loadlayout (firadio) return {view=_ENV [t1id], type='BOX', name=views[1], vs=vs } end buts={} heir=getRes("heir") function changan.Bigbutton(txt,func,txtc) if not txt then txt = "未设置" end if not txtc then txtc="#ffffff" end local tid="Cbutton"..guid() buts[tid]=luajava.loadlayout( { LinearLayout, layout_width = 'match_parent', layout_height = "wrap_content", { LinearLayout, layout_width = "fill_parent", gravity = "center_vertical", layout_marginTop = "5dp", layout_marginBottom = "5dp", background = getButtonBG(), padding="10dp", onClick = function() changan.controlWater(buts[tid],100) vibra:vibrate(10) luajava.newThread(func):start() end, { TextView, --id = luajava.newId(tid), textColor = txtc, text = txt, textSize = "13sp", layout_height = "wrap_content", layout_width = "fill_parent", layout_weight=1, },{ImageView, src=heir, layout_height="14dp", layout_width="14dp", } }}) return {view=buts[tid], name=txt, func=func, type='button' } end function getButtonBG() local selector = luajava.getStateListDrawable() selector:addState({ android.R.attr.state_pressed }, getVerticalBG({0x55000000,0x55000000},15)) selector:addState({ -android.R.attr.state_pressed }, getVerticalBG({0xaa1a1b1d,0xaa1a1b1d},15)) return selector end radiog={} function changan.radio (cklist) if not radoff then radon=getVerticalBG({0xffffffff,0xffffffff},360,20,控件颜色[1]) radoff=getVerticalBG({0x00ffffff,0x00ffffff},360,8,0xffaaaaaa) end local rid=guid() radiog[rid]={} rest = { LinearLayout , layout_width = 'match_parent' , layout_height = "wrap_content" , layout_marginTop = "10dp" , gravity = "top" , orientation = "vertical" , } if type (cklist [1]) == "string" then rds=2 rest [# rest + 1] = { TextView , gravity = "left" , padding="5dp", text = cklist [1] , textSize = "13sp" , textColor = "#d7d7d7" , layout_width = 'fill_parent' , layout_height = 'wrap_content' , layout_marginLeft = "10dp" , layout_marginRight = "5dp" , layout_marginTop = "0dp" , layout_marginBottom = "0dp" , } else rds=1 end local restt={ LinearLayout , layout_width = 'match_parent' , layout_height = "wrap_content" , layout_marginTop = "10dp" , gravity = "top" , orientation = "vertical" , background=getVerticalBG({0xaa1a1b1d,0xaa1a1b1d},45), padding={"0dp","14dp","0dp","10dp"}, } for i = rds , # cklist do local name = cklist [i] [1] local func = cklist [i] [2] if not name then name = "未设置" end nid = name..guid () radiog[rid][nid]=false local func = radin(rid,nid,func) local tid = nid..guid () _ENV [tid] = luajava.loadlayout ( { LinearLayout , layout_width = '250dp' , layout_height = "30dp" , layout_marginTop = "5dp" , layout_marginBottom = "15dp" , layout_marginLeft = "4dp" , layout_marginRight = "10dp" , gravity = "center_vertical" , onClick = function () changan.controlWater (_ENV [tid] , 200) func() end , { ImageView , id = luajava.newId (nid) , layout_width = '20dp' , layout_height = "20dp" , layout_marginLeft = "5dp" , layout_marginRight = "0dp" , background =radoff , } , { TextView , gravity = "top" , text = name , textSize="13sp", textColor = "#d7d7d7" , layout_width = 'wrap_content' , layout_height = 'wrap_content' , layout_marginLeft = "10dp" , layout_marginRight = "5dp" , } }) restt [# restt + 1] = _ENV [tid] end rest [# rest + 1] = restt return {view=luajava.loadlayout(rest), type='radio', name='单选', } end function radin(rid,nid,func) return function() for k,v in pairs(radiog[rid]) do colorvs[k]={false,"rad"} luajava.getIdValue(k):setBackground(radoff) if k==nid and v~=true then luajava.getIdValue(k):setBackground(radon) colorvs[k]={true,"rad"} v=true luajava.newThread(func):start() end end end end 当前ui=1 function changan.text(text,color,size,isjz) if not color then color="#161616" end if isjz then rst= luajava.loadlayout( { TextView, text=text, textColor=color, textSize=size, gravity="center", layout_height="wrap_content", layout_width="match_parent", autoSizeTextType="uniform", }) else rst= luajava.loadlayout({ TextView, text=text, textColor=color, textSize=size, layout_height="wrap_content", layout_width="match_parent", autoSizeTextType="uniform", }) end return {view=rst, name=text, } end function getButtonBG() local selector = luajava.getStateListDrawable() selector:addState({ android.R.attr.state_pressed }, getVerticalBG({0x55d7d7d7,0x55d7d7d7},35)) selector:addState({ -android.R.attr.state_pressed }, getVerticalBG({按钮颜色,按钮颜色},35)) return selector end buts={} heir=getRes("heir") function changan.button(txt,func,txtc) if not txt then txt = "未设置" end if not txtc then txtc="#000000" end local tid="Cbutton"..guid() buts[tid]=luajava.loadlayout( { LinearLayout, layout_width = 'match_parent', layout_height = "wrap_content", { LinearLayout, layout_width = "fill_parent", gravity = "center_vertical", layout_marginTop = "5dp", layout_marginBottom = "5dp", background = getButtonBG(), padding="10dp", onClick = function() changan.controlWater(buts[tid],300) luajava.newThread(func):start() end, { TextView, --id = luajava.newId(tid), textColor = txtc, text = txt, textSize = "13sp", layout_height = "wrap_content", layout_width = "fill_parent", layout_weight=1, },{ImageView, src=heir, layout_height="14dp", layout_width="14dp", } }}) return buts[tid] end 按钮颜色=0xffffffff switch颜色=0xff006FFF function changan.image(img,height,width,pad,func) if not func then func=function() end end if not pad then pad="0dp" end if not height then height="80dp" end if not width then width="80dp" end return luajava.loadlayout({ LinearLayout, layout_height="wrap_content", layout_width="fill_parent", gravity="center", { ImageView, layout_height=height, layout_width=width, padding=pad, src=获取图片(img), onClick=function() luajava.newThread(func):start() end, }}) end function changan.edit (name , hint) _ENV [name] = name..guid () if not hint then hint = "点击输入文字" end rest = luajava.loadlayout ( { LinearLayout , layout_width = 'fill_parent' , { LinearLayout , layout_width = 'fill_parent' , layout_height = "40dp" , layout_marginTop = "5dp" , layout_marginBottom = "5dp" , layout_marginLeft = "0dp" , layout_marginRight = "0dp" , gravity = "center_vertical" , { EditText , background = getButtonBG(), gravity = "center" , hint = hint , textColor=check字体颜色, textSize = "13sp", layout_height = "40dp" , layout_marginBottom = "-2dp", id=luajava.newId(_ENV [name]), layout_width = 'fill' , } } }) luajava.getIdValue(_ENV [name]):setHintTextColor(0xff545454) return rest end function changan.getedit (name) edit = tostring (luajava.getIdValue (_ENV [name]) : getText ()) return edit end function changan.setedit (name , txt) txt = tostring (txt) luajava.runUiThread (function () luajava.getIdValue (_ENV [name]) : setText (txt) end )end chazhi={} chajv={} function changan.seek(name,bian,smin,smax,nows) _ENV[bian] =nows local thum= getVerticalBG({0xffffffff,0xffffffff},4,10,switch颜色) thum:setSize(60, 60) smin=tonumber(smin) smax=tonumber(smax) chajv[bian]=smax-smin chazhi[bian]=1-smin if smin==nil then smin=1 smax=10 end truesmin=1 truesmax=truesmin+chajv[bian] if not nows then nows = smin tnows=(smin-nows) else tnows=(nows-smin)+1 end if _ENV[bian] == nil then _ENV[bian] = 1.0 end if not name then name = "未设置" end local names = name..guid() rest = luajava.loadlayout({ LinearLayout, layout_width = 'fill_parent', layout_hight = "fill_parent", { LinearLayout, layout_width = 'fill_parent', layout_hight = "fill_parent", layout_marginTop = "5dp", layout_marginBottom = "5dp", gravity = "center_vertical", background = getVerticalBG({0xaa1a1b1d,0xaa1a1b1d},45), { TextView, padding={"5dp","10dp","0dp","10dp",}, gravity = "top", textColor="#ffffff", text = name..":"..nows, id = luajava.newId(names), layout_width = '100dp', --layout_marginLeft = "5dp", layout_marginRight = "0dp", }, { SeekBar, layout_width = 'fill_parent', layout_weight=1, id=luajava.newId(name.."seekbar"), min = truesmin, max = truesmax, progress=tnows, --paddingStart="0dp", --paddingEnd="0dp", progressDrawable={ getVerticalBG({控件颜色[1],控件颜色[2]},45)}, thumb=thum, progressHeight="10dp", onSeekBarChange = { onProgressChanged = function(SeekBar, var2, var3) if not var3 then return end local resultvar=tonumber(string.sub(var2,0,-3))-chazhi[bian] luajava.runUiThread(function() luajava.getIdValue(names):setText(name..":".. resultvar) end) _ENV[bian] = resultvar end }} }}) colorvs[name.."seekbar"]={true,"seek"} return {view=rest, name=name, type='拉条' } end xze2=getVerticalBG({0x00ffffff,0x00ffffff},15,3,0xff232323) xze=getVerticalBG({0x00ffffff,0x00ffffff},15,3,0xff232323) function xuanse(x) for i=1,#颜色表 do luajava.getIdValue("yans"..i):setBackground(empty) end luajava.getIdValue("yans"..x):setBackground(xze) changeColor(颜色表[x]) end function getlis(ys) local t={ LinearLayout, layout_marginLeft="6dp", layout_marginRight="6dp", background=getVerticalBG({0x55d7d7d7,0x55d7d7d7},20), padding="3dp", onClick=function() freshCl(ys) end, { LinearLayout, layout_height="20dp", layout_width="20dp", background=getVerticalBG({colorlis[ys],colorlis[ys]},15), } } return t end function tiaose() if 颜色表==nil then return 0 end local laylist1={ LinearLayout, gravity="center_horizontal", } local laylist2={ LinearLayout, layout_marginTop="6dp", gravity="center_horizontal", } for i=1,#颜色表 do laylist1[#laylist1+1]={ LinearLayout, layout_height="20dp", layout_width="20dp", gravity="center", id=luajava.newId("yans"..i), onClick=function() xuanse(i) end, {LinearLayout, layout_width="15dp", layout_height="15dp", background=getVerticalBG({颜色表[i][1],颜色表[i][2]},15) } } end return luajava.loadlayout({ LinearLayout, --background=getVerticalBG({0x55d7d7d7,0x55d7d7d7},25), layout_height="match_parent", layout_width="fill_parent", gravity="center", laylist1, }) end