• 使用AutoJs编写UI的踩坑记录


    说明

    • 相对于脚本而言,一般不写UI最好.但有时候要确认用户的选择和输入,不得不使用UI或者悬浮窗…

    • 但两者的功能和实现方法 是一样的.

    • 针对于初次编写UI界面的同学来说,可能会遇到各种各样的坑.

    1. 坑1: 不管你的代码多么少, “ui”; 这个字符串,必须放在第一行,在它之上,不能有任何的代码和注释

    2. 坑2: 整个UI编写过程中,有一个非常重要的原则:
        UI线程中除函数和公用变量外不要写任何流程性质的代码,如果要写流程,必须使用线程

    threads.start(function() {
    //这里写你的流程代码
    });

    1. 坑3:使用线程时,如果要对UI中的数据进行修改,最好使用下面的方法来执行:

    threads.start(function() {
    //流程代码
    ui.run(()=>{
    //这里写针对UI的操作
    });
    });

    1. 坑4: 为了方便管理,所有开的线程,根据不同功能,最好都定义各个线程的变量名

    var Thread = threads.start(function() {});

    1. 坑5: 线程函数,不能简写 观察上面的代码,你会发现:
      ui.run()中 我的写法是:

    ui.run(()=>{});
    而在线程 threads.start();中,我的写法是:

    threads.start(function() {});

    1. 坑6: 使用setVisibility()方法时,一定要 importClass(android.view.View);
      括号中的属性包括:
      View.GONE //完全隐藏控件
      View.INVISIBLE //隐藏控件,但保留控件的位置
      View.VISIBLE //默认属性, 显示控件

    2. 坑7: 针对text控件的对齐 gravity 要在 linear 布局中进行设置,例如

    linear>
    1. 坑8: 不同机型,不同DPI适配 在线性布局中 务必灵活运用 layout_weight,否则,分辨率改变 DPI改变后,你的UI 会变形
  • 相关阅读:
    安装vue-router及报错问题
    Lnmp架构
    hudi更新失败
    AIOT数字孪生智慧工地一体化管理平台源码
    c#仿热血江湖
    JS中字符串一些常用的方法
    C语言——概述
    kubernetes-v1.23.3 部署 kafka_2.12-2.3.0
    CP&FT测试介绍
    大数据技术之SparkCore
  • 原文地址:https://blog.csdn.net/qq_29176323/article/details/126216800