视图界面(View)
M8Test支持直接使用Android API创建界面,即采用Android的View系统。由于M8Test所支持的脚本语言均能访问Android API,这意味着只要您会用Java编写安卓界面,就能用脚本编写界面——前提是您具备安卓开发基础。若您不了解安卓开发或了解甚少,可通过网站 创建界面,而非使用安卓View系统。
package com.example.script
import android.widget.TextView
import com.m8test.script.GlobalVariables._activity
import com.m8test.script.GlobalVariables._androidView
// 创建需要在界面显示的视图
_androidView.create(true) {
// 创建一个简单的 TextView
val textView = TextView(context)
// 设置 TextView 的文本
textView.text = "悬浮窗视图"
// 将 TextView 添加到 FrameLayout 中
addView(textView)
}
// 启动一个 Activity 用于显示界面, 这样脚本就会以界面方式运行,除非手动停止或者在脚本中通过代码停止,否则脚本会一直运行在后台
_activity.start()
import android.widget.TextView
// 创建需要在界面显示的视图
$androidView.create(true) { frameLayout ->
// 创建一个简单的 TextView
def textView = new TextView(frameLayout.getContext())
// 设置 TextView 的文本
textView.setText("悬浮窗视图")
// 将 TextView 添加到 FrameLayout 中
frameLayout.addView(textView)
}
// 启动一个 Activity 用于显示界面, 这样脚本就会以界面方式运行,除非手动停止或者在脚本中通过代码停止,否则脚本会一直运行在后台
$activity.start()
import android.widget.FrameLayout;
import android.widget.TextView;
import kotlin.jvm.functions.Function1;
import static com.m8test.script.GlobalVariables.$activity;
import static com.m8test.script.GlobalVariables.$androidView;
// 创建需要在界面显示的视图
$androidView.create(true, new Function1() {
@Override
public Object invoke(Object o) {
FrameLayout frameLayout = (FrameLayout) o;
// 创建一个简单的 TextView
TextView textView = new TextView(frameLayout.getContext());
// 设置 TextView 的文本
textView.setText("悬浮窗视图");
// 将 TextView 添加到 FrameLayout 中
frameLayout.addView(textView);
return null;
}
});
// 启动一个 Activity 用于显示界面, 这样脚本就会以界面方式运行,除非手动停止或者在脚本中通过代码停止,否则脚本会一直运行在后台
$activity.start();
// 创建需要在界面显示的视图
$androidView.create(true, function (frameLayout) {
// 创建一个简单的 TextView
let textView = new Packages.android.widget.TextView(frameLayout.getContext())
// 设置 TextView 的文本
textView.setText("悬浮窗视图")
// 将 TextView 添加到 FrameLayout 中
frameLayout.addView(textView)
})
// 启动一个 Activity 用于显示界面, 这样脚本就会以界面方式运行,除非手动停止或者在脚本中通过代码停止,否则脚本会一直运行在后台
$activity.start()
-- 引入 TextView 类, 必须以 m8test_java 开头, 后面跟 java 类名
local TextView = require("m8test_java.android.widget.TextView")
-- 创建需要在界面显示的视图
_androidView:create(true, function(frameLayout)
-- 创建一个简单的 TextView
local textView = TextView:newJavaObject(frameLayout:getContext())
-- 设置 TextView 的文本
textView:setText("悬浮窗视图")
-- 将 TextView 添加到 FrameLayout 中
frameLayout:addView(textView)
end)
-- 启动一个 Activity 用于显示界面, 这样脚本就会以界面方式运行,除非手动停止或者在脚本中通过代码停止,否则脚本会一直运行在后台
_activity:start()
<?php
use m8test_java\android\widget\TextView;
/** @var m8test_java\com\m8test\script\core\api\ui\view\AndroidView $androidView */
global $androidView;
// 创建需要在界面显示的视图
$androidView->create(true, function ($frameLayout) {
// 创建一个简单的 TextView
/** @var \m8test_java\android\widget\FrameLayout $frameLayout */
$textView = new TextView($frameLayout->getContext());
// 设置 TextView 的文本
$textView->setText(javaString("悬浮窗视图"));
// 将 TextView 添加到 FrameLayout 中
$frameLayout->addView($textView);
});
/** @var m8test_java\com\m8test\script\core\api\ui\Activity $activity */
global $activity;
// 启动一个 Activity 用于显示界面, 这样脚本就会以界面方式运行,除非手动停止或者在脚本中通过代码停止,否则脚本会一直运行在后台
$activity->start();
from m8test_java.android.widget.FrameLayout import FrameLayout
from m8test_java.android.widget.TextView import TextView
from m8test_java.com.m8test.script.GlobalVariables import _activity
from m8test_java.com.m8test.script.GlobalVariables import _androidView
def view_content(frameLayout: FrameLayout):
# 创建一个简单的 TextView
textView = TextView(frameLayout.getContext())
# 设置 TextView 的文本
textView.setText("悬浮窗视图")
# 将 TextView 添加到 FrameLayout 中
frameLayout.addView(textView)
# 创建需要在界面显示的视图
_androidView.create(True, view_content)
# 启动一个 Activity 用于显示界面, 这样脚本就会以界面方式运行,除非手动停止或者在脚本中通过代码停止,否则脚本会一直运行在后台
_activity.start()
# encoding: utf-8
java_import 'android.widget.TextView'
java_import "android.widget.FrameLayout"
# 创建需要在界面显示的视图
$androidView.create(true) {
# @type frameLayout [FrameLayout]
|frameLayout|
# 创建一个简单的 TextView
textView = TextView.new(frameLayout.getContext())
# 设置 TextView 的文本
textView.setText("悬浮窗视图")
# 将 TextView 添加到 FrameLayout 中
frameLayout.addView(textView)
}
# 启动一个 Activity 用于显示界面, 这样脚本就会以界面方式运行,除非手动停止或者在脚本中通过代码停止,否则脚本会一直运行在后台
$activity.start()
Last modified: 01 October 2025