使用AutoJs编写UI的踩坑记录
相对于脚本而言,一般不写UI最好.但有时候要确认用户的选择和输入,不得不使用UI或者悬浮窗...
但两者的功能和实现方法 是一样的.
针对于初次编写UI界面的同学来说,可能会遇到各种各样的坑.
但是针对于写UI而遇到的各种问题,希望看此篇帖子的同学:
第一: 不要问我任何关于代码的问题,因为我没有时间帮你写代码;
第二: 如果我不会,你要我帮你解决...那我也得去百度google找资料,研究明白,再告诉你,这与你自己去找资料然后自己研究而言,除了浪费了我的时间,没有任何的实际帮助.
坑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 gravity="right|center" w="80" h="*">
<text text="当前速度: "
textColor="#FFFFFF"
textSize="16sp" />
</linear>
坑8:
不同机型,不同DPI适配 在线性布局中 务必灵活运用 layout_weight,否则,分辨率改变 DPI改变后,你的UI 会变形
----------------------------------------
转载 from https://www.autojs.org/
原文地址:https://www.cnblogs.com/x666-6/p/15006044.html
- 开发 | 我做了12万条的影评分析,告诉你《战狼Ⅱ》都在说些啥
- JavaScript | 函数定义的两种方法;预编译与执行
- jQuery特效 | 导航底部横线跟随鼠标缓动
- JavaScript | 选中并获取多行文本框内容的效果
- JavaScript | 动画显示比例的投票效果
- 原生JS | 作用域
- 腾讯、网易、新浪新闻网站爬虫编写记录及评论格式分析
- 原生JS | 随机抽取不重复的数组元素 —— 有没有更好的方法?
- 原生JS | 逻辑操作符的短路问题
- 数字识别,从KNN,LR,SVM,RF到深度学习
- 原生JS | 数据类型检测,并没你想象的那么简单
- Excel 有哪些可能需要熟练掌握而很多人不会的技能?
- 原生JS | 值类型与引用类型变量
- 【编程基础】C语言内存使用的常见问题
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法