-
2021-12-21 15:37:19
autojs ui模式下画方框
在main.js主文件中编写。"ui"; deviceHeight = device.height; deviceWidth = device.width; console.log(deviceHeight); console.log(deviceWidth); //ui布局为一块画布 ui.layout( <vertical> <canvas id="board" h = "800" w = "800"/> </vertical> ); ui.board.on("draw",function(canvas){ let paint = new Paint(); // 设置画笔为填充,则绘制出来的图形都是实心的 // paint.setStyle(Paint.STYLE.FILL); // 设置画笔颜色为红色 paint.setColor(colors.RED); // 绘制一个从坐标(0, 0)到坐标(100, 100)的正方形 canvas.drawRect(0, 0, 100, 100, paint); }); console.log("sdf");
更多相关内容 -
AutoJs UI版
2020-07-24 16:19:07AutoJs UI版 ui.layout( <drawer id="drawer"> <vertical> <appbar> <toolbar bg="#FF5c50e6" id="toolbar" title="超级大蚂蚁UI版v1.0.0" paddingTop="2dp" h="auto" > &...AutoJs UI版
ui.layout( <drawer id="drawer"> <vertical> <appbar> <toolbar bg="#FF5c50e6" id="toolbar" title="超级大蚂蚁UI版v1.0.0" paddingTop="2dp" h="auto" > </toolbar> <tabs id="tabs" /> </appbar> <viewpager id="viewpager"> {/* 第一个Frame */} <frame> <scroll> <vertical gravity="center"> <horizontal gravity="center_vertical" padding="5 5" > <View bg="#00BFFF" h="*" w="10" ></View> <vertical padding="10 8" h="auto" w="0" layout_weight="1"> <text w="auto" textColor="#222222" textSize="14sp" text="今日头条极速版" /> <text w="auto" textColor="#999999" textSize="12sp" text="自动阅读、领金币、宝箱" /> </vertical> <checkbox id="toutiao" marginLeft="4" marginRight="6" checked="true" /> </horizontal> <horizontal gravity="center_vertical" padding="5 5" > <View bg="#00FFFF" h="*" w="10" ></View> <vertical padding="10 8" h="auto" w="0" layout_weight="1"> <text w="auto" textColor="#222222" textSize="14sp" text="抖音短视频" /> <text w="auto" textColor="#999999" textSize="12sp" text="滑动、关注、点赞、评论,自动化一体" /> </vertical> <checkbox id="douyin" marginLeft="4" marginRight="6" checked="false" /> </horizontal> <horizontal gravity="right"> <button style="Widget.AppCompat.Button.Colored" id="wool" text="启动" padding="12dp" w="auto" /> <button style="Widget.AppCompat.Button.Colored" id="close" text="关闭线程" /> </horizontal> </vertical> </scroll> </frame> {/* 第二个Frame */} <frame> <scroll> <vertical> <horizontal gravity="center_vertical" padding="5 5" > <View bg="#4876FF" h="*" w="10" ></View> <text w="auto" padding="8 8 8 8" textColor="#222222" textSize="14sp" text="遍历次数:" /> <input id="txtForeachTimes" text="10" hint="App被打开的次数" textSize="13sp" inputType="number" /> </horizontal> <horizontal gravity="center_vertical" padding="5 5" > <View bg="#4876FF" h="*" w="10" ></View> <text w="auto" padding="8 8 8 8" textColor="#222222" textSize="14sp" text="滑动屏幕次数:" /> <input id="txtScreenSileTimes" text="100" hint="滑动屏幕次数" textSize="13sp" inputType="number" /> </horizontal> <horizontal gravity="center_vertical" padding="5 5" > <View bg="#4876FF" h="*" w="10" ></View> <text w="auto" padding="8 8 8 8" textColor="#222222" textSize="14sp" text="屏幕滑动时间间隔(秒):" /> <input id="txtScreenSileTimesInterval" text="15" hint="滑动时间间隔" textSize="13sp" inputType="number" /> </horizontal> <horizontal gravity="center_vertical" padding="5 5" > <View bg="#4F4F4F" h="*" w="10" ></View> <text w="auto" padding="8 8 8 8" textColor="#222222" textSize="14sp" text="开启无障碍服务" /> <Switch id="autoService" checked="{{auto.service != null}}" padding="8 8 8 8" /> </horizontal> <horizontal gravity="center_vertical" padding="5 5" > <View bg="#4F4F4F" h="*" w="10" ></View> <text w="auto" padding="8 8 8 8" textColor="#222222" textSize="14sp" text="是否开启控制台" /> <Switch id='switchIsShowConsole' padding="8 8 8 8" /> </horizontal> <horizontal> <button style="Widget.AppCompat.Button.Colored" id="btnSaveWoolConfig" text="保存配置" padding="12dp" w="*" /> </horizontal> </vertical> </scroll> </frame> {/* 第三页*/} <frame> <scroll> <vertical> <horizontal gravity="center_vertical" padding="5 5" > <View bg="#00BFFF" h="*" w="10" ></View> <vertical padding="10 8" h="auto" w="0" layout_weight="1"> <text w="auto" color="#111111" size="16" text="1、需要启动无障碍服务。" /> <text w="auto" color="#111111" size="16" text="2、允许app显示在其他应用的上层。" /> </vertical> </horizontal> </vertical> </scroll> </frame> </viewpager> </vertical> {/* drawer */} <vertical layout_gravity="left" bg="#ffffff" w="280"> <img w="280" h="200" scaleType="fitXY" src="{{rootUrl}}/app/Resources/Images/weixin.jpg" /> <scroll> <list id="menu"> <horizontal bg="?selectableItemBackground" w="*"> <img w="50" h="50" padding="16" src="{{icon}}" /> <text textColor="black" textSize="15sp" text="{{title}}" layout_gravity="center" /> </horizontal> </list> </scroll> </vertical> </drawer> ); //设置滑动页面的标题 ui.viewpager.setTitles(["首页", "配置","说明"]); //让滑动页面和标签栏联动 ui.tabs.setupWithViewPager(ui.viewpager); activity.setSupportActionBar(ui.toolbar); // 用户勾选无障碍服务的选项时,跳转到页面让用户去开启 //android.permission.SYSTEM_ALERT_WINDOW ui.autoService.on("check", function (checked) { if (checked && auto.service == null) { app.startActivity({ action: "android.settings.ACCESSIBILITY_SETTINGS" }); } if (!checked && auto.service != null) { auto.service.disableSelf(); } }); // 当用户回到本界面时,resume事件会被触发 ui.emitter.on("resume", function () { // 此时根据无障碍服务的开启情况,同步开关的状态 ui.autoService.checked = auto.service != null; }); initializeRightMenu(); initializeData(); /** * 薅羊毛 */ ui.wool.click(function () { var appArray = getAppList(); var foreachTimes = ui.txtForeachTimes.getText(); var screenSileTimes = ui.txtScreenSileTimes.getText(); var isShowConsole = ui.switchIsShowConsole.isChecked(); var timesInterval = ui.txtScreenSileTimesInterval.getText(); var consoleMessage = "不开启控制台"; if (isShowConsole) { consoleMessage = "开启控制台"; } var tipMessage = "本次共" + appArray.length + "个App参与薅羊毛任务,共循环" + ui.txtForeachTimes.getText() + "次," + "屏幕滑动" + screenSileTimes + "次," + consoleMessage + "确认执行吗?如果配置不正确请点击取消,前往配置页面进行参数修正!"; confirm(tipMessage).then(value => { //当点击确定后会执行这里, value为true或false, 表示点击"确定"或"取消" if (value) { threads.start(function () { //在新线程执行的代码 auto.waitFor(); toastLog("薅羊毛开始请等待进入第一个程序!"); wool(appArray, foreachTimes, screenSileTimes, isShowConsole, timesInterval); }); } else { } }); }); /** * 关闭薅羊毛程序 */ ui.close.click(function () { toastLog("薅羊毛线程已经被关闭!"); threads.shutDownAll(); }); ui.btnSaveWoolConfig.click(function () { var woolStorage = storages.create("abc11ss13");//创建本地存储 woolStorage.put("foreachTimes", "" + ui.txtForeachTimes.getText() + ""); woolStorage.put("screenSileTimes", "" + ui.txtScreenSileTimes.getText() + ""); woolStorage.put("isShowConsole", "" + ui.switchIsShowConsole.isChecked() + ""); woolStorage.put("timesInterval", "" + ui.txtScreenSileTimesInterval.getText() + ""); toastLog("薅羊毛配置保存成功!"); }); function initializeRightMenu() { ui.menu.setDataSource([ { title: "更新日志",icon:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAC8klEQVRYR82XT2sTQRjGn3cTaG8mG28eqrATEQ8NePIiFRFURCoigohWVOxORNtP0PQTmKKZHEQoRQQtUpQigmjrBxDqRbGzYj140kziLaXpjszalDSm+bOxxDkF8s7z/N5535nZIfR4UI/90RTAFvJpN4Da1zPFW8n5ZhoNAezc5wzIugngdjcAAE4S4UjBZc52Oo0BhPyuONvTpXkwfff9L0ltrY8XeNJtpPcXwMayzyrOZv8FgNGIC7lQ5OxozwBsId8ozo71EGD5teLJ410BxPKf9qLcXwpE+suxkntgpSoYyy2nQLRri8Fq9ENpfF8Qb+flK+WyE10BJIRc1KABQBvRlOJss39sIZcADNYZjCvOsgGAkC8VZ6dCAZjsLKIrAMbqBLIW4flPly22alZbePOKO6dDASSEN6yh5wB881ejKSNi9VWM6SA0JlWaZVoBJIR8UeDsTCiAjSXUBLwrcDb0p6ZeFlrf8VejcVPnViWIC2+uyJ2zoQDsnMyAMBFM1nqMNK1oC9MAYiCaUq4zZsoUtShWa1ApR5c2m1B4zxR3zoUCiN39Gov2V1K+DkwHNkR+EWhkndaWanfDdqWw83JWuex8KIDqJFssT4OsEnxdAmFYcRb0Q7UkWustuyBCmKw2qJ2TT1SaXegKoFmjmTIRIegPM3xCKQJkNwHy3mPlOhd3DKDlLsjLRwWXXQoFkMgtj2jLHECdDb8cnao2YVzImSJnl0MB2EKaI7djANL6aiGdNI0L0z+KJ0dCAXSWd+NoOy8fKpdd6x2A8B4o7twIBWALaS6frTdde8tScxl1AdDolGvHv+4kDL8C7Zi1irG7KUEr8Xb+j+fk+2KaHQrVA+0YNIsxH6SkdR+IDsPCQTXKPtbG7+hnefC+AKDS+zOxe3LIsvwh87s1QF5OQGO07YeJBU0+VXzQGpFfIdBawXXeGqNEXnrrFVy3IliIaGI/0o7XEqAaUM0gTBlqMzU69ZlXNf/vx2mYzDud8xtjzpswrqCXXwAAAABJRU5ErkJggg==" }, { title: "检查更新",icon:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAADnUlEQVRYR+2WTWgcZRjHf890k6KoTQ8F6xcRRcXWj9DubKmXFLQoRCtCg1KwTYspFrzYmJ3RwzYHs7PRXvSgCW20wQ9owWDAQ6jS3NZMElqKGkKbUhE/etBCDqE2yTwy484yHbLZ2cS2F9/bzPs8//+f//O8z/sKN3nJTebnfwE1O5Ap6DOesl3gceAJgQWFCWBShG9Hs3KylrImFmDm9RDCC0BTFYLTKEOuLYeSCEkkwCxoDiUO+AfwO+AJrFe4K0Y46FryUjURVQVkHD2p8HQIpEKf4dE3aotve3ll8rrJM2gXpT3y+xvXkpalRCwpwCxoD8pbJYApPNrct6W4FKDZoy3i0Vt2RHjdzcrHlXIWFZA+rPfKPDtQPiwlXnItubOandF909FzwIPBP+ENTfH12EH5JY5xjYDNeW0SoVMImu3WcrDS6tpyohYBfklUGI/kzCoMGcr70fKVBfjHS5VPgLujRH7Nx7KyvxbyMDbt6CmB5miuwG8Ke11Lhv81B9ic12ZDOBUJPIrBd6tSDBfflL+WQx7mPJnThvrVNCO0IrwS/veUbeO2jAQCokoNYcf3WRlaCWml3IyjHQrv+fsKI2OWbJPSgMmVkj5yLTlwPchDzExe21XoDb6VLkk7+qXAyygzri1rrid5iG06OgPcDgyK6egU8BDwo2vJxhshIO3opMAjwLSYBb2M0oBSdG3ZeiMEmI76w2yL77rvwCDwInDRteT+WgXs2pW7Y9Utc40DR7rPJs01Hf0ZuA8Y9h3IojjAVUnRNNohPyUFamuzH/UMjgMbVLVroN+pegNuyWujJ/hlrw+aMJPX7SoEQ6GWPoiSBwNFtfPTfic4Ykut2HB6NpgDpqP+uX++lHh6wWDnRKdMVwKKkyucGDiab61CvFXgc6CxFNfjWpINBDz3ga7+c5YrEYBZFT7Do4jHmbF35Ey4FyefT60ZmWrMdlUiF+EeEZ5C2RvYXloLa6mf2C9z5bugqVvX1Rt8Eb37w2BJsSHsjd37bH9kB/N95rbH+HV9ebpWcz/cn/SUlnFbLgSli2elC3pAlNf8xgLqgqCIgFf32ccFdtYo4KrCDyJ85Wbl3ShnxQfJpl6tkxkerpvnStGW88stQcrg0tw05yf6ZG4xi6o+yRZLWk4TVuyRpIWLx8VFoHL4WH93R614y3JgsXIkHURxgSsS4IPt2ZNr0NTfDxw74lzzSk7qxIoFJCX6z3tgpcRh/j9lvlrSBRsylQAAAABJRU5ErkJggg==" }, { title: "教程",icon:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACsAAAAgCAYAAACLmoEDAAAD4ElEQVRYR+1YXWgcVRg9350UpQ91d5NspIhE3UmqghQS3QqKqaDQ6osgYhUK+mBxkpYWoXlRqNSH4oMVutm2YlX6WKWiD33og11FSJEGxAdLMhsLFtLuJp0NrURMM/fIXXZkMk3qTEeDlVy4cO/wfec797vn/swVhErmkDsgFp4RIG8qyS4A+VY1lnVTRaRGoG6qCL7DdYx6u+yrAVTm4IWMdcf8gIZ6NC1WmJ+YTrb8yyOA/4kAfQBOE6gJ2CSkiGltWXUsAErYQaBThJ1sDkLyAJ8DMEWo/Q3ngSO5I+5D0DgB4GEA3wBSJ/S0gqoTvEzhZYille/ntaCzmRRIlwAmMc8CuKh9bJ/daVfCRE1bug5X89fJGsCPKOr4gvLHr+3onYkaLtVff/Tc2jl9V68FeZnkXhFsJ3Ec1O9S1pxsOPf/FAcnsGkvTRSp8Dogb6wR6aq9WTAz+VeRXNn9AsBaz7G3JgGO2ubK7gmQWyHqZ88pPJYS6xSAOc+xX4yS/VUo718ZLJTSBGgvVd+m4n6A73lOzzupsEaqQxTu9Rz73ihZah+bl9JIkoCZkrtbKRzUGntmh+wPk/hGbc1CVxbOeI7dXFNBMTK4gawxjhssGGQQIDrwNFixyGbL7hkBYhEOAJcja5IRZ+AEKg3H3mxsE2U2DvhyU/ePSCqJDFbJJshAIhkYzcbFjuosKoM0WLEX2G1DNi7RsN1yu0EarFiZTRPgf70bmItUkJzg4pJ4gd3sUIhOT3gjT5rZjtJkj1Z6XEH6Z5zCWOJD4e+OyKXuEbeq2dRkV0KzweCisczMmG+xLzIrRlbpAQLtImrIXP5BXtJaNf8Q/lNkg4TcFjIIk6XSuwVy7JYW2ErI4GYxEm1dq2QTZGDZzGbLrqvI4SuDPScT4N1gmi27wwIcAPRbntP7QSqskcltInrEc+xcGEdy5YmjZsvwBnv3RQN0lKt9PtAn9NcD1m+iWKNGTc+3/TC7577ZsH1uxD0mgldJfSCK1f3phTuv/r6wkeBGIe8O/AhVb4Ocnh4sVBdjje+jqOcbjt2/iGy2XN0i4CmIfCb0vyLUUwSebL3OGNspAhMtp3sEKLTaPwKoCPS3GvK0QHaC/BIiLxA8pIgKRbZA8ASIDS2fCQJTpi2CB8HmK4wpZ0GMao2vlcVt5pEDwEueY3++iKzp5MqTrwF8BaB5nBgF9VmqtnOWssZmdnRfCjus+/hizpr/oyj0ixC1CcDjANYZgg2nZ1cIq5+QihDfa82xtjl/bGZ4w7UwVubw+W6lVRFQRShsAptYMC86S830ov/yNDpbCd9Vsv9Wlv8E0mP+P0I4oqkAAAAASUVORK5CYII=" }, { title: "关于",icon:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAE3ElEQVRYR61Xa4hUZRh+3jOrK1G7M2fGtIug654xS1IqSIpCKKlMtCL3RyCx5YU940oKJmSQCxoUhOU232Sp+K/UH1mkGRiKGV0oumDFzhnTMipx58xgCO26c574zjmj42Vmzkrn38z3vO/7fO/9E0T8EluOtRuet4DkQoF0EEgBkgzEWRRgkEBePG+nnOWBwbW3/BNFtTQDJbP56RDpJfAUgPZm+PC8JMB7IPuLmfQvjWQaEkjk8huE0gugLVRyBsAXAhwmcYpi/K3/F3oTRTCB4D0QmQtibBVPYX+pJ/1iPRJ1CZjK2QVgkS8o8qlHbi6nhvaja8Zwoxu1bT1pxoaHngS4TIA7wxB95trp+68kd0UCpiocBzg5FFjq2tbWiK6/CJZQhWUCbglJDLp2evylei4jYKr8aUBSfmohNrNkd/x4NcarMglVeETAfcFvOeHanVNq9V1EwFT5w4DcpwGubTVN0NEQM5XDEL/bta2uqux5I2HCrQtuLvNKdufHUQyYbzm3soI59PBzudc6VE8moX69XVD5wdcv3FhNTJ+ALjWKfBlme+SYj88evbYirVruNt8wvT43M219PRKmcpYAeAfAGSFn6xINCChHEejR2e72dD4Y5eYaE+935hgxHLyAp+va6bA5XVmLmSscAPmAALmibdk+AVM5vwOY5AELy7b1YVQC120ZSI2pGKfP40V2uD2d3Y3k48pZYAAfAPjTta2bJJ49PsuQke8AlN1TQxPQ17jOL1VuKmeRAIsJDrh2ek1T8ruOjjUHWzXpNhHvbknmCitJvkHInpLd+XhTBf8DwFTOfgAPgVgtZtbZBsEzAqwr2tbLo9Xf/qZzhxBtjSrgUp1J5bxAYCOI7WIq5wiAe0EscTPWtqgEJuQK1w97XAXBKgFam1VArV4z6zwLge6un2sCOh4pwphfsqfujUIgofKbBaJ7+8wafJdrW7ujyR97VOB9BGBw1AT8IUW2VCqyJtaCQtWgERtz4+DyyX+NhgCJ01cdgnY10BGDcSzonPi2ZFt3RTHul30YAgKHrjoJE+q8G5t2wHpJSELpMlxBsh/gXtdOz496i4QqrBHw1aAFjy6Bq2UoZLfoYQIPP0EwPDJm3A1nlkxyo5Aws/m9EJnnYwUPuz3WJ4lcYQb/jf1RXjWlXFdHTSPyZGRKtRUf1QOFkOUlu/PtSASUcw5AS0BAdoDeOAF3Fu1pexrJJ9XAY4TxPsiv3Ex6djgNC+so3BA1mXQPOEeeqjVEcm0pkw5CUueLbzoeN1pH9PCaVb1s4IHNThtaoMfq9CheiGfzswwRrSgOcICM9ZUyU99t5jlTOZsAPFd70ZqFxOkRQgU51Xwh0aNYY6O2YFPluwHZ7keM7C5m0juC9Kn5ajfh/3MlM5UzG4AeQPpdsdW1raVVs5cvpVnnJAQ3R/VEM7fr84RyDgqgPfa158W6yis6fqtLIBT45sJOj9e9oZa+hqXVhIWZHVgPMV4KLsX+kp1e2ZCAPkzmCq+QfD4Efi/w+oqpc/uaPUzqcTGVsxrAa+H5bncEi7HSGmq4eiez+Sc8kd7QfVr2sqcZK97ZKGHwE67Fmyg0gmohj1SET0fa/f1tVtAFYm5UY1Fw/jCKAqxizGxhkgALabCDREpEkiSvGY2OWqyInPgPdzcwBtuCmgYAAAAASUVORK5CYII=" }, { title: "退出" ,icon:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAADd0lEQVRYR+2XS4hcRRSGv7o9pnHR4/TtnoVBhJDUBE2UiLrxEaISV+LCx+DaxBiqJxGi4iNrxQhGzKTLCYLiwoWOsxIRA5r4wo34IFEmXRnduFFmqmOycYaZKqmem9jT3u7b3bZkY8GFpuucU9/969SpcwWXeYjLvD59A8TarAR4W168kvGtS/2+yL8B8AlA/j8DKGmjF5RUaW8Xa9MRoKhrR+pqbH+WMqkKFI/NXcuKe1vADqtkqk1Jmz895G15MVWBBPBjrmC3fUz+2g4kNXiszSfA3UDNKrk5zbkLgNPAFuBTq+Q9XQMUtXlGwEvABbfC/ef2yZN9AUyZ63G8FyA8PFtX8lBanDUKjFR/2RaJ5c+BAvhHrRp7qx15lgLBb+R1c1PkCfG880Pbz1U2fN8abw1ArM0rwAFg2io53imBugEI/iVtnvPwInDYKvlkW4Dhw6fjofy6UwixPoqiW+f3bvxmEAAhRlyt/QzklxeXbjh/YKttjntJgWLVKCGoAu9aJR/JOj7dKtAA0OYNYLf3VOoVqVMBYl07BmKPJ7qvrjZ+OEiAkUmzI8pxAs+btiJ3pSugzYlw7kVu6LqFxzfMZgFkFaJm//LRuTEXuTPAV1bJO9ptwe9CMBrlR4bnd41eGCjAodmCK+TOA/NWydE2W2CCQYFlrrL7ZfjdccTaLCZ3QSHrLoiPmGGG+CPUFqvkcDuAINEYEVvsXvlTFkAv8/FqUfoxrbL+fQqSHADGrZLTvSyQZVuq1h7wQsx4OFlX8q5UBUraVDwc7aYIZS3YOl+smkkhmBBwcEHJUJQujSYFZm8U5H5ozDhusxPy614XSrNP9v8zYFtagWstxe8DDw5ShVjXXgbxNDBjlXyoFXINQFGfuVMQhcsDvHjKVjaFu6HvEU/VduLE8UY43Pa62vxFR4AwGToZgdjXOGJtmpFuiS4Wq3AZ1ZU8mOaX3hFpYwRsShx6PhWxNg9DoxcI4x/VLzUJW+libb4Ebk/+n8bxalZilvXZmx1uT7hTVmXnbF1J2Umxjl1xUZsXBDzfFOAjL3hHCL5jidU+bx3X4BqtV3jr8KymEH6y76a0mThJzCeS09HN9s943GtpCdd1DqQZlqfmbvHO3etgp4D1wNWAEILfvG88H+Q8x+cn5LfdUF606fvDpJdF+s6BQS3yP0AnBf4C4vh6MKas2UAAAAAASUVORK5CYII="} ]); ui.menu.on("item_click", item => { switch (item.title) { case "更新日志": app.openUrl(rootUrl+"/app/WoolUpgradeLog.html"); break; case "检查更新": threads.start(function () { let titileAndVersion = ui.toolbar.getTitle(); let appNameAndVersionArray = titileAndVersion.split("v"); let appName = appNameAndVersionArray[0]; let appVersion = appNameAndVersionArray[1]; var url = rootUrl + "/app/WebService.asmx/CheckAppVersion"; var version = appVersion; var res = http.post(url, { "appName": appName, "version": version }); var returnString = res.body.string(); let json = JSON.parse(returnString); if (json.success == "true") { if (json.data.upgrade == "true") { app.openUrl(rootUrl + "/app/WebService.asmx/DownLoadWoolUIApk"); } else { toastLog("已经是最新版"); } } else { toastLog("请求远端服务器出现异常!请稍后重试!"); } }); break; case "教程": app.openUrl("https://blog.csdn.net/zy0412326/article/details/104767602"); break; case "关于": dialogs.build({ title: "关于", positive: "确定", items: ["薅羊毛UI版纯属个人爱好,如果涉及到侵权请通知作者,作者会尽快解决相应问题。作者邮箱:zy0412326@sina.com"] }).on("show", (dialog) => { }).show(); break; case "退出": ui.finish(); break; } }); //让工具栏左上角可以打开侧拉菜单 ui.toolbar.setupWithDrawer(ui.drawer); } /** * 初始化UI和数据 */ function initializeData() { // threads.start(function () { // console.show(); // }); var woolStorage = storages.create("abc11ss13");//创建本地存储 var foreachTimes = woolStorage.get("foreachTimes"); var screenSileTimes = woolStorage.get("screenSileTimes"); var isShowConsole = woolStorage.get("isShowConsole"); var timesInterval = woolStorage.get("timesInterval"); var appInstallDateTime = woolStorage.get("appInstallDateTime"); if (foreachTimes != null) { ui.txtForeachTimes.setText(foreachTimes); } if (screenSileTimes != null) { ui.txtScreenSileTimes.setText(screenSileTimes); } if (isShowConsole != null && isShowConsole == "true") { ui.switchIsShowConsole.setChecked(true); } else { ui.switchIsShowConsole.setChecked(false); } if (timesInterval != null) { ui.txtScreenSileTimesInterval.setText(timesInterval); } if (appInstallDateTime != null) { var curTime = new Date(); var currentTime = new Date(parseInt(curTime.getFullYear()), parseInt(curTime.getMonth() + 1), parseInt(curTime.getDate()), parseInt(curTime.getHours()), parseInt(curTime.getMinutes()), parseInt(curTime.getSeconds())); var appInstallDate = appInstallDateTime.toString().split("-"); var getDay = appInstallDate[2].split(" ")[0]; //天 var hourMM = appInstallDate[2].split(" ")[1];//时分秒 var appInstallTime = new Date(parseInt(appInstallDate[0]), parseInt(appInstallDate[1]), parseInt(getDay), hourMM.split(":")[0], hourMM.split(":")[1], parseInt(0)); var seconds=currentTime - appInstallTime; if (seconds/(1000 * 60 * 60 * 24)>3) { alert("薅羊毛已经过去3天了,烦请打赏一下作者,您的支持是作者最大的动力!"); woolStorage.put("appInstallDateTime", "" + getTime() + ""); } } else { woolStorage.put("appInstallDateTime", "" + getTime() + ""); } } /** * 获取被选择的app */ function getAppList() { var appArray = new Array(); //app集合 var toutiao = ui.toutiao.isChecked(); if (toutiao) { appArray.push(ui.toutiao.getText()); } return appArray; } /** * 主程序 * @param {应用列表} appArray * @param {应用打开次数} foreach_count * @param {屏幕滑动次数} see_count * @param {是否显示控制台} isShowConsole * @param {延迟时间} timesInterval */ function wool(appArray, foreach_count, see_count, isShowConsole, timesInterval) { threads.start(function () { if (isShowConsole) { console.show(); console.setSize(device.width, device.height / 4); } }); for (x = 1; x <= foreach_count; x++) { for (y = 0; y < appArray.length; y++) { let appName = appArray[y]; toastLog("当前程序:" + appName); //app.launchApp(appName); sleep(10000);//目前无法判断网速和splash时间,只能延迟久一点。10秒延迟。 if (appName == '今日头条极速版') { toutiaorun(); } //滑动次数 for (z = 1; z <= see_count; z++) { } console.clear();// } } toastLog("程序执行完毕3秒后即将关闭..."); console.error("程序执行完毕3秒后即将关闭..."); for (let i = 3; i >= 1; i--) { console.error(i); sleep(1000); if (i == 1) { home();//返回主页面 return; } } } /** * 一键签到 * @param {签到程序得app} appArray * @param {是否显示控制台} isShowConsole */ function sign(appArray, isShowConsole) { } /** * 屏幕向下滑动并延迟8至12秒 */ function slideScreenDown(startX, startY, endX, endY, pressTime, timesInterval) { swipe(startX, startY, endX, endY, pressTime); let randomMin = timesInterval * 1000; let randomMax = (parseInt(timesInterval) + 2) * 1000; let delayTime = random(randomMin, randomMax); sleep(delayTime); } /** *关闭广告 */ function caiDanCloseAd() { if (id("btn_back").exists()) { console.log("关闭广告"); id("btn_back").findOne().click(); } } /** *点击一下屏幕 */ function clickScreen() { var x = device.width / 2; var y = device.height / 2; click(x, y); } /** *向右侧滑动 */ function sildeScreenRight() { pressTime = random(250, 600); swipe(750, 1000, 100, 1000, pressTime);//750, 120, 100, 120, 100 delayTime = random(25000, 30000); sleep(delayTime); } /** * 随机点赞 * @param {点赞ID}} view_id */ function randomHeart(view_id) { index = random(1, 100); if (index == 66) { var target = id(view_id).findOnce(); if (target == null) { return; } else { target.click(); sleep(1000); } } } /** * 随机关注 * @param {*} follow_view_id */ function randomFollow(follow_view_id) { index = random(1, 100); if (index == 66) { var target = id(follow_view_id).findOnce(); if (target == null) { return; } else { target.click(); sleep(1000); } } } /** * 随机上滑(防止被判定是机器)上滑后停留时间至少是10S,造成假象表示是对内容感兴趣 * 点赞和关注先不搞。 */ function randomUpSildeScreen() { let randomIndex = random(1, 50); if (randomIndex == 1) { console.log("随机上滑被执行了!!!"); pressTime = random(200, 500); swipe(device.width / 2, 500, device.width / 2, device.height - 200, 300); delayTime = random(10000, 15000); sleep(delayTime); } } /** * 连续下滑对上一个无兴趣 * 其实得和上滑做个排他,既然无兴趣不要在上滑 */ function randomDownSildeScreen() { let randomIndex = random(1, 20); if (randomIndex == 1) { console.log("连续下滑被执行了"); swipe(device.width / 2, device.height - 200, device.width / 2, 500, 300); sleep(2000); swipe(device.width / 2, device.height - 200, device.width / 2, 500, 300); delayTime = random(8000, 10000); sleep(delayTime); } } /** * * 获取当前时间 */ function getTime() { var date = new Date(); var year = date.getFullYear(); var month = date.getMonth() + 1; if (month < 10) { month = "0" + month; }; var day = date.getDate(); if (day < 10) { day = "0" + day; }; var hour = date.getHours(); if (hour < 10) { hour = "0" + hour; }; var minute = date.getMinutes(); if (minute < 10) { minute = "0" + minute; }; return year +"-"+ month +"-"+ day +" "+ hour +":"+ minute+":"+ "0"; };
-
autojs ui界面漂亮模板
2021-08-07 12:42:17QQ群698307198欢迎加入,和各位大神一..."ui"; var color = "#009688"; ui.layout( <drawer id="drawer"> <vertical> <appbar> <toolbar id="toolbar" /> </appbar> <frame.普通交流群698307198欢迎加入,和各位大神一同交流,更多模板,欢迎加入vip交流群
正文部分
"ui"; var color = "#009688"; ui.layout( <drawer id="drawer"> <vertical> <appbar> <toolbar id="toolbar" /> </appbar> <frame w="*" h="*"> <vertical> <card w="*" h="80" cardCornerRadius="10" gravity="center" marginTop="10"> <horizontal gravity="center"> <Switch id="autoService" text="无障碍服务" checked="{{auto.service != null}}" gravity="left" textSize="20sp" /> <Switch id="xfc" text=" 打开悬浮窗" checked="{{(new android.provider.Settings).canDrawOverlays(context) != false}}" gravity="right" textSize="20sp" /> </horizontal> </card> <vertical gravity="center"> <card gravity="center" marginTop="10xp" w="auto" h="auto" cardCornerRadius="90" > <vertical gravity="center" bg="#03A6EF"> <text text="功能选择" /> </vertical> </card> </vertical> <card w="*" cardCornerRadius="10" gravity="center" marginTop="10"> <vertical> <horizontal> <text padding="10 0 0 0" text="关注滑动延迟:" /> <input id="sjS" text="3" w="50" /> <text text="至" /> <input id="sjE" text="4" w="50" /> <text text="秒" /> </horizontal> <horizontal> <text padding="10 0 0 0" text="关注每单延迟:" /> <input id="mdyc" text="3" w="50" /> <text text="秒" /> </horizontal> <horizontal> <text padding="10 0 0 0" text="总共关注" /> {/* <input id="num" text="10" w="50"/> */} <text text="次数:" /> <input id="yc" text="60" w="50" /> <text text="次" /> </horizontal> </vertical> </card> <list id="todoList"> <card w="*" h="70" margin="10 5" cardCornerRadius="2dp" cardElevation="1dp" foreground="?selectableItemBackground"> <horizontal gravity="center_vertical"> <View bg="{{this.color}}" h="*" w="10" /> <vertical padding="10 8" h="auto" w="0" layout_weight="1"> <text id="title" text="{{this.title}}" textColor="#222222" textSize="16sp" maxLines="1" /> <text text="{{this.summary}}" textColor="#999999" textSize="14sp" maxLines="1" /> </vertical> <View bg="{{this.color}}" h="*" w="10" /> </horizontal> </card> </list> </vertical> </frame> </vertical> <vertical layout_gravity="left" bg="#ffffff" w="280"> <img w="280" h="200" scaleType="fitXY" src="http://images.shejidaren.com/wp-content/uploads/2014/10/023746fki.jpg" /> <list id="menu"> <horizontal bg="?selectableItemBackground" w="*"> <img w="50" h="50" padding="16" src="{{this.icon}}" tint="{{color}}" /> <text textColor="black" textSize="15sp" text="{{this.title}}" layout_gravity="center" /> </horizontal> </list> </vertical> </drawer> ); //alert("关于", "定制脚本加九黎qq1906507927"); var s = storages.create("bixinzhushou") //创建选项菜单(右上角) ui.emitter.on("create_options_menu", menu => { menu.add("日志"); menu.add("关于"); }); //监听选项菜单点击 ui.emitter.on("options_item_selected", (e, item) => { switch (item.getTitle()) { case "日志": app.startActivity("console"); break; case "关于": alert("关于", "定制脚本找九黎q1906507927"); break; } e.consumed = true; }); activity.setSupportActionBar(ui.toolbar); ui.menu.on("item_click", item => { switch (item.title) { case "退出": ui.finish(); break; } }) //两次才能返回 threads.start(function () { var isCanFinish = false; var isCanFinishTimeout; ui.emitter.on("back_pressed", e => { if (!isCanFinish) { isCanFinish = true; isCanFinishTimeout = setTimeout(() => { toastLog("再返回一次就失去我了哟![表情][表情]"); isCanFinish = false; }, 500); e.consumed = true; } else { clearTimeout(isCanFinishTimeout); e.consumed = false; }; }); setInterval(() => { }, 1000) });
参考文章
.
所属软件
声明
部分内容来自网络
本教程仅用于学习, 禁止用于其他用途QQ群
698307198
扫一扫二维码,加入群聊.QQ -
autojs ui界面模板3
2021-08-07 13:23:24普通交流群698307198欢迎加入,和各位大神一同交流 免责声明:本博客提供的所有内容仅供学习、分享..."ui"; ui.layout( <vertical> <linear> <text text='请输入语音发送间隔:(秒)'/> <input .普通交流群698307198欢迎加入,和各位大神一同交流
免责声明:本博客提供的所有内容仅供学习、分享与交流,我们不保证内容的正确性。通过使用本站内容随之而来的问题与本博客无关。当使用本博客代码时,代表你已接受本博客的免责声明正文部分
效果图
"ui"; ui.layout( <vertical> <linear> <text text='请输入语音发送间隔:(秒)'/> <input id='ip1' w='100'/> </linear> <linear> <text text='每发送'/> <input id='ip4' w='100'/> <text text='条语音休息'/> <input id='ip5' w='100'/> <text text='分钟'/> </linear> <text text='请输入需要发送语音的游戏的名字(如果为空则不筛选):'/> <input w='*' id='ip6'/> <linear> <text text='请输入卡密:'/> <input w='*' id='ip3'/> </linear> <button text='运行' id='ok'/> <Switch text='请打开无障碍模式→' checked="{{auto.service != null}}" id='autoService'/> <text text='此软件仅供学习,仅限在法律允许范围内使用,禁止用于非法用途,否则后果自负,与平台无关' textColor='red'/> <text text='安卓版本要求:7.0及以上'/> {/* <text text='软件版本要求:5.6.2'/> */} <text text='使用说明:'/> {/* <text text='请在手机存储根目录下创建语音文件.mp3 '/> <text text='(绝对路径为/sdcard/Pictures/语音包.mp3)'/> */} {/* <text text='脚本打开后请在接单界面按音量键后脚本会自动发送语音...'/> */} <button text='查看日志' id='journal' /> </vertical> )
参考文章
.
所属软件
声明
部分内容来自网络
本教程仅用于学习, 禁止用于其他用途QQ群
698307198
扫一扫二维码,加入群聊.QQ说明:
本文提供的代码仅供参考。
有些地方可能在最新版本的Auto.js上面需要做修改,才能运行的.如果不理解,可以加群询问.Auto.js简介
Auto.js是利用安卓系统的“辅助功能”实现类似于按键精灵,触摸精灵.懒人精灵等一样,可以通过代码模拟一系列界面动作的辅助工作。
而与“按键精灵”不同的是,它的模拟动作并不是简单的使用在界面定坐标点来实现,而是类似与win一般,找窗口句柄来实现的。通过控件点击可以实现全分辨率的模拟人工点击效果Auto.js使用JavaScript作为脚本语言,目前使用Rhino 1.7.7.2作为脚本引擎,支持ES5与部分ES6特性。新的autojs pro9系列可以使用node.js开发
开发文档
Auto.js Pro开发文档:点击这里文档尚在完善中,可能有文档描述和代码实际行为有出入的情况。
为什么要使用Auto.js Pro开发脚本,有什么特点?
吸引我使用Auto.js Pro的原因有很多。最主要的几个原因是:
- Auto.js Pro能开发免ROOT的安卓脚本 Auto.js Pro基于节点操作,能开发全分辨率的脚本,自动适配各种安卓机型
- 可以使用手机开发,这使得开发者更多,有更多代码可以参考学习.在此也欢迎加入九黎的vip群,目前已经收集或者开发了大概4000余代码,覆盖各个分类.
- Auto.js Pro丰富的UI组件,能自定义各种样式的安卓界面 Auto.js.并且可以使用原生xml
- Pro使用的javascript的语法比较优雅,代码可读性强 Auto.js Pro的命令库非常的丰富,接口比较多 Auto.js
- Pro脚本文件体积比较小。1000行的代码,打包后的apk文件只有3-5M,还没有广告
相关教程
点击这里看更多 Auto.js Pro教程
-
autojs ui界面隐藏
2021-12-06 19:45:39activity.moveTaskToBack(true); -
autojs ui界面漂亮模板2
2021-08-07 12:51:56普通交流群698307198欢迎加入,和各位大神一同交流,更多代码,欢迎加入vip交流群. ..."ui"; importClass(android.view.View); var scriptName = 'xx全自动接单' var version = '1.8.9' var themeColor = '#4EBFDD. -
auto autojs auto.js 界面源码 UI源码
2020-07-26 15:25:44auto autojs auto.js 界面源码 UI源码 auto.js界面UI源码,包含各种样式参考学习好帮手! -
autojs ui布局调整,参考android方法
2021-04-23 10:09:33RelativeLayout的布局参数含义表,如android:layout_alignParentTop等 ...RelativeLayout 参数规则 一个控件的位置由横,纵两个方向上的距离决定 控件默认的位置在左上角。 单独使用以下属性都只是改变一个方向的相对... -
autojs优秀UI
2021-08-05 17:02:26再次强调, 本脚本只是UI演示, 无任何其他功能 效果展示 主界面 popWindow 视频演示 autojs版本 9.0.4 你将学到以下知识点 toast点九图的使用 设置toast的显示位置 toast设置透明圆角背景 裁剪canvas 自定义... -
autojs,ui基础的例子
2021-08-17 16:11:53今天补一下ui基础的例子 选择栏例子 "ui"; ui.layout( <vertical padding="16"> <horizontal> <text text="菜单" textSize="16sp"/> <spinner id="sp1" entries="造雾者|ui基础|示例"/... -
autojs 绝美ui模板5
2021-10-13 11:06:28代码实现,本代码autojs pro商店有,名字叫 ui样式shape2.0 建议自行下载,或者进群下载 参考文章 . 所属软件 声明 部分内容来自网络 本教程仅用于学习, 禁止用于其他用途 QQ群 698307198 扫一扫二维码,加入群聊.Q. -
autojs 漂亮ui界面4
2021-10-13 11:02:51普通交流群698307198欢迎加入v群,和各位大神一同交流 免责声明:本博客提供的所有内容仅供学习、..."ui"; const storage = storages.create("Coolxx"); const isShow = storage.get("show",false) const loopNum = s. -
autojs脚本之ui界面
2022-04-24 23:18:41"ui"; var QQ = "2129670"; //上面改成你的QQ //改了直接触发暗装。自动跟你手机加文件 var QQ群 = "807052"; //上面改成你的QQ群 var 软件名 = "幸福养猪场" var 包名 = "com.yz.xfyzc2" var tx = ... -
autojs脚本通用ui模板解决了一些已知问题
2021-11-02 20:12:03通用脚本ui模板 //可以加我的群992914360 //可以加我的群992914360 "ui"; app.startActivity({ action: "android.intent.action.VIEW", data: "mqqapi://card/show_pslcard?src_type=internal&version=1&... -
autojs的ui布局笔记及总结
2020-06-29 15:19:10"ui"; //上边必须要有的东西 ui.layout{ <vertical> // vertical这是垂直布局 <button text="文字" layout_gravity="center" gravity="center" w="auto" h="auto" marginLeft="10" paddingLfet="10" ... -
UI界面数据存储_Autojs
2022-03-12 09:31:37ui.layout( <frame > <vertical margin='20' gravity="center"> <text textSize='25sp' textStyle='bold' gravity='center' textColor='#ff00ff'>本地UI界面数据存储</text> -
autojs ui及悬浮窗不可用
2021-09-15 22:38:07autojs ui及悬浮窗不可用 版本7.0.4 系统Android 11 具体如下图: -
autojs-漂亮的UI设计
2020-03-19 00:57:32"ui"; var appName = "我爱挂机"; const appId="01" var isInTime=false; const ZZ_version="1.0.82" const TYPE={KS:"kshou",DY:"douyin"} let isLogin=false; let OutTimeTip="攒攒登录失效(点击更新)" let ... -
-
autojs 第九次 ui界面交互获取
2021-03-18 13:32:30//ui界面按钮与实际功能集合"ui";ui.layout();ui.ok.click(function(){toast("启动脚本")sleep(300)launchApp("抖音短视频") //threads.start()})//直接用launchApp在ui界面中运行 可能会报错 处理方法如下"ui";ui.... -
-
autojs之ui-toolbar
2021-07-18 12:00:33本文主要是解决之前四史答题ui页面中退出按钮放到整个页面右上角的问题 将 <appbar> <toolbar id="toolbar" bg="#ff4fb3ff" title="{{appName}}" /> <button id="exit" text="退出" color="#... -
autojs,第一课UI基础
2021-08-16 15:03:55第一课UI基础 //===================================== //ui格式 //===================================== "ui"; //有ui内容必须第一行就是这个不然报错ui.layout(//这里放ui内容); //==========================... -
AutoJs : 自动保存UI页面设置
2021-08-14 07:21:12自动保存UI页面设置和存储上一次设置内容,提高软件使用体验下面是写入本地存储和读取本地存储的函数function写入本地存储(文件名,内容,library){varlibrary=library||"配置@qq.com";varsto=storages.create(library... -
autojs开发的前端UI界面切换例子,ui变换变化多页面多界面
2020-12-23 17:50:29最主要的几个原因是: Auto.js Pro能开发免ROOT的安卓脚本 Auto.js Pro基于节点操作,能开发全分辨率的脚本,自动适配各种安卓机型 Auto.js Pro丰富的UI组件,能自定义各种样式的安卓界面 Auto.js Pro使用的... -
autojs的前端UI界面基本属性例子,演示了如何修改UI组件的值和属性等
2019-07-08 11:39:31var text = ui.点击按钮改变我.getText() if (text == '点击按钮改变我') { ui.点击按钮改变我.setText("变身 Duang") } else { ui.点击按钮改变我.setText("点击按钮改变我") } }); function rndColor() { ... -
autojs前端UI界面多页面多界面架构免费源码
2019-07-08 11:33:15Auto.js Pro丰富的UI组件,能自定义各种样式的安卓界面 Auto.js Pro使用的javascript的语法比较优雅,代码可读性强 Auto.js Pro的命令库非常的丰富,接口比较多 Auto.js Pro脚本文件体积比较小。1000行的代码... -
autojs上传蓝奏云UI模板
2022-04-14 22:50:39"ui"; ui.statusBarColor("#FFFFA300"); ui.layout( <drawer id="drawer"> <vertical> <appbar bg="#FFFFA300"> <linear orientation="horizontal" gravity="center" > ...