当前位置:   article > 正文

auto.js之界面ui_auto.js ui

auto.js ui

前言: auto.js的ui可以在将代码打包的时候方便用户的操作,可以设计一个舒服的界面来执行手机脚本。

知识梳理篇:

ui的按钮shi

  1. // 开头必须要加,否则脚本不会以ui模式运行
  2. "ui";
  3. // 这里是用xml来编写的界面
  4. ui.layout(
  5. // vertical 表示的是垂直布局
  6. <vertical>
  7. <button text="第一个按钮"/>
  8. <button text="第二个按钮"/>
  9. </vertical>
  10. );
  1. // 开头必须要加,否则脚本不会以ui模式运行
  2. "ui";
  3. // 这里是用xml来编写的界面
  4. ui.layout(
  5. // horizontal 表示的是布局
  6. <horizontal>
  7. <button text="第一个按钮"/>
  8. <button text="第二个按钮"/>
  9. </horizontal>
  10. );
  1. // 开头必须要加,否则脚本不会以ui模式运行
  2. "ui";
  3. // 这里是用xml来编写的界面
  4. ui.layout(
  5. // bg可以表示界面的背景
  6. <vertical bg="#ff0000">
  7. // textSize可以表示字体的大小
  8. <button text="第一个按钮" textSize="20sp"/>
  9. <button text="第二个按钮"/>
  10. </vertical>
  11. );


 

控件和布局都属于视图

w是width的缩写,*表示尽量填满父布局,auto表示根据View的内容自动调整

  1. "ui";
  2. ui.layout(
  3. <horizontal>
  4. <button w="auto" text="自适应宽度"/>
  5. <button w="*" text="填满父布局"/>
  6. </horizontal>
  7. );
  1. "ui";
  2. ui.layout(
  3. <horizontal>
  4. <button w="200" text="宽度200dp"/>
  5. <button w="100" text="宽度100dp"/>
  6. </horizontal>
  7. );

 

h为height的缩写,使用情形和w一样

获取简单的属性,并且调用

  1. "ui";
  2. ui.layout(
  3. <frame>
  4. <button id="ok" text="哇哈哈"/>
  5. </frame>
  6. );
  7. // 通过ui.ok获取到按钮的控件
  8. toast(ui.ok.getText());

 

gravity表示额的是"重力",用于决定View的内容相对View的位置(ravity="right|bottom"的View他的内容会在右下角)

可以设置为

  • left 靠左
  • right 靠右
  • top 靠顶部
  • bottom 靠底部
  • center 居中
  • center_vertical 垂直居中
  • center_horizontal 水平居中
  1. "ui";
  2. ui.layout(
  3. <frame>
  4. <button gravity="right" w="*" h="auto" text="你看我的文字是靠哪儿的"/>
  5. </frame>
  6. );
  1. "ui";
  2. ui.layout(
  3. <frame w="*" h="*">
  4. <button layout_gravity="center" w="auto" h="auto" text="居中的按钮"/>
  5. <button layout_gravity="right|bottom" w="auto" h="auto" text="右下角的按钮"/>
  6. </frame>
  7. );

 

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。

  1. "ui";
  2. ui.layout(
  3. <horizontal>
  4. <button margin="30" text="距离四周30"/>
  5. <button text="普通的按钮"/>
  6. </horizontal>
  7. );
  1. "ui";
  2. ui.layout(
  3. <horizontal>
  4. <button marginLeft="50" text="我是特殊的按钮"/>
  5. <button text="普通的按钮"/>
  6. </horizontal>
  7. );

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 正常字体(可以使用|将他们结合)

 

设置文本控件的行数:

  1. "ui";
  2. ui.layout(
  3. <vertical>
  4. <text id="myText" line="3"/>
  5. </vertical>
  6. );
  7. // 通过\n进行换行
  8. ui.myText.setText("第一行\n第二行\n第三行\n第四行");

 

按钮控件button:

  • Widget.AppCompat.Button.Colored 带颜色的按钮
  • Widget.AppCompat.Button.Borderless 无边框按钮
  • Widget.AppCompat.Button.Borderless.Colored 带颜色的无边框按钮
  1. "ui";
  2. ui.layout(
  3. <vertical>
  4. <button style="Widget.AppCompat.Button.Colored" text="我是漂亮的按钮"/>
  5. </vertical>
  6. );

输入控件:input(有下面这个例子就差不多足够了)

  1. "ui";
  2. ui.layout(
  3. <vertical padding="16">
  4. <text textSize="16sp" textColor="red" text="请输入使用者姓名"/>
  5. <input id="name"/>
  6. <button id="ok" text="确定"/>
  7. </vertical>
  8. );
  9. // 点击确定按钮以后要执行的动作
  10. ui.ok.click(function(){
  11. // 通过getText()获取输入的内容
  12. var name = ui.name.getText();
  13. toast(name + "您好,欢迎使用本软件");
  14. })
  1. // hint为提示效果
  2. "ui";
  3. ui.layout(
  4. <vertical>
  5. <input hint="请输入您的姓名"/>
  6. </vertical>
  7. );

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,这里我测试的几个网络图片,有一些使不可以用的)。

  1. "ui";
  2. ui.layout(
  3. <frame>
  4. <img src="file:///sdcard/黑软/美图保存/1.png"/>
  5. </frame>
  6. );

 

控件高度(可以控制控件的高度,详情可以看auto.js的文档)

  1. "ui";
  2. ui.layout(
  3. <vertical h="100dp" weightSum="5">
  4. <text layout_weight="1" text="控件1" bg="#ff0000"/>
  5. <text layout_weight="2" text="控件2" bg="#00ff00"/>
  6. <text layout_weight="1" text="控件3" bg="#0000ff"/>
  7. </vertical>
  8. );

 

声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:【wpsshop博客】
推荐阅读
相关标签