技术相关
联系我们
autojs:AutoJs编写UI的踩坑记录,今天碰上两个
今天作ui界面,碰上两个大坑,几个小时才搞清楚
坑1: 不管你的代码多么少, “ui”; 这个字符串,必须放在第一行,在它之上,不能有任何的代码和注释
坑2: 整个UI编写过程中,有一个非常重要的原则:
UI线程中除函数和公用变量外不要写任何流程性质的代码,如果要写流程,必须使用线程
threads.start(function() {
//这里写你的流程代码
});
坑3:使用线程时,如果要对UI中的数据进行修改,最好使用下面的方法来执行:
threads.start(function() {
//流程代码
ui.run(()=>{
//这里写针对UI的操作
});
});
坑4: 为了方便管理,所有开的线程,根据不同功能,最好都定义各个线程的变量名
var Thread = threads.start(function() {});
坑5: 线程函数,不能简写 观察上面的代码,你会发现:
ui.run()中 我的写法是:
ui.run(()=>{});
而在线程 threads.start();中,我的写法是:
threads.start(function() {});
坑6: 使用setVisibility()方法时,一定要 importClass(android.view.View);
括号中的属性包括:
View.GONE //完全隐藏控件
View.INVISIBLE //隐藏控件,但保留控件的位置
View.VISIBLE //默认属性, 显示控件
坑7: 针对text控件的对齐 gravity 要在 linear 布局中进行设置,例如
linear>
坑8: 不同机型,不同DPI适配 在线性布局中 务必灵活运用 layout_weight,否则,分辨率改变 DPI改变后,你的UI 会变形