AIGameAIGame
首页
API文档
UI框架
API实例
UI实例
下载软件
首页
API文档
UI框架
API实例
UI实例
下载软件
  • UI文档

    • 界面框架
      • 01.必备基础
      • 02.公共方法
      • 03.公共属性
      • 04.原生交互
      • 05.组件与原生类对照表
    • appbar - 标题栏
      • 01.基础用法
      • 02.详细属性
      • 03.详细方法
    • btm-appbar - 底部标题栏
      • 01.基础用法
      • 02.详细属性
      • 03.详细方法
    • button - 按钮
      • 01.基础用法
      • 02.详细属性
      • 03.详细方法
    • button-group - 按钮组
      • 01.详细属性
      • 02.详细方法
      • 03.经典案例
    • check - 多选框
      • 01.详细属性
      • 02.详细方法
      • 03.经典案例
    • fab - 悬浮按钮
      • 01.基础用法
      • 02.详细属性
      • 03.详细方法
      • 04.经典案例
    • hr - 分割线
    • img - 图片(图标)
      • 01.基础用法
      • 02.详细属性
      • 03.详细方法
      • 04.经典案例
    • radio - 单选按钮
      • 01.基础用法
      • 02.详细属性
      • 03.详细方法
      • 04.经典案例
    • radio-group - 单选按钮组
      • 01.基础用法
      • 02.详细属性
      • 03.详细方法
    • slider - 拖拽条
      • 01.基础用法
      • 02.详细属性
      • 03.详细方法
    • switch - 开关
      • 01.基础用法
      • 02.详细属性
      • 03.详细方法
      • 04.经典案例
    • statusbar - 状态栏
      • 01.基础用法
      • 02.详细属性
    • progress - 进度条
      • 01.详细属性
      • 02.详细方法
    • text - 文本
      • 01.基础用法
      • 02.详细属性
      • 03.详细方法
    • 专题

      • gravity 重力专题
      • margin 外边距专题
      • padding 内边距专题
    • 布局

      • linear 线性布局
      • drawer 抽屉布局
      • coordinator 协调布局
      • appbarLayout 工具条布局

原生交互

界面框架开放了原生交互能力,但你必须先了解原生组件。

与原生组件交互

例如:button的原生组件是MaterialButton,我们可以通过getView方法获得原生组件。


<button id="mBut" text="按钮"/>
//先找到button对象
let mBut = ui.id("mBut");
//获得原生组件对象
let materialButton = mBut.getView();//MaterialButton

//接下来就可以和原生组件MaterialButton进行交互操作了
//例如:设置文字
ui.run(() => {
    materialButton.setText("我是文字");
});

与原生组件交互的时候,一定要使用ui.run(()=>{})方法,保证操作在ui线程中执行。 但是我们的button组件本身就封装好了,可以在任意子线程中进行操作。

与activity交互

activity对象是AppCompatActivity类型的实例,但是必须要等到ui.show()之后,界面被完全加载显示之后,activity对象才能正常被拿到。 因此,ui.activity()方法被设计成了阻塞方法,一旦你调用了ui.show()方法之后然后在调用ui.activity() 方法就会进入阻塞,一直等待activity对象被拿到。

不过,如果你没有调用ui.show()方法,ui.activity()方法就不会阻塞,而是直接返回null。

let ui = $ui.layout("/sdcard/Pictures/ui.xml");
ui.show();
//拿到activity对象
let activity = ui.activity();
//接下来就可以和activity对象交互了,例如:获得context对象
let context = activity.getApplicationContext();
最近更新:: 2025/5/17 18:32
Contributors: Talent
Prev
03.公共属性
Next
05.组件与原生类对照表