马上注册,解锁更多高级玩法
您需要 登录 才可以下载或查看,没有账号?立即注册
×
XML 基础教程~界面交互
相关文件认知
- main.js 主脚本入口
- ui.js UI界面运行入口
- main.xml UI界面文件
一个 main.xml 例子
[XML] 纯文本查看 复制代码 <ScrollView xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:android="http://schemas.android.com/apk/res/android"
xsi:noNamespaceSchemaLocation="layout.xsd"
android:layout_height="match_parent"
android:layout_width="match_parent">
<LinearLayout android:layout_height="match_parent"
android:layout_width="match_parent"
android:orientation="vertical"
android:padding="20dp">
<LinearLayout android:orientation="horizontal"
android:layout_height="match_parent"
android:layout_width="match_parent">
<Button
android:layout_height="match_parent"
android:layout_width="0dp"
android:text="我是测试按钮"
android:layout_weight="1"
android:tag="btn"/>
</LinearLayout>
</LinearLayout>
</ScrollView>
上述 main.xml 对应的 ui.js 例子
[JavaScript] 纯文本查看 复制代码 function main() {
ui.layout("参数设置", "main.xml");
// UI 的main.xml 里面有个按钮控件 这里来操作下这个按钮
ui.setEvent(ui.btn, "click", function (view) {// 使用ui.setEvent(控件tag,操作,事件函数)函数来操作按钮控件
var s = ui.saveAllConfig();//保存修改后的参数
ui.start();// 启动脚本
});
}
main();
上述 main.js 对应的例子
[JavaScript] 纯文本查看 复制代码 function main() {
//开始再这里编写代码了!!
//如果自动化服务正常
if (!autoServiceStart(3)) {
logd("自动化服务启动失败,无法执行脚本")
exit();
return;
}
logd("开始执行脚本...")
logd(device.getScreenWidth()+" "+ device.getScreenHeight());//获取屏幕宽高并打印
logd(JSON.stringify(getConfigJSON()));// 获取所有的UI配置参数,输出字符串
// 读取单个UI参数配置 函数参数为 定义的xml中 tag 字符串
logd("年龄: " + readConfigString("age"));
logd("听音乐: " + readConfigString("music"));
logd("是不是一年级: " + readConfigString("one"));
logd("备注: " + readConfigString("mark"));
}
/**
* 这个函数是检测自动服务的
*/
function autoServiceStart(time) {
for (var i = 0; i < time; i++) {
if (isServiceOk()) {
return true;
}
var started = startEnv();
logd("第" + (i + 1) + "次启动服务结果: " + started);
if (isServiceOk()) {
return true;
}
}
return isServiceOk();
}
main();
其他更多的控件操作方式
[JavaScript] 纯文本查看 复制代码
//Switch 开关按钮的用法
// 开关按钮的监听事件
ui.setEvent(ui.auto_env, "checkedChange", function (view, isChecked) {
ui.logd("tag为 auto_env isChecked " + isChecked);// isChecked 是当前被选中与否时的状态值(布尔类型)
if (isChecked) {
startAutoEnv();
}
});
// 判断自动化服务是否开启
if (ui.isServiceOk()) {
ui.auto_env.setChecked(true);
} else {
ui.auto_env.setChecked(false);
}
// EditText 编辑框的用法
var name = ui.name.getText()+"";// 读取当前的值
ui.logd("tag为name的值: " + name);
ui.name.setText("我是name的值");//设置值
// Spinner 下拉选择框用法
var sex = readConfigString( "sex");// 读取当前的值
ui.logd("tag为 sex 的值: " + sex);
// 下拉选择框的监听事件
ui.setEvent(ui.sex, "itemSelected", function (position, value) {
ui.logd("tag为 sex itemSelected " + value);
ui.save("sexValue",value);// 存储选中项的值
ui.save("sexPosition",position);// 存储哪一项被选中
});
// RadioButton 单选框用法
var three = ui.three.isChecked();// 读取当前的值
ui.logd("tag为 three 的值: " + three);
// 单选框的监听事件
ui.setEvent(ui.three, "checkedChange", function (view, isChecked) {
ui.logd("tag为 three isChecked " + isChecked);// isChecked 是当前被选中与否时的状态值(布尔类型)
});
// CheckBox 复选框用法
var dance = ui.dance .isChecked(); // 读取当前的值
ui.logd("tag为 dance 的值: " + dance);
// 复选框的事件
ui.setEvent(ui.dance, "checkedChange", function (view, isChecked) {
ui.logd("tag为 dance isChecked " + isChecked);// isChecked 是当前被选中与否时的状态值(布尔类型)
//这里面是保存修改后的操作
});
// saveAllBtn 保存参数 按钮事件 可以和启动写一个按钮里
ui.setEvent(ui.saveAllBtn, "click", function (view) {
var s = ui.saveAllConfig();//保存修改后的参数
ui.logd("保存所有参数结果 " + s)
});
// 系统设置按钮 事件
ui.setEvent(ui.systemSetting, "click", function (view) {
ui.openECSystemSetting();
});
// 启动脚本按钮事件 可以和保存写一个按钮里
ui.setEvent(ui.startBtn, "click", function (view) {
ui.start();
});
// 启动环境 按钮事件
ui.setEvent(ui.envBtn, "click", function (view) {
//异步启动环境,如果成功了就设置auto_env 按钮的状态
startAutoEnv();
});
//获取所有的UI参数
ui.logd("获取所有的UI参数:" + ui.getConfigJSON());
|