首页 > 修改教程 > gg修改器怎么修改悬浮窗_gg修改器怎么修改悬浮窗图片
gg修改器怎么修改悬浮窗_gg修改器怎么修改悬浮窗图片
gg修改器最新版
版本:V3.96   大小:7.86MB
语言:中文   系统:Android/ 
相关专题:破解版 汉化版 手机版
免积分无病毒不花钱

gg修改器怎么修改悬浮窗_gg修改器怎么修改悬浮窗图片

作者:admin 来源:网络 发布日期:2022年11月13日 16:03:03

大家好,今天小编为大家分享关于gg修改器怎么修改悬浮窗_gg修改器怎么修改悬浮窗图片的内容,赶快来一起来看看吧。

牙叔教程 简单易懂

效果

这个蓝色的气泡实际上是一个悬浮窗, 他的位置在屏幕底部;

这个是小米MIUI, 底部有三大金刚(最近, 桌面, 返回),悬浮窗的位置在三大金刚的上层

为什么不直接用toast呢?

因为toast在autojs的界面上可以显示, 在非auotjs界面他就显示不了了, 至少我的手机是这样的;

而悬浮窗基本可以显示在任何界面之上, 所以就用悬浮窗模拟一下toast

目标

悬浮窗模拟的toast放到屏幕底部居中

接口

既然是模拟toast, 那么接口就应该也类似toast, 因此, 我们的调用方式大概是这样的

let floatyToast = require("./floatyToast.js");
floatyToast.toast("牙叔教程");

悬浮窗动作划分

  • 初始化悬浮窗
  • 显示悬浮窗
  • 隐藏悬浮窗
  • 计时(因为toast默认2秒)
  • 修改文字

初始化悬浮窗

这里主要分两个步骤

  • 调整气泡样式
  • 透明度

调整气泡样式

基础样式: 字体大小, 字体颜色, 内边距

let w = floaty.rawWindow(<text textSize="30sp" w="wrap_content" h="wrap_content" textColor="#ffffff" padding="6"></text>);

圆角样式, 圆角矩形气泡

setBackgroundRoundRounded(w.content, colors.parseColor("#3f51b5"));
function setBackgroundRoundRounded(view, color) {
let gradientDrawable = new GradientDrawable();
gradientDrawable.setShape(GradientDrawable.RECTANGLE);
gradientDrawable.setColor(color);
gradientDrawable.setCornerRadius(60);
view.setBackgroundDrawable(gradientDrawable);
}

透明度

一开始, 用户肯定没有调用气泡, 因此他不应该被用户看见,

我们加个透明度, 用户就看不见啦

let w = floaty.rawWindow(<text alpha="0"></text>);

显示悬浮窗

首先,气泡要显示文字, 第一步就是修改文字内容

w.content.setText(msg);

修改文字内容之后, 悬浮窗的宽高会发生变化, 因为宽高是随文字内容而定的

let w = floaty.rawWindow(<text w="wrap_content" h="wrap_content" ></text>);

既然一会要居中, 我们就要计算一下, 悬浮窗的左上角的坐标,

这个需要考虑设备的宽高和悬浮窗的宽高

let ww = w.getWidth();
let wh = w.getHeight();
let dw = device.width;
let dh = device.height;
// 悬浮窗置于底部中央
let x = (dw - ww) / 2;
let y = dh - wh;
w.setPosition(x, y);

修改文字之后, 悬浮窗的宽高不一定会立马改变, 追求稳妥的话, 可以延迟200ms再获取悬浮窗的宽高

ui.post(function () {
...
}, 200);

最后, 我们要把透明度改成1, 悬浮窗就能看见啦

w.content.attr("alpha", 1);

隐藏悬浮窗

悬浮窗隐藏, 有两种办法,

  • 移动到屏幕之外
  • 修改透明度

两种都可以使用, 我们随便选一种, 比如移动到屏幕之外

w.setPosition(-66666, -66666);

计时(因为toast默认2秒)

计时, 这个动作应该从气泡刚显示就开始计时,

同时, 考虑到可能气泡上的文字, 有可能频繁变化, 比如200ms就变一次文字,

文字变化之后, 我们应该重新计时

const SHOW_DURATION = 2000;
let floatyToastTimer = null;
function floatyToast(msg) {
if (floatyToastTimer) {
clearTimeout(floatyToastTimer);
}
ui.run(function () {
w.content.setText(msg);
});
floatyToastTimer = setTimeout(() => {
hide();
}, SHOW_DURATION);
}

修改文字

w.content.setText("牙叔教程");

环境

手机:小米11pro
MIUI: 13.0.12
Android版本: 12
Autojs版本: 9.1.22

名人名言

思路是最重要的, 其他的百度, bing, stackoverflow, github, 安卓文档, autojs文档, 最后才是群里问问 — 牙叔教程

声明

部分内容来自网络 本教程仅用于学习, 禁止用于其他用途

以上就是关于gg修改器怎么修改悬浮窗_gg修改器怎么修改悬浮窗图片的全部内容,希望对大家有帮助。

教程推荐

热门下载

大家都在搜

网站地图 Copyright © 2022 gg修改器 版权所有