auto.js之界面ui
前言: auto.js的ui可以在将代码打包的时候方便用户的操作,可以设计一个舒服的界面来执行手机脚本。
知识梳理篇:
ui的按钮shi
// 开头必须要加,否则脚本不会以ui模式运行"ui";// 这里是用xml来编写的界面ui.layout(// vertical 表示的是垂直布局<vertical><button text="第一个按钮"/><button text="第二个按钮"/></vertical>);
// 开头必须要加,否则脚本不会以ui模式运行"ui";// 这里是用xml来编写的界面ui.layout(// horizontal 表示的是布局<horizontal><button text="第一个按钮"/><button text="第二个按钮"/></horizontal>);
// 开头必须要加,否则脚本不会以ui模式运行"ui";// 这里是用xml来编写的界面ui.layout(// bg可以表示界面的背景<vertical bg="#ff0000">// textSize可以表示字体的大小<button text="第一个按钮" textSize="20sp"/><button text="第二个按钮"/></vertical>);
控件和布局都属于视图
w是width的缩写,*表示尽量填满父布局,auto表示根据View的内容自动调整
"ui";ui.layout(<horizontal><button w="auto" text="自适应宽度"/><button w="*" text="填满父布局"/></horizontal>);
"ui";ui.layout(<horizontal><button w="200" text="宽度200dp"/><button w="100" text="宽度100dp"/></horizontal>);
h为height的缩写,使用情形和w一样
获取简单的属性,并且调用
"ui";ui.layout(<frame><button id="ok" text="哇哈哈"/></frame>);// 通过ui.ok获取到按钮的控件toast(ui.ok.getText());
gravity表示额的是"重力",用于决定View的内容相对View的位置(ravity="right|bottom"的View他的内容会在右下角)
可以设置为
- left 靠左
- right 靠右
- top 靠顶部
- bottom 靠底部
- center 居中
- center_vertical 垂直居中
- center_horizontal 水平居中
"ui";ui.layout(<frame><button gravity="right" w="*" h="auto" text="你看我的文字是靠哪儿的"/></frame>);
"ui";ui.layout(<frame w="*" h="*"><button layout_gravity="center" w="auto" h="auto" text="居中的按钮"/><button layout_gravity="right|bottom" w="auto" h="auto" text="右下角的按钮"/></frame>);
margin方法:
- margin为View和其他View的间距,他包括四个值:
- marginLeft 左外边距
- marginRight 右外边距
- marginTop 上外边距
- marginBottom 下外边距
margin="marginAll" 指定各个外边距都是该值。例如margin="10"表示左右上下边距都是10dp。
margin="marginLeft marginTop marginRight marginBottom" 分别指定各个外边距。例如margin="10 20 30 40"表示左边距为10dp, 上边距为20dp, 右边距为30dp, 下边距为40dp
margin="marginHorizontal marginVertical" 指定水平外边距和垂直外边距。例如margin="10 20"表示左右边距为10dp, 上下边距为20dp。
"ui";ui.layout(<horizontal><button margin="30" text="距离四周30"/><button text="普通的按钮"/></horizontal>);
"ui";ui.layout(<horizontal><button marginLeft="50" text="我是特殊的按钮"/><button text="普通的按钮"/></horizontal>);
bg表示背景:
- bg="#00ff00"设置背景为绿色(RGB格式颜色),bg="file:///sdcard/1.png"设置背景为图片
- alpha表示的View的透明度,foreground表示的是View的前景,minHeigh表示的是View的最小高度
- visbility表示的是View的可见性,决定View是否可以显示出来。
- rotation,View的旋转角度
文本控件的一些属性:
- text文本控件,例如:text="一段文字"
- textColor,例如:<text text="红色字体" textColor="red"/>
- textSize,设置字体的大小,<text text="超大字体" textSize="40sp"/>
- textStyle,可以设置字体的样式,bold 加粗字体,italic 斜体,normal 正常字体(可以使用|将他们结合)
设置文本控件的行数:
"ui";ui.layout(<vertical><text id="myText" line="3"/></vertical>);// 通过\n进行换行ui.myText.setText("第一行\n第二行\n第三行\n第四行");
按钮控件button:
- Widget.AppCompat.Button.Colored 带颜色的按钮
- Widget.AppCompat.Button.Borderless 无边框按钮
- Widget.AppCompat.Button.Borderless.Colored 带颜色的无边框按钮
"ui";ui.layout(<vertical><button style="Widget.AppCompat.Button.Colored" text="我是漂亮的按钮"/></vertical>);
输入控件:input(有下面这个例子就差不多足够了)
"ui";ui.layout(<vertical padding="16"><text textSize="16sp" textColor="red" text="请输入使用者姓名"/><input id="name"/><button id="ok" text="确定"/></vertical>);// 点击确定按钮以后要执行的动作ui.ok.click(function(){// 通过getText()获取输入的内容var name = ui.name.getText();toast(name + "您好,欢迎使用本软件");})
// hint为提示效果"ui";ui.layout(<vertical><input hint="请输入您的姓名"/></vertical>);
ps:textColorHint指定输入提示的字体颜色。textSizeHint指定输入提示的字体大小。
指定输入框可以输入的文本类型。可选的值为以下值及其用"|"的组合:
- date 用于输入日期。
- datetime 用于输入日期和时间。
- none 没有内容类型。此输入框不可编辑。
- number 仅可输入数字。
- numberDecimal 可以与number和它的其他选项组合,以允许输入十进制数(包括小数)。
- numberPassword 仅可输入数字密码。
- numberSigned 可以与number和它的其他选项组合,以允许输入有符号的数。
- phone 用于输入一个电话号码。
- text 只是普通文本。
- textAutoComplete 可以与text和它的其他选项结合, 以指定此字段将做自己的自动完成, 并适当地与输入法交互。
- textAutoCorrect 可以与text和它的其他选项结合, 以请求自动文本输入纠错。
- textCapCharacters 可以与text和它的其他选项结合, 以请求大写所有字符。
- textCapSentences 可以与text和它的其他选项结合, 以请求大写每个句子里面的第一个字符。
- textCapWords 可以与text和它的其他选项结合, 以请求大写每个单词里面的第一个字符。
- textEmailAddress 用于输入一个电子邮件地址。
- textEmailSubject 用于输入电子邮件的主题。
- textImeMultiLine 可以与text和它的其他选项结合,以指示虽然常规文本视图不应为多行, 但如果可以, 则IME应提供多行支持。
- textLongMessage 用于输入长消息的内容。
- textMultiLine 可以与text和它的其他选项结合, 以便在该字段中允许多行文本。如果未设置此标志, 则文本字段将被限制为单行。
- textNoSuggestions 可以与text及它的其他选项结合, 以指示输入法不应显示任何基于字典的单词建议。
- textPassword 用于输入密码。
- textPersonName 用于输入人名。
- textPhonetic 用于输入拼音发音的文本, 如联系人条目中的拼音名称字段。
- textPostalAddress 用于输入邮寄地址。
- textShortMessage 用于输入短的消息内容。
- textUri 用于输入一个URI。
- textVisiblePassword 用于输入可见的密码。
- textWebEditText 用于输入在web表单中的文本。
- textWebEmailAddress 用于在web表单里输入一个电子邮件地址。
- textWebPassword 用于在web表单里输入一个密码。
- time 用于输入时间。
例如:
<input inputType="number|numberDeciml"/>
输入密码的提示框例如:
<input password="true"/>
图片控件:img
可以是本地的,也可以是网络的(网络的可能会存在一些bug,这里我测试的几个网络图片,有一些使不可以用的)。
"ui";ui.layout(<frame><img src="file:///sdcard/黑软/美图保存/1.png"/></frame>);
控件高度(可以控制控件的高度,详情可以看auto.js的文档)
"ui";ui.layout(<vertical h="100dp" weightSum="5"><text layout_weight="1" text="控件1" bg="#ff0000"/><text layout_weight="2" text="控件2" bg="#00ff00"/><text layout_weight="1" text="控件3" bg="#0000ff"/></vertical>);
auto.js之界面ui相关推荐
- Auto.js制作短视频app(添加登陆注册界面)
在b站上看到了一个视频咨询的安卓项目 https://www.bilibili.com/video/BV16Z4y1H7jj?spm_id_from=333.337.search-card.all.c ...
- 【Auto.JS】Autojs官方提取文档使用说明函数 (2)
接上一篇文章:Autojs官方提取文档使用说明函数 (1) Images Stability: 2 - Stable images模块提供了一些手机设备中常见的图片处理函数,包括截图.读写图片.图片剪 ...
- Auto.js Pro安卓免ROOT引流脚本开发系列教程27网易公开课(5)-UI界面构建
课程内容 脚本前端UI界面的构建 创建话术输入框(随机话术) 创建勾选框(性别选择.话术前加入昵称.话术后添加随机符号表情) 开发文档 在线文档 APP名称 网易公开课 APP版本 安卓客户端:v6. ...
- javascript php 界面,js实现卡片式项目管理界面UI设计效果_javascript技巧
这是一款非常有创意的卡片式项目管理界面UI设计效果.该UI设计中,将各个项目以卡片的方式堆叠排列在屏幕上,当点击了其中的某个项目的时候,该项目图片会全屏放大,向下滚动鼠标可以看到该项目的介绍信息. 该 ...
- Auto.js学习笔记2:真机连接vscode开发工具进行调试,自动开启微信app,自动切换通讯录和微信界面
实战代码演示启动微信并切换微信和通讯录界面 申明本人使用的autojs是4.1.1版本 1. 安装autojsapp:4.1.1版本 这个不用多说,找到app安装到手机上 启动autojs的app,开 ...
- Auto.js实例UI
"ui"; //脚本的其他代码 垂直 "ui"; ui.layout(<horizontal><button text="第一个按钮 ...
- auto.js id为参数滑动_【Autojs教程】02Autojs PC端开发调试环境搭建
[Autojs教程]02-Autojs PC端开发调试环境搭建 写在前面 本篇教程算是保姆级教程了,希望以此能吸引更多感兴趣的同学学习Autojs,也希望大家能因此碰撞出更多的奇思妙想 关注微信公众号 ...
- Auto.JS 开发
From:https://blog.csdn.net/a6892255/article/details/107302369 autojs 代码大全(实战演练):https://blog.csdn.ne ...
- 【autojs】Auto.js Pro系统intent代码
//此代码由飞云脚本圈整理提供(www.feiyunjs.com) var intent = new Intent(); // vpnIntent.setAction("android.ne ...
最新文章
- echarts geo地图示例_用Python,炫酷地图轻松绘制,一起来学习吧
- 石板切割问题c语言_天长井盖切割机切圆机市政窨井盖切圆机
- JavaScript——易班优课YOOC课群在线测试自动答题解决方案(四)答案显示
- Android之ndk之用arm-linux-androideabi工具通过地址找到具体哪里崩溃
- nginx expires配置
- HTML5_增强可访问性和解决IE兼容性问题
- 幽冥问答录:兼职阴间判官介绍阴间是什么样子
- 怎么用matlab赋值圆孔,【求助】求一个MATLAB的杨氏双孔干涉程序(要圆孔) - 物理 - 小木虫 - 学术 科研 互动社区...
- Android ROM DIY之MTK平台手机通用移植 (续)
- Redis实现Mybatis的二级缓存
- 大数据下的供应商评分系统
- 成考专升本高等数学公式笔记
- 最新07高考零分作文片断
- Python:根据itchat编了一个3岁智商的机器人
- Latex自定义文档纸张大小
- html插入flash时钟,教你利用Flash制作一个会走动的时钟(时针,分针,秒针)
- MySQL创建远程连接用户,使用远程工具连接数据库(详细)
- 超链接一般有两种表现形式_超链接有哪几种类型,各有什么作用
- 漫画:什么是 “幼态持续” ?
- 电路分析 基尔霍夫定律 详解课堂笔记
热门文章
- 【英语词组】恋恋不忘Day 1-3
- 特征选择——变量重要性排序
- 第二十四章 面向对象------属性
- java ssi_java SSI idea
- (PAT)BasiclLevel_c++ #1003 我要通过!(演绎法)
- 阿德莱德大学计算机科学,School of Computer Science
- 记一次面试(被骗)经历
- 【深度学习机器翻译】GNMT:Google 的的神经机器翻译系统
- 计算机音乐数字谱抖音,抖音计算器谱子有哪些?计算器音乐乐谱大全
- 史上最详细的Buffer Overflow学习笔记