Open xvyanzhen opened 2 months ago
还有对于屏幕方向是横向还是竖向的判断也没有在文档里提及,总不能老是请高人从context里抓吧
目测是刘海屏的区别 自己加减状态栏高度
文中说了,开发文档里没有说怎么获取状态栏的高度,并且这个数据在在让用户用悬浮窗选择坐标时必然用到,这么常用的数据居然没有写进开发文档里
有方法获取状态栏高度
发送自我的盖乐世
-------- 原始信息 -------- 发件人: xvyanzhen @.> 日期: 2024/8/12 14:16 (GMT+08:00) 收件人: kkevsekk1/AutoX @.> 抄送: Subscribed @.***> 主题: Re: [kkevsekk1/AutoX] click操作与设置悬浮窗位置 在使用相同坐标时在屏幕上反应出的位置不同 (Issue #1118)
文中说了,开发文档里没有说怎么获取状态栏的高度,并且这个数据在在让用户用悬浮窗选择坐标时必然用到,这么常用的数据居然没有写进开发文档里
― Reply to this email directly, view it on GitHubhttps://github.com/kkevsekk1/AutoX/issues/1118#issuecomment-2283181448, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AD64RCHGE4JLV3X6VZIN7QTZRBHLZAVCNFSM6AAAAABMIP24J6VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDEOBTGE4DCNBUHA. You are receiving this because you are subscribed to this thread.Message ID: @.***>
用java方法
有方法获取状态栏高度 发送自我的盖乐世 … -------- 原始信息 -------- 发件人: xvyanzhen @.> 日期: 2024/8/12 14:16 (GMT+08:00) 收件人: kkevsekk1/AutoX @.> 抄送: Subscribed @.> 主题: Re: [kkevsekk1/AutoX] click操作与设置悬浮窗位置 在使用相同坐标时在屏幕上反应出的位置不同 (Issue #1118) 文中说了,开发文档里没有说怎么获取状态栏的高度,并且这个数据在在让用户用悬浮窗选择坐标时必然用到,这么常用的数据居然没有写进开发文档里 ― Reply to this email directly, view it on GitHub<#1118 (comment)>, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AD64RCHGE4JLV3X6VZIN7QTZRBHLZAVCNFSM6AAAAABMIP24J6VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDEOBTGE4DCNBUHA. You are receiving this because you are subscribed to this thread.Message ID: @.>
我找人问了才知道一个方法,如果不懂安卓开发相关的知识的话是完全不知道的,利用的是context全局变量,而context是安卓开发中的一个类 具体获取状态栏高度和屏幕旋转方向的代码如下
//单位像素(px)
function 状态栏高度获取(){
let resources = context.getResources();
let resourceld = resources.getIdentifier("status_bar_height", "dimen", "android");
let 状态栏高度 = resources.getDimensionPixelSize(resourceld);
return 状态栏高度;
}
function 屏幕旋转方向获取() {
let wm = context.getSystemService(context.WINDOW_SERVICE);
let display = wm.getDefaultDisplay();
let rotation = display.getRotation();
// 判断是否为纵向或横向
if (rotation === 0 || rotation === 2) {
return "纵向";
} else {
return "横向";
}
}
用相同坐标却不显示同一位置,这个很反直觉,希望这个问题可以在未来解决了,但现在至少把运用context的这些代码写进官方示例里或者文档里,又或者在文档里写清楚context的作用,不然就的写"一个android.content.Context对象"很令人迷惑的.
这个可以大家一起完善,我们的理解是在懂安卓的,容易漏这些
发送自我的盖乐世
-------- 原始信息 -------- 发件人: xvyanzhen @.> 日期: 2024/8/13 10:07 (GMT+08:00) 收件人: kkevsekk1/AutoX @.> 抄送: aaron @.>, Comment @.> 主题: Re: [kkevsekk1/AutoX] click操作与设置悬浮窗位置 在使用相同坐标时在屏幕上反应出的位置不同 (Issue #1118)
有方法获取状态栏高度 发送自我的盖乐世 … -------- 原始信息 -------- 发件人: xvyanzhen @.> 日期: 2024/8/12 14:16 (GMT+08:00) 收件人: kkevsekk1/AutoX @.> 抄送: Subscribed @.> 主题: Re: [kkevsekk1/AutoX] click操作与设置悬浮窗位置 在使用相同坐标时在屏幕上反应出的位置不同 (Issue #1118https://github.com/kkevsekk1/AutoX/issues/1118) 文中说了,开发文档里没有说怎么获取状态栏的高度,并且这个数据在在让用户用悬浮窗选择坐标时必然用到,这么常用的数据居然没有写进开发文档里 D Reply to this email directly, view it on GitHub<#1118 (comment)https://github.com/kkevsekk1/AutoX/issues/1118#issuecomment-2283181448>, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AD64RCHGE4JLV3X6VZIN7QTZRBHLZAVCNFSM6AAAAABMIP24J6VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDEOBTGE4DCNBUHA. You are receiving this because you are subscribed to this thread.Message ID: @.>
我找人问了才知道一个方法,如果不懂安卓开发相关的知识的话是完全不知道的,利用的是context全局变量,而context是安卓开发中的一个类 具体获取状态栏高度和屏幕旋转方向的代码如下
//单位像素(px) function 状态栏高度获取(){ let resources = context.getResources(); let resourceld = resources.getIdentifier("status_bar_height", "dimen", "android"); let 状态栏高度 = resources.getDimensionPixelSize(resourceld); return 状态栏高度; }
function 屏幕旋转方向获取() { let wm = context.getSystemService(context.WINDOW_SERVICE); let display = wm.getDefaultDisplay(); let rotation = display.getRotation();
// 判断是否为纵向或横向
if (rotation === 0 || rotation === 2) {
return "纵向";
} else {
return "横向";
}
}
用相同坐标却不显示同一位置,这个很反直觉,希望这个问题可以在未来解决了,但现在至少把运用context的这些代码写进官方示例里或者文档里,又或者在文档里写清楚context的作用,不然就的写"一个android.content.Context对象"很令人迷惑的.
― Reply to this email directly, view it on GitHubhttps://github.com/kkevsekk1/AutoX/issues/1118#issuecomment-2285205965, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AD64RCD7WTOVWK2GT2RAKYTZRFS6LAVCNFSM6AAAAABMIP24J6VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDEOBVGIYDKOJWGU. You are receiving this because you commented.Message ID: @.***>
let 点击位置={ x:540, y:0, }
let 悬浮窗 = floaty.rawWindow(
); 悬浮窗.setPosition(点击位置.x-50/2, 点击位置.y-50/2-device.getVirtualBarHeigh()); 悬浮窗.setSize(50, 50); 悬浮窗.setTouchable(false); click(点击位置.x,点击位置.y); longClick(点击位置.x, 点击位置.y) press(点击位置.x, 点击位置.y, 2000) swipe(点击位置.x, 点击位置.y, 点击位置.x, 点击位置y, 1000) sleep(2000)