如果你电脑上有android studio的话, 直接看类文件即可;
如果你不会android, 那么就用log
let paint = new Paint(); log(paint.setColor.toString());
方法签名就会打印出来
function setColor() {/*void setColor(int)void setColor(long)*/}
这个setColor有两个参数类型, 一个int, 一个long,
我们试试long能不能画出红色的矩形
paint['setColor(long)'](colors.parseColor("#ff0000"));
不行, 是白色的,
查安卓文档, 用pack试试
"ui"; ui.layout( <vertical bg="#ff00ff"> <canvas id="board"></canvas> </vertical> ); let left = 300; let top = 300; let right = 900; let bottom = 900; let paint = new Paint(); // 画笔设置 绿色 let green = android.graphics.Color.pack(colors.parseColor("#00ff00")); paint["setColor(long)"](green); // 设置画笔粗细 paint.setStrokeWidth(30); ui.board.on("draw", function (canvas) { canvas.drawColor(android.graphics.Color.TRANSPARENT, android.graphics.PorterDuff.Mode.CLEAR); canvas.drawRect(left, top, right, bottom, paint); });
没问题, long类型参数也可以设置颜色
以上代码的重点是颜色值换成long类型, 要用pack;
简单的colors.parseColor是不行的
// 画笔设置 绿色 let green = android.graphics.Color.pack(colors.parseColor("#00ff00")); paint["setColor(long)"](green);
除了paint设置颜色要指定参数类型,
闹钟也要设置参数类型
importClass(android.provider.AlarmClock); let i = new Intent(AlarmClock.ACTION_SET_ALARM); i.putExtra(AlarmClock.EXTRA_MESSAGE, "公众号: 牙叔教程"); i.putExtra(AlarmClock.EXTRA_HOUR, 12); i["putExtra(java.lang.String,int)"](AlarmClock.EXTRA_HOUR, 8); i["putExtra(java.lang.String,int)"](AlarmClock.EXTRA_MINUTES, 15); i.putExtra(AlarmClock.EXTRA_SKIP_UI, true); app.startActivity(i);
重点是这句
i["putExtra(java.lang.String,int)"](AlarmClock.EXTRA_HOUR, 8); i["putExtra(java.lang.String,int)"](AlarmClock.EXTRA_MINUTES, 15);
不指定参数类型的话, 你定的闹钟永远是24小时以后;
指定了参数类型, 闹钟的时间就设置正确了
测试环境
手机: Mi 11 Pro
Android版本: 12
Autojs版本: 4.1.1
名人名言
思路是最重要的, 其他的百度, bing, stackoverflow, github, 安卓文档, autojs文档, 最后才是群里问问 --- 牙叔教程
声明
部分内容来自网络 本教程仅用于学习, 禁止用于其他用途