admin管理员组文章数量:1565360
- 点击跳转=>《导航贴》- Unity手册,系统实战学习
- 点击跳转=>《导航贴》- Android手册,重温移动开发
👉关于作者
众所周知,人生是一个漫长的流程,不断克服困难,不断反思前进的过程。在这个过程中会产生很多对于人生的质疑和思考,于是我决定将自己的思考,经验和故事全部分享出来,以此寻找共鸣 !!!
专注于Android/Unity和各种游戏开发技巧,以及各种资源分享(网站、工具、素材、源码、游戏等)
有什么需要欢迎私我,交流群让学习不再孤单。
本文约2.5千字,新手阅读需要7分钟,复习需要2分钟 【收藏随时查阅不再迷路】
文章目录
- 👉关于作者
- 👉实践过程
- 👉其他
👉实践过程
TrafficStats = android.net.TrafficStats;
importClass(android.graphics.Paint);
Canvas=android.graphics.Canvas;
importClass(android.graphics.Bitmap);
function textpaint(str){
str=str.split("\n");
var bitmap =Bitmap.createBitmap(200,110,Bitmap.Config.ARGB_8888);
var canvas = new Canvas(bitmap);
canvas.drawARGB(122,0,0,0);
var paint = new Paint();
//圆盘背景
paint.setARGB(255,0,255,0);//白色画笔
//paint.setStyle(Paint.Style.FILL);//空心样式
// paint.setFilterBitmap(true);//抗锯齿
// paint.setFakeBoldText(true);//加粗
//paint.setHinting(16);//字体微调
paint.setTextSize(22);
for(i=0;i<str.length;i++){
paint.setARGB(255,random(0,255),random(0,255),random(0,255));//
canvas.drawText(str[i],0,(i+1)*25,paint);
}
canvas.save(Canvas.ALL_SAVE_FLAG);
canvas.restore();
return bitmap;
}
var window = floaty.window(
<frame>
<vertical>
<img id="img" w="auto" h="auto"/>
</vertical>
</frame>
);
var x = 0,
y = 0;
//记录按键被按下时的悬浮窗位置
var windowX, windowY;
//记录按键被按下的时间以便判断长按等动作
var downTime;
window.img.setOnTouchListener(function(view, event) {
switch (event.getAction()) {
case event.ACTION_DOWN:
x = event.getRawX();
y = event.getRawY();
windowX = window.getX();
windowY = window.getY();
downTime = new Date().getTime();
return true;
case event.ACTION_MOVE:
//移动手指时调整悬浮窗位置
window.setPosition(windowX + (event.getRawX() - x),
windowY + (event.getRawY() - y));
return true;
case event.ACTION_UP:
//手指弹起时如果偏移很小则判断为点击
if (Math.abs(event.getRawY() - y) < 5 && Math.abs(event.getRawX() - x) < 5) {
threads.start(function() {
onClick();
});
}
return true;
}
return true;
});
str = "";
zss = ozs();
zxs = ozx();
swsl = 0;
swxl = 0;
zwss = 0;
zwxs = 0;
threads.start(function() {
swsl = ozs();
swxl = ozx();
while (true) {
sleep(1000);
xwsl = ozs();
xwxl = ozx();
zwss = xwsl - swsl;
zwxs = xwxl - swxl;
swsl = xwsl;
swxl = xwxl;
}
});
//log(Object.keys(TrafficStats));
threads.start(function() {
while (true) {
str = "流量↑:" + sz(lzs()) +
"\n流量↓:" + sz(lzx()) +
"\n网速↑:" + sz(zwss) + "\/s" +
"\n网速↓:" + sz(zwxs) + "\/s";
tu=textpaint(str);
ui.run(function() {
window.img.setImageBitmap(tu);
});
sleep(100);
}
});
function ozs() {
return TrafficStats.getTotalTxBytes();
}
function ozx() {
return TrafficStats.getTotalRxBytes();
}
function lzs() {
return ozs() - zss;
}
function lzx() {
return ozx() - zxs;
}
function sz(num) {
if (num < 1024) {
return num.toFixed(2) + "by";
} else {
num /= 1024
}
if (num < 1024) {
return num.toFixed(2) + "Kb";
} else {
num /= 1024
}
if (num < 1024) {
return num.toFixed(2) + "Mb";
} else {
num /= 1024
}
if (num < 1024) {
return num.toFixed(2) + "Gb";
} else {
num /= 1024
}
if (num < 1024) {
return num.toFixed(2) + "Tb";
} else {
num /= 1024
}
if (num < 1024) {
return num.toFixed(2) + "Pb";
} else {
num /= 1024
}
return num.toFixed(2) + "Eb";
}
log(TrafficStats.getTotalRxBytes());
while (true) {
sleep(1000);
}
👉其他
📢作者:小空和小芝中的小空
📢转载说明-务必注明来源:https://zhima.blog.csdn/
📢这位道友请留步☁️,我观你气度不凡,谈吐间隐隐有王者霸气💚,日后定有一番大作为📝!!!旁边有点赞👍收藏🌟今日传你,点了吧,未来你成功☀️,我分文不取,若不成功⚡️,也好回来找我。
温馨提示:点击下方卡片获取更多意想不到的资源。
版权声明:本文标题:AutoJs学习-流量网速悬浮窗 内容由热心网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:https://www.elefans.com/dianzi/1727078293a1096562.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论