mirror of
https://github.com/TonyJiangWJ/Auto.js.git
synced 2026-06-18 21:10:19 +08:00
docs: update to latest
This commit is contained in:
parent
7cb7703921
commit
0ffb8d1ec5
Binary file not shown.
@ -8,8 +8,8 @@ android {
|
||||
applicationId "org.autojs.autojs"
|
||||
minSdkVersion 17
|
||||
targetSdkVersion 23
|
||||
versionCode 400
|
||||
versionName "4.0.0 Alpha"
|
||||
versionCode 401
|
||||
versionName "4.0.0 Alpha1"
|
||||
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
|
||||
multiDexEnabled true
|
||||
ndk {
|
||||
|
||||
@ -210,6 +210,22 @@
|
||||
<li><span class="stability_undefined"><a href="#dialogs_dialogs_select_title_items_callback">dialogs.select(title, items, callback)</a></span></li>
|
||||
<li><span class="stability_undefined"><a href="#dialogs_dialogs_singlechoice_title_items_index_callback">dialogs.singleChoice(title, items[, index, callback])</a></span></li>
|
||||
<li><span class="stability_undefined"><a href="#dialogs_dialogs_multichoice_title_items_indices_callback">dialogs.multiChoice(title, items[, indices, callback])</a></span></li>
|
||||
<li><span class="stability_undefined"><a href="#dialogs_dialogs_build_properties">dialogs.build(properties)</a></span></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><span class="stability_undefined"><a href="#dialogs_dialog">Dialog</a></span><ul>
|
||||
<li><span class="stability_undefined"><a href="#dialogs_show">事件: <code>show</code></a></span></li>
|
||||
<li><span class="stability_undefined"><a href="#dialogs_cancel">事件: <code>cancel</code></a></span></li>
|
||||
<li><span class="stability_undefined"><a href="#dialogs_dismiss">事件: <code>dismiss</code></a></span></li>
|
||||
<li><span class="stability_undefined"><a href="#dialogs_positive">事件: <code>positive</code></a></span></li>
|
||||
<li><span class="stability_undefined"><a href="#dialogs_negative">事件: <code>negative</code></a></span></li>
|
||||
<li><span class="stability_undefined"><a href="#dialogs_neutral">事件: <code>neutral</code></a></span></li>
|
||||
<li><span class="stability_undefined"><a href="#dialogs_any">事件: <code>any</code></a></span></li>
|
||||
<li><span class="stability_undefined"><a href="#dialogs_item_select">事件: <code>item_select</code></a></span></li>
|
||||
<li><span class="stability_undefined"><a href="#dialogs_single_choice">事件: <code>single_choice</code></a></span></li>
|
||||
<li><span class="stability_undefined"><a href="#dialogs_multi_choice">事件: <code>multi_choice</code></a></span></li>
|
||||
<li><span class="stability_undefined"><a href="#dialogs_input">事件: <code>input</code></a></span></li>
|
||||
<li><span class="stability_undefined"><a href="#dialogs_input_change">事件: <code>input_change</code></a></span></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><span class="stability_2"><a href="#engines_engines">Engines</a></span><ul>
|
||||
@ -305,19 +321,32 @@
|
||||
<li><span class="stability_undefined"><a href="#events_events_broadcast">events.broadcast: 脚本间广播</a></span></li>
|
||||
<li><span class="stability_undefined"><a href="#floaty_floaty">Floaty</a></span><ul>
|
||||
<li><span class="stability_undefined"><a href="#floaty_floaty_window_layout">floaty.window(layout)</a></span></li>
|
||||
<li><span class="stability_undefined"><a href="#floaty_floaty_rawwindow_layout">floaty.rawWindow(layout)</a></span></li>
|
||||
<li><span class="stability_undefined"><a href="#floaty_floaty_closeall">floaty.closeAll()</a></span></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><span class="stability_undefined"><a href="#floaty_floatywindow">FloatyWindow</a></span><ul>
|
||||
<li><span class="stability_undefined"><a href="#floaty_floatywindow_setadjustenabled_enabled">FloatyWindow.setAdjustEnabled(enabled)</a></span></li>
|
||||
<li><span class="stability_undefined"><a href="#floaty_floatywindow_setposition_x_y">FloatyWindow.setPosition(x, y)</a></span></li>
|
||||
<li><span class="stability_undefined"><a href="#floaty_floatywindow_getx">FloatyWindow.getX()</a></span></li>
|
||||
<li><span class="stability_undefined"><a href="#floaty_floatywindow_gety">FloatyWindow.getY()</a></span></li>
|
||||
<li><span class="stability_undefined"><a href="#floaty_floatywindow_setsize_width_height">FloatyWindow.setSize(width, height)</a></span></li>
|
||||
<li><span class="stability_undefined"><a href="#floaty_floatywindow_getwidht">FloatyWindow.getWidht()</a></span></li>
|
||||
<li><span class="stability_undefined"><a href="#floaty_floatywindow_getheight">FloatyWindow.getHeight()</a></span></li>
|
||||
<li><span class="stability_undefined"><a href="#floaty_floatywindow_close">FloatyWindow.close()</a></span></li>
|
||||
<li><span class="stability_undefined"><a href="#floaty_floatywindow_exitonclose">FloatyWindow.exitOnClose()</a></span></li>
|
||||
<li><span class="stability_undefined"><a href="#floaty_window_setadjustenabled_enabled">window.setAdjustEnabled(enabled)</a></span></li>
|
||||
<li><span class="stability_undefined"><a href="#floaty_window_setposition_x_y">window.setPosition(x, y)</a></span></li>
|
||||
<li><span class="stability_undefined"><a href="#floaty_window_getx">window.getX()</a></span></li>
|
||||
<li><span class="stability_undefined"><a href="#floaty_window_gety">window.getY()</a></span></li>
|
||||
<li><span class="stability_undefined"><a href="#floaty_window_setsize_width_height">window.setSize(width, height)</a></span></li>
|
||||
<li><span class="stability_undefined"><a href="#floaty_window_getwidht">window.getWidht()</a></span></li>
|
||||
<li><span class="stability_undefined"><a href="#floaty_window_getheight">window.getHeight()</a></span></li>
|
||||
<li><span class="stability_undefined"><a href="#floaty_window_close">window.close()</a></span></li>
|
||||
<li><span class="stability_undefined"><a href="#floaty_window_exitonclose">window.exitOnClose()</a></span></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><span class="stability_undefined"><a href="#floaty_floatyrawwindow">FloatyRawWindow</a></span><ul>
|
||||
<li><span class="stability_undefined"><a href="#floaty_window_settouchable_touchable">window.setTouchable(touchable)</a></span></li>
|
||||
<li><span class="stability_undefined"><a href="#floaty_window_setposition_x_y_1">window.setPosition(x, y)</a></span></li>
|
||||
<li><span class="stability_undefined"><a href="#floaty_window_getx_1">window.getX()</a></span></li>
|
||||
<li><span class="stability_undefined"><a href="#floaty_window_gety_1">window.getY()</a></span></li>
|
||||
<li><span class="stability_undefined"><a href="#floaty_window_setsize_width_height_1">window.setSize(width, height)</a></span></li>
|
||||
<li><span class="stability_undefined"><a href="#floaty_window_getwidht_1">window.getWidht()</a></span></li>
|
||||
<li><span class="stability_undefined"><a href="#floaty_window_getheight_1">window.getHeight()</a></span></li>
|
||||
<li><span class="stability_undefined"><a href="#floaty_window_close_1">window.close()</a></span></li>
|
||||
<li><span class="stability_undefined"><a href="#floaty_window_exitonclose_1">window.exitOnClose()</a></span></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><span class="stability_2"><a href="#files_files">Files</a></span><ul>
|
||||
@ -382,6 +411,7 @@
|
||||
<li><span class="stability_undefined"><a href="#globals_random">random()</a></span></li>
|
||||
<li><span class="stability_undefined"><a href="#globals_requiresapi_api">requiresApi(api)</a></span></li>
|
||||
<li><span class="stability_undefined"><a href="#globals_requiresautojsversion_version">requiresAutojsVersion(version)</a></span></li>
|
||||
<li><span class="stability_undefined"><a href="#globals_runtime_requestpermissions_permissions">runtime.requestPermissions(permissions)</a></span></li>
|
||||
<li><span class="stability_undefined"><a href="#globals_context">context</a></span></li>
|
||||
</ul>
|
||||
</li>
|
||||
@ -416,11 +446,24 @@
|
||||
<li><span class="stability_undefined"><a href="#images_colors_equals_color1_color2">colors.equals(color1, color2)</a></span></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><span class="stability_undefined"><a href="#images_colors_black">colors.BLACK</a></span></li>
|
||||
<li><span class="stability_undefined"><a href="#images_colors_dkgray">colors.DKGRAY</a></span></li>
|
||||
<li><span class="stability_undefined"><a href="#images_colors_gray">colors.GRAY</a></span></li>
|
||||
<li><span class="stability_undefined"><a href="#images_colors_ltgray">colors.LTGRAY</a></span></li>
|
||||
<li><span class="stability_undefined"><a href="#images_colors_white">colors.WHITE</a></span></li>
|
||||
<li><span class="stability_undefined"><a href="#images_colors_red">colors.RED</a></span></li>
|
||||
<li><span class="stability_undefined"><a href="#images_colors_green">colors.GREEN</a></span></li>
|
||||
<li><span class="stability_undefined"><a href="#images_colors_blue">colors.BLUE</a></span></li>
|
||||
<li><span class="stability_undefined"><a href="#images_colors_yellow">colors.YELLOW</a></span></li>
|
||||
<li><span class="stability_undefined"><a href="#images_colors_cyan">colors.CYAN</a></span></li>
|
||||
<li><span class="stability_undefined"><a href="#images_colors_magenta">colors.MAGENTA</a></span></li>
|
||||
<li><span class="stability_undefined"><a href="#images_colors_transparent">colors.TRANSPARENT</a></span></li>
|
||||
<li><span class="stability_2"><a href="#images_images">Images</a></span><ul>
|
||||
<li><span class="stability_undefined"><a href="#images_images_requestscreencapture_landscape">images.requestScreenCapture([landscape])</a></span></li>
|
||||
<li><span class="stability_undefined"><a href="#images_images_capturescreen">images.captureScreen()</a></span></li>
|
||||
<li><span class="stability_undefined"><a href="#images_images_capturescreen_path">images.captureScreen(path)</a></span></li>
|
||||
<li><span class="stability_undefined"><a href="#images_images_pixel_image_x_y">images.pixel(image, x, y)</a></span></li>
|
||||
<li><span class="stability_undefined"><a href="#images_images_copy_img">images.copy(img)</a></span></li>
|
||||
<li><span class="stability_undefined"><a href="#images_images_save_image_path_format_png_quality_100">images.save(image, path[, format = "png", quality = 100])</a></span></li>
|
||||
<li><span class="stability_undefined"><a href="#images_images_read_path">images.read(path)</a></span></li>
|
||||
<li><span class="stability_undefined"><a href="#images_images_load_url">images.load(url)</a></span></li>
|
||||
@ -1781,8 +1824,307 @@ dialogs.select("请选择一个选项", ["选项A", "
|
||||
<li><code>callback</code> <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Function" class="type"><Function></a> 回调函数,可选。当用户点击确定时被调用,一般用于ui模式。</li>
|
||||
</ul>
|
||||
</div><p>显示一个多选列表对话框,等待用户选择,返回用户选择的选项索引的数组。如果用户取消了选择,返回<code>[]</code>。</p>
|
||||
<p>在ui模式下该函数返回一个<code>Promise</code>。
|
||||
<!-- [end-include:dialogs.md] --></p>
|
||||
<p>在ui模式下该函数返回一个<code>Promise</code>。</p>
|
||||
<h2>dialogs.build(properties)<span><a class="mark" href="#dialogs_dialogs_build_properties" id="dialogs_dialogs_build_properties">#</a></span></h2>
|
||||
<div class="signature"><ul>
|
||||
<li><code>properties</code> <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object" class="type"><Object></a> 对话框属性,用于配置对话框。</li>
|
||||
<li>返回 <span class="type"><Dialog></span></li>
|
||||
</ul>
|
||||
</div><p>创建一个可自定义的对话框,例如:</p>
|
||||
<pre><code>dialogs.build({
|
||||
//对话框标题
|
||||
title: "发现新版本",
|
||||
//对话框内容
|
||||
content: "更新日志: 新增了若干了BUG",
|
||||
//确定键内容
|
||||
positive: "下载",
|
||||
//取消键内容
|
||||
negative: "取消",
|
||||
//中性键内容
|
||||
neutral: "到浏览器下载",
|
||||
//勾选框内容
|
||||
checkBoxPrompt: "不再提示"
|
||||
}).on("positive", ()=>{
|
||||
//监听确定键
|
||||
toast("开始下载....");
|
||||
}).on("neutral", ()=>{
|
||||
//监听中性键
|
||||
app.openUrl("https://www.autojs.org");
|
||||
}).on("check", (checked)=>{
|
||||
//监听勾选框
|
||||
log(checked);
|
||||
}).show();
|
||||
</code></pre><p>选项properties可供配置的项目为:</p>
|
||||
<ul>
|
||||
<li><code>title</code> <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Data_structures#String_type" class="type"><string></a> 对话框标题</li>
|
||||
<li><code>titleColor</code> <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Data_structures#String_type" class="type"><string></a> | <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Data_structures#Number_type" class="type"><number></a> 对话框标题的颜色</li>
|
||||
<li><code>buttonRippleColor</code> <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Data_structures#String_type" class="type"><string></a> | <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Data_structures#Number_type" class="type"><number></a> 对话框按钮的波纹效果颜色</li>
|
||||
<li><code>icon</code> <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Data_structures#String_type" class="type"><string></a> | <span class="type"><Image></span> 对话框的图标,是一个URL或者图片对象 </li>
|
||||
<li><code>content</code> <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Data_structures#String_type" class="type"><string></a> 对话框文字内容 </li>
|
||||
<li><code>contentColor</code><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Data_structures#String_type" class="type"><string></a> | <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Data_structures#Number_type" class="type"><number></a> 对话框文字内容的颜色</li>
|
||||
<li><code>contentLineSpacing</code><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Data_structures#Number_type" class="type"><number></a> 对话框文字内容的行高倍数,1.0为一倍行高</li>
|
||||
<li><code>items</code> <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array" class="type"><Array></a> 对话框列表的选项</li>
|
||||
<li><code>itemsColor</code> <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Data_structures#String_type" class="type"><string></a> | <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Data_structures#Number_type" class="type"><number></a> 对话框列表的选项的文字颜色</li>
|
||||
<li><code>itemsSelectMode</code> <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Data_structures#String_type" class="type"><string></a> 对话框列表的选项选择模式,可以为:<ul>
|
||||
<li><code>select</code> 普通选择模式</li>
|
||||
<li><code>singleChoice</code> 单选模式</li>
|
||||
<li><code>multiChoice</code> 多选模式</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><code>itemsSelectedIndex</code> <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Data_structures#Number_type" class="type"><number></a> | <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array" class="type"><Array></a> 对话框列表中???</li>
|
||||
<li><code>positive</code> <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Data_structures#String_type" class="type"><string></a> 对话框确定按钮的文字内容(最右边按钮)</li>
|
||||
<li><code>positiveColor</code> <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Data_structures#String_type" class="type"><string></a> | <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Data_structures#Number_type" class="type"><number></a> 对话框确定按钮的文字颜色(最右边按钮)</li>
|
||||
<li><code>neutral</code> <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Data_structures#String_type" class="type"><string></a> 对话框中立按钮的文字内容(最左边按钮)</li>
|
||||
<li><code>neutralColor</code> <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Data_structures#String_type" class="type"><string></a> | <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Data_structures#Number_type" class="type"><number></a> 对话框中立按钮的文字颜色(最左边按钮)</li>
|
||||
<li><code>negative</code> <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Data_structures#String_type" class="type"><string></a> 对话框取消按钮的文字内容(确定按钮左边的按钮)</li>
|
||||
<li><code>negativeColor</code> <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Data_structures#String_type" class="type"><string></a> | <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Data_structures#Number_type" class="type"><number></a> 对话框取消按钮的文字颜色(确定按钮左边的按钮)</li>
|
||||
<li><code>checkBoxPrompt</code> <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Data_structures#String_type" class="type"><string></a> 勾选框文字内容</li>
|
||||
<li><code>checkBoxChecked</code> <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Data_structures#Boolean_type" class="type"><boolean></a> 勾选框是否勾选 </li>
|
||||
<li><code>progress</code> <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object" class="type"><Object></a> 配置对话框进度条的对象:<ul>
|
||||
<li><code>max</code> <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Data_structures#Number_type" class="type"><number></a> 进度条的最大值,如果为-1则为无限循环的进度条</li>
|
||||
<li><code>horizontal</code> <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Data_structures#Boolean_type" class="type"><boolean></a> 如果为true, 则对话框无限循环的进度条为水平进度条</li>
|
||||
<li><code>showMinMax</code> <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Data_structures#Boolean_type" class="type"><boolean></a> 是否显示进度条的最大值和最小值</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><code>cancelable</code> <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Data_structures#Boolean_type" class="type"><boolean></a> 对话框是否可取消,如果为false,则对话框只能用代码手动取消</li>
|
||||
<li><code>canceledOnTouchOutside</code> <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Data_structures#Boolean_type" class="type"><boolean></a> 对话框是否在点击对话框以外区域时自动取消,默认为true</li>
|
||||
<li><code>inputHint</code> <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Data_structures#String_type" class="type"><string></a> 对话框的输入框的输入提示</li>
|
||||
<li><code>inputPrefill</code> <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Data_structures#String_type" class="type"><string></a> 对话框输入框的默认输入内容</li>
|
||||
</ul>
|
||||
<p>通过这些选项可以自定义一个对话框,并通过监听返回的Dialog对象的按键、输入事件来实现交互。下面是一些例子。</p>
|
||||
<p>模拟alert对话框:</p>
|
||||
<pre><code>dialogs.build({
|
||||
title: "你好",
|
||||
content: "今天也要元气满满哦",
|
||||
positive: "好的"
|
||||
}).show();
|
||||
</code></pre><p>模拟confirm对话框:</p>
|
||||
<pre><code>dialogs.build({
|
||||
title: "你好",
|
||||
content: "请问你是笨蛋吗?",
|
||||
positive: "是的",
|
||||
negative: "我是大笨蛋"
|
||||
}).on("positive", ()=>{
|
||||
alert("哈哈哈笨蛋");
|
||||
}).on("negative", ()=>{
|
||||
alert("哈哈哈大笨蛋");
|
||||
}).show();
|
||||
</code></pre><p>模拟单选框:</p>
|
||||
<pre><code>dialogs.build({
|
||||
title: "单选",
|
||||
items: ["选项1", "选项2", "选项3", "选项4"],
|
||||
itemsSelectMode: "singleChoice",
|
||||
itemsSelectedIndex: 3
|
||||
}).on("item_select", (index, item)->{
|
||||
toast("您选择的是" + item);
|
||||
}).show();
|
||||
</code></pre><p>"处理中"对话框:</p>
|
||||
<pre><code>var d = dialogs.build({
|
||||
title: "下载中...",
|
||||
progress: {
|
||||
max: -1
|
||||
},
|
||||
cancelable: false
|
||||
}).show();
|
||||
|
||||
setTimeout(()=>{
|
||||
d.dismiss();
|
||||
}, 3000);
|
||||
</code></pre><p>输入对话框:</p>
|
||||
<pre><code>dialogs.build({
|
||||
title: "请输入您的年龄",
|
||||
inputPrefill: "18"
|
||||
}).on("input", (input)=>{
|
||||
var age = parseInt(input);
|
||||
toastLog(age);
|
||||
}).show();
|
||||
</code></pre><p>使用这个函数来构造对话框,一个明显的不同是需要使用回调函数而不能像dialogs其他函数一样同步地返回结果;但也可以通过threads模块的方法来实现。例如显示一个输入框并获取输入结果为:</p>
|
||||
<pre><code>var input = threads.disposable();
|
||||
dialogas.build({
|
||||
title: "请输入您的年龄",
|
||||
inputPrefill: "18"
|
||||
}).on("input", text => {
|
||||
input.setAndNotify(text);
|
||||
}).show();
|
||||
var age = parseInt(input.blockedGet());
|
||||
tosatLog(age);
|
||||
</code></pre><h1>Dialog<span><a class="mark" href="#dialogs_dialog" id="dialogs_dialog">#</a></span></h1>
|
||||
<p><code>dialogs.build()</code>返回的对话框对象,内置一些事件用于响应用户的交互,也可以获取对话框的状态和信息。</p>
|
||||
<h2>事件: <code>show</code><span><a class="mark" href="#dialogs_show" id="dialogs_show">#</a></span></h2>
|
||||
<div class="signature"><ul>
|
||||
<li><code>dialog</code> <span class="type"><Dialog></span> 对话框</li>
|
||||
</ul>
|
||||
</div><p>对话框显示时会触发的事件。例如:</p>
|
||||
<pre><code>dialogs.build({
|
||||
title: "标题"
|
||||
}).on("show", (dialog)=>{
|
||||
toast("对话框显示了");
|
||||
}).show();
|
||||
</code></pre><h2>事件: <code>cancel</code><span><a class="mark" href="#dialogs_cancel" id="dialogs_cancel">#</a></span></h2>
|
||||
<div class="signature"><ul>
|
||||
<li><code>dialog</code> <span class="type"><Dialog></span> 对话框</li>
|
||||
</ul>
|
||||
</div><p>对话框被取消时会触发的事件。一个对话框可能按取消按钮、返回键取消或者点击对话框以外区域取消。例如:</p>
|
||||
<pre><code>dialogs.build({
|
||||
title: "标题",
|
||||
positive: "确定",
|
||||
negative: "取消"
|
||||
}).on("cancel", (dialog)=>{
|
||||
toast("对话框取消了");
|
||||
}).show();
|
||||
</code></pre><h2>事件: <code>dismiss</code><span><a class="mark" href="#dialogs_dismiss" id="dialogs_dismiss">#</a></span></h2>
|
||||
<div class="signature"><ul>
|
||||
<li><code>dialog</code> <span class="type"><Dialog></span> 对话框</li>
|
||||
</ul>
|
||||
</div><p>对话框消失时会触发的事件。对话框被取消或者手动调用<code>dialog.dismiss()</code>函数都会触发该事件。例如:</p>
|
||||
<pre><code>var d = dialogs.build({
|
||||
title: "标题",
|
||||
positive: "确定",
|
||||
negative: "取消"
|
||||
}).on("dismiss", (dialog)=>{
|
||||
toast("对话框消失了");
|
||||
}).show();
|
||||
|
||||
setTimeout(()=>{
|
||||
d.dismiss();
|
||||
}, 5000);
|
||||
</code></pre><h2>事件: <code>positive</code><span><a class="mark" href="#dialogs_positive" id="dialogs_positive">#</a></span></h2>
|
||||
<div class="signature"><ul>
|
||||
<li><code>dialog</code> <span class="type"><Dialog></span> 对话框</li>
|
||||
</ul>
|
||||
</div><p>确定按钮按下时触发的事件。例如:</p>
|
||||
<pre><code>var d = dialogs.build({
|
||||
title: "标题",
|
||||
positive: "确定",
|
||||
negative: "取消"
|
||||
}).on("positive", (dialog)=>{
|
||||
toast("你点击了确定");
|
||||
}).show();
|
||||
</code></pre><h2>事件: <code>negative</code><span><a class="mark" href="#dialogs_negative" id="dialogs_negative">#</a></span></h2>
|
||||
<div class="signature"><ul>
|
||||
<li><code>dialog</code> <span class="type"><Dialog></span> 对话框</li>
|
||||
</ul>
|
||||
</div><p>取消按钮按下时触发的事件。例如:</p>
|
||||
<pre><code>var d = dialogs.build({
|
||||
title: "标题",
|
||||
positive: "确定",
|
||||
negative: "取消"
|
||||
}).on("negative", (dialog)=>{
|
||||
toast("你点击了取消");
|
||||
}).show();
|
||||
</code></pre><h2>事件: <code>neutral</code><span><a class="mark" href="#dialogs_neutral" id="dialogs_neutral">#</a></span></h2>
|
||||
<div class="signature"><ul>
|
||||
<li><code>dialog</code> <span class="type"><Dialog></span> 对话框</li>
|
||||
</ul>
|
||||
</div><p>中性按钮按下时触发的事件。例如:</p>
|
||||
<pre><code>var d = dialogs.build({
|
||||
title: "标题",
|
||||
positive: "确定",
|
||||
negative: "取消",
|
||||
neutral: "稍后提示"
|
||||
}).on("positive", (dialog)=>{
|
||||
toast("你点击了稍后提示");
|
||||
}).show();
|
||||
</code></pre><h2>事件: <code>any</code><span><a class="mark" href="#dialogs_any" id="dialogs_any">#</a></span></h2>
|
||||
<div class="signature"><ul>
|
||||
<li><code>dialog</code> <span class="type"><Dialog></span> 对话框</li>
|
||||
<li><code>action</code> <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Data_structures#String_type" class="type"><string></a> 被点击的按钮,可能的值为:<ul>
|
||||
<li><code>positive</code> 确定按钮 </li>
|
||||
<li><code>negative</code> 取消按钮</li>
|
||||
<li><code>neutral</code> 中性按钮</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</div><p>任意按钮按下时触发的事件。例如:</p>
|
||||
<pre><code>var d = dialogs.build({
|
||||
title: "标题",
|
||||
positive: "确定",
|
||||
negative: "取消",
|
||||
neutral: "稍后提示"
|
||||
}).on("any", (action, dialog)=>{
|
||||
if(action == "positive"){
|
||||
toast("你点击了确定");
|
||||
}else if(action == "negative"){
|
||||
toast("你点击了取消");
|
||||
}
|
||||
}).show();
|
||||
</code></pre><h2>事件: <code>item_select</code><span><a class="mark" href="#dialogs_item_select" id="dialogs_item_select">#</a></span></h2>
|
||||
<div class="signature"><ul>
|
||||
<li><code>index</code> <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Data_structures#Number_type" class="type"><number></a> 被选中的项目索引,从0开始</li>
|
||||
<li><code>item</code> <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object" class="type"><Object></a> 被选中的项目</li>
|
||||
<li><code>dialog</code> <span class="type"><Dialog></span> 对话框</li>
|
||||
</ul>
|
||||
</div><p>对话框列表(itemsSelectMode为"select")的项目被点击选中时触发的事件。例如:</p>
|
||||
<pre><code>var d = dialogs.build({
|
||||
title: "请选择",
|
||||
positive: "确定",
|
||||
negative: "取消",
|
||||
items: ["A", "B", "C", "D"],
|
||||
itemsSelectMode: "select"
|
||||
}).on("item_select", (index, item, dialog)=>{
|
||||
toast("您选择的是第" + (index + 1) + "项, 选项为" + item);
|
||||
}).show();
|
||||
</code></pre><h2>事件: <code>single_choice</code><span><a class="mark" href="#dialogs_single_choice" id="dialogs_single_choice">#</a></span></h2>
|
||||
<div class="signature"><ul>
|
||||
<li><code>index</code> <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Data_structures#Number_type" class="type"><number></a> 被选中的项目索引,从0开始</li>
|
||||
<li><code>item</code> <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object" class="type"><Object></a> 被选中的项目</li>
|
||||
<li><code>dialog</code> <span class="type"><Dialog></span> 对话框</li>
|
||||
</ul>
|
||||
</div><p>对话框单选列表(itemsSelectMode为"singleChoice")的项目被选中并点击确定时触发的事件。例如:</p>
|
||||
<pre><code>var d = dialogs.build({
|
||||
title: "请选择",
|
||||
positive: "确定",
|
||||
negative: "取消",
|
||||
items: ["A", "B", "C", "D"],
|
||||
itemsSelectMode: "singleChoice"
|
||||
}).on("item_select", (index, item, dialog)=>{
|
||||
toast("您选择的是第" + (index + 1) + "项, 选项为" + item);
|
||||
}).show();
|
||||
</code></pre><h2>事件: <code>multi_choice</code><span><a class="mark" href="#dialogs_multi_choice" id="dialogs_multi_choice">#</a></span></h2>
|
||||
<div class="signature"><ul>
|
||||
<li><code>indices</code> <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array" class="type"><Array></a> 被选中的项目的索引的数组</li>
|
||||
<li><code>items</code> <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array" class="type"><Array></a> 被选中的项目的数组</li>
|
||||
<li><code>dialog</code> <span class="type"><Dialog></span> 对话框</li>
|
||||
</ul>
|
||||
</div><p>对话框多选列表(itemsSelectMode为"multiChoice")的项目被选中并点击确定时触发的事件。例如:</p>
|
||||
<pre><code>var d = dialogs.build({
|
||||
title: "请选择",
|
||||
positive: "确定",
|
||||
negative: "取消",
|
||||
items: ["A", "B", "C", "D"],
|
||||
itemsSelectMode: "multiChoice"
|
||||
}).on("item_select", (indices, items, dialog)=>{
|
||||
toast(util.format("您选择的项目为%o, 选项为%o", indices, items);
|
||||
}).show();
|
||||
</code></pre><h2>事件: <code>input</code><span><a class="mark" href="#dialogs_input" id="dialogs_input">#</a></span></h2>
|
||||
<div class="signature"><ul>
|
||||
<li><code>text</code> <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Data_structures#String_type" class="type"><string></a> 输入框的内容</li>
|
||||
<li><code>dialog</code> <span class="type"><Dialog></span> 对话框</li>
|
||||
</ul>
|
||||
</div><p>带有输入框的对话框当点击确定时会触发的事件。例如:</p>
|
||||
<pre><code>dialogs.build({
|
||||
title: "请输入",
|
||||
positive: "确定",
|
||||
negative: "取消",
|
||||
inputPrefill: ""
|
||||
}).on("input", (text, dialog)=>{
|
||||
toast("你输入的是" + text);
|
||||
}).show();
|
||||
</code></pre><h2>事件: <code>input_change</code><span><a class="mark" href="#dialogs_input_change" id="dialogs_input_change">#</a></span></h2>
|
||||
<div class="signature"><ul>
|
||||
<li><code>text</code> <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Data_structures#String_type" class="type"><string></a> 输入框的内容</li>
|
||||
<li><code>dialog</code> <span class="type"><Dialog></span> 对话框</li>
|
||||
</ul>
|
||||
</div><p>对话框的输入框的文本发生变化时会触发的事件。例如:</p>
|
||||
<pre><code>dialogs.build({
|
||||
title: "请输入",
|
||||
positive: "确定",
|
||||
negative: "取消",
|
||||
inputPrefill: ""
|
||||
}).on("input_change", (text, dialog)=>{
|
||||
toast("你输入的是" + text);
|
||||
}).show();
|
||||
</code></pre><!-- [end-include:dialogs.md] -->
|
||||
<!-- [start-include:engines.md] -->
|
||||
<h1>Engines<span><a class="mark" href="#engines_engines" id="engines_engines">#</a></span></h1>
|
||||
<div class="api_stability api_stability_2"><a href="documentation.html#documentation_stability_index">Stability: 2</a> - Stable</div><p>engines模块包含了一些与脚本环境、脚本运行、脚本引擎有关的函数,包括运行其他脚本,关闭脚本等。</p>
|
||||
@ -2404,6 +2746,7 @@ setInterval(()=>{}, 1000);
|
||||
<li><code>layout</code> <span class="type"><xml></span> | <span class="type"><View></span> 悬浮窗界面的XML或者View</li>
|
||||
</ul>
|
||||
</div><p>指定悬浮窗的布局,创建并<strong>显示</strong>一个悬浮窗,返回一个<code>FloatyWindow</code>对象。</p>
|
||||
<p>该悬浮窗自带关闭、调整大小、调整位置按键,可根据需要调用<code>setAdjustEnabled()</code>函数来显示或隐藏。</p>
|
||||
<p>其中layout参数可以是xml布局或者一个View,更多信息参见ui模块的说明。</p>
|
||||
<p>例子:</p>
|
||||
<pre><code>var w = floaty.window(
|
||||
@ -2419,40 +2762,116 @@ setTimeout(()=>{
|
||||
<pre><code>ui.run(function(){
|
||||
w.text.setText("文本");
|
||||
});
|
||||
</code></pre><h2>floaty.closeAll()<span><a class="mark" href="#floaty_floaty_closeall" id="floaty_floaty_closeall">#</a></span></h2>
|
||||
</code></pre><p>有关返回的<code>FloatyWindow</code>对象的说明,参见下面的<code>FloatyWindow</code>章节。</p>
|
||||
<h2>floaty.rawWindow(layout)<span><a class="mark" href="#floaty_floaty_rawwindow_layout" id="floaty_floaty_rawwindow_layout">#</a></span></h2>
|
||||
<div class="signature"><ul>
|
||||
<li><code>layout</code> <span class="type"><xml></span> | <span class="type"><View></span> 悬浮窗界面的XML或者View</li>
|
||||
</ul>
|
||||
</div><p>指定悬浮窗的布局,创建并<strong>显示</strong>一个原始悬浮窗,返回一个<code>FloatyRawWindow</code>对象。</p>
|
||||
<p>与<code>floaty.window()</code>函数不同的是,该悬浮窗不会增加任何额外设施(例如调整大小、位置按钮),您可以根据自己需要编写任何布局。</p>
|
||||
<p>而且,该悬浮窗支持完全全屏,可以覆盖状态栏,因此可以做护眼模式之类的应用。</p>
|
||||
<pre><code>var w = floaty.rawWindow(
|
||||
<frame gravity="center">
|
||||
<text id="text">悬浮文字</text>
|
||||
</frame>
|
||||
);
|
||||
|
||||
w.setPosition(500, 500);
|
||||
|
||||
setTimeout(()=>{
|
||||
w.close();
|
||||
}, 2000);
|
||||
</code></pre><p>这段代码运行后将会在屏幕上显示悬浮文字,并在两秒后消失。</p>
|
||||
<p>有关返回的<code>FloatyRawWindow</code>对象的说明,参见下面的<code>FloatyRawWindow</code>章节。</p>
|
||||
<h2>floaty.closeAll()<span><a class="mark" href="#floaty_floaty_closeall" id="floaty_floaty_closeall">#</a></span></h2>
|
||||
<p>关闭所有本脚本的悬浮窗。</p>
|
||||
<h1>FloatyWindow<span><a class="mark" href="#floaty_floatywindow" id="floaty_floatywindow">#</a></span></h1>
|
||||
<p>悬浮窗对象,可通过<code>FloatyWindow.{id}</code>获取悬浮窗界面上的元素。例如, 悬浮窗window上一个控件的id为aaa, 那么<code>window.aaa</code>即可获取到该控件,类似于ui。</p>
|
||||
<h2>FloatyWindow.setAdjustEnabled(enabled)<span><a class="mark" href="#floaty_floatywindow_setadjustenabled_enabled" id="floaty_floatywindow_setadjustenabled_enabled">#</a></span></h2>
|
||||
<h2>window.setAdjustEnabled(enabled)<span><a class="mark" href="#floaty_window_setadjustenabled_enabled" id="floaty_window_setadjustenabled_enabled">#</a></span></h2>
|
||||
<div class="signature"><ul>
|
||||
<li><code>enabled</code> <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Data_structures#Boolean_type" class="type"><boolean></a> 是否启用悬浮窗调整(大小、位置)</li>
|
||||
</ul>
|
||||
</div><p>如果enabled为true,则在悬浮窗左上角、右上角显示可供位置、大小调整的标示,就像控制台一样;
|
||||
如果enabled为false,则隐藏上述标示。</p>
|
||||
<h2>FloatyWindow.setPosition(x, y)<span><a class="mark" href="#floaty_floatywindow_setposition_x_y" id="floaty_floatywindow_setposition_x_y">#</a></span></h2>
|
||||
<h2>window.setPosition(x, y)<span><a class="mark" href="#floaty_window_setposition_x_y" id="floaty_window_setposition_x_y">#</a></span></h2>
|
||||
<div class="signature"><ul>
|
||||
<li><code>x</code> <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Data_structures#Number_type" class="type"><number></a> x</li>
|
||||
<li><code>x</code> <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Data_structures#Number_type" class="type"><number></a> y</li>
|
||||
</ul>
|
||||
</div><p>设置悬浮窗位置。</p>
|
||||
<h2>FloatyWindow.getX()<span><a class="mark" href="#floaty_floatywindow_getx" id="floaty_floatywindow_getx">#</a></span></h2>
|
||||
<h2>window.getX()<span><a class="mark" href="#floaty_window_getx" id="floaty_window_getx">#</a></span></h2>
|
||||
<p>返回悬浮窗位置的X坐标。</p>
|
||||
<h2>FloatyWindow.getY()<span><a class="mark" href="#floaty_floatywindow_gety" id="floaty_floatywindow_gety">#</a></span></h2>
|
||||
<h2>window.getY()<span><a class="mark" href="#floaty_window_gety" id="floaty_window_gety">#</a></span></h2>
|
||||
<p>返回悬浮窗位置的Y坐标。</p>
|
||||
<h2>FloatyWindow.setSize(width, height)<span><a class="mark" href="#floaty_floatywindow_setsize_width_height" id="floaty_floatywindow_setsize_width_height">#</a></span></h2>
|
||||
<h2>window.setSize(width, height)<span><a class="mark" href="#floaty_window_setsize_width_height" id="floaty_window_setsize_width_height">#</a></span></h2>
|
||||
<div class="signature"><ul>
|
||||
<li><code>width</code> <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Data_structures#Number_type" class="type"><number></a> 宽度</li>
|
||||
<li><code>height</code> <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Data_structures#Number_type" class="type"><number></a> 高度</li>
|
||||
</ul>
|
||||
</div><p>设置悬浮窗宽高。</p>
|
||||
<h2>FloatyWindow.getWidht()<span><a class="mark" href="#floaty_floatywindow_getwidht" id="floaty_floatywindow_getwidht">#</a></span></h2>
|
||||
<h2>window.getWidht()<span><a class="mark" href="#floaty_window_getwidht" id="floaty_window_getwidht">#</a></span></h2>
|
||||
<p>返回悬浮窗宽度。</p>
|
||||
<h2>FloatyWindow.getHeight()<span><a class="mark" href="#floaty_floatywindow_getheight" id="floaty_floatywindow_getheight">#</a></span></h2>
|
||||
<h2>window.getHeight()<span><a class="mark" href="#floaty_window_getheight" id="floaty_window_getheight">#</a></span></h2>
|
||||
<p>返回悬浮窗高度。</p>
|
||||
<h2>FloatyWindow.close()<span><a class="mark" href="#floaty_floatywindow_close" id="floaty_floatywindow_close">#</a></span></h2>
|
||||
<h2>window.close()<span><a class="mark" href="#floaty_window_close" id="floaty_window_close">#</a></span></h2>
|
||||
<p>关闭悬浮窗。如果悬浮窗已经是关闭状态,则此函数将不执行任何操作。</p>
|
||||
<p>被关闭后的悬浮窗不能再显示。</p>
|
||||
<h2>FloatyWindow.exitOnClose()<span><a class="mark" href="#floaty_floatywindow_exitonclose" id="floaty_floatywindow_exitonclose">#</a></span></h2>
|
||||
<h2>window.exitOnClose()<span><a class="mark" href="#floaty_window_exitonclose" id="floaty_window_exitonclose">#</a></span></h2>
|
||||
<p>使悬浮窗被关闭时自动结束脚本运行。</p>
|
||||
<h1>FloatyRawWindow<span><a class="mark" href="#floaty_floatyrawwindow" id="floaty_floatyrawwindow">#</a></span></h1>
|
||||
<p>原始悬浮窗对象,可通过<code>window.{id}</code>获取悬浮窗界面上的元素。例如, 悬浮窗window上一个控件的id为aaa, 那么<code>window.aaa</code>即可获取到该控件,类似于ui。</p>
|
||||
<h2>window.setTouchable(touchable)<span><a class="mark" href="#floaty_window_settouchable_touchable" id="floaty_window_settouchable_touchable">#</a></span></h2>
|
||||
<div class="signature"><ul>
|
||||
<li><code>touchable</code> <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Data_structures#Boolean_type" class="type"><Boolean></a> 是否可触摸</li>
|
||||
</ul>
|
||||
</div><p>设置悬浮窗是否可触摸,如果为true, 则悬浮窗将接收到触摸、点击等事件并且无法继续传递到悬浮窗下面;如果为false, 悬浮窗上的触摸、点击等事件将被直接传递到悬浮窗下面。处于安全考虑,被悬浮窗接收的触摸事情无法再继续传递到下层。</p>
|
||||
<p>可以用此特性来制作护眼模式脚本。</p>
|
||||
<pre><code>var w = floaty.rawWindow(
|
||||
<frame gravity="center" bg="#44ffcc00"/>
|
||||
);
|
||||
|
||||
w.setSize(-1, -1);
|
||||
w.setTouchable(false);
|
||||
|
||||
setTimeout(()=>{
|
||||
w.close();
|
||||
}, 4000);
|
||||
</code></pre><h2>window.setPosition(x, y)<span><a class="mark" href="#floaty_window_setposition_x_y_1" id="floaty_window_setposition_x_y_1">#</a></span></h2>
|
||||
<div class="signature"><ul>
|
||||
<li><code>x</code> <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Data_structures#Number_type" class="type"><number></a> x</li>
|
||||
<li><code>x</code> <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Data_structures#Number_type" class="type"><number></a> y</li>
|
||||
</ul>
|
||||
</div><p>设置悬浮窗位置。</p>
|
||||
<h2>window.getX()<span><a class="mark" href="#floaty_window_getx_1" id="floaty_window_getx_1">#</a></span></h2>
|
||||
<p>返回悬浮窗位置的X坐标。</p>
|
||||
<h2>window.getY()<span><a class="mark" href="#floaty_window_gety_1" id="floaty_window_gety_1">#</a></span></h2>
|
||||
<p>返回悬浮窗位置的Y坐标。</p>
|
||||
<h2>window.setSize(width, height)<span><a class="mark" href="#floaty_window_setsize_width_height_1" id="floaty_window_setsize_width_height_1">#</a></span></h2>
|
||||
<div class="signature"><ul>
|
||||
<li><code>width</code> <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Data_structures#Number_type" class="type"><number></a> 宽度</li>
|
||||
<li><code>height</code> <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Data_structures#Number_type" class="type"><number></a> 高度</li>
|
||||
</ul>
|
||||
</div><p>设置悬浮窗宽高。</p>
|
||||
<p>特别地,如果设置为-1,则为占满全屏;设置为-2则为根据悬浮窗内容大小而定。例如:</p>
|
||||
<pre><code>var w = floaty.rawWindow(
|
||||
<frame gravity="center" bg="#77ff0000">
|
||||
<text id="text">悬浮文字</text>
|
||||
</frame>
|
||||
);
|
||||
|
||||
w.setSize(-1, -1);
|
||||
|
||||
setTimeout(()=>{
|
||||
w.close();
|
||||
}, 2000);
|
||||
</code></pre><h2>window.getWidht()<span><a class="mark" href="#floaty_window_getwidht_1" id="floaty_window_getwidht_1">#</a></span></h2>
|
||||
<p>返回悬浮窗宽度。</p>
|
||||
<h2>window.getHeight()<span><a class="mark" href="#floaty_window_getheight_1" id="floaty_window_getheight_1">#</a></span></h2>
|
||||
<p>返回悬浮窗高度。</p>
|
||||
<h2>window.close()<span><a class="mark" href="#floaty_window_close_1" id="floaty_window_close_1">#</a></span></h2>
|
||||
<p>关闭悬浮窗。如果悬浮窗已经是关闭状态,则此函数将不执行任何操作。</p>
|
||||
<p>被关闭后的悬浮窗不能再显示。</p>
|
||||
<h2>window.exitOnClose()<span><a class="mark" href="#floaty_window_exitonclose_1" id="floaty_window_exitonclose_1">#</a></span></h2>
|
||||
<p>使悬浮窗被关闭时自动结束脚本运行。</p>
|
||||
<!-- [end-include:floaty.md] -->
|
||||
<!-- [start-include:files.md] -->
|
||||
@ -2842,6 +3261,20 @@ for(var i = 0; i < 100; i++){
|
||||
<p>调用该函数时会判断运行脚本的Auto.js的版本号,如果没有达到要求则抛出异常。</p>
|
||||
<p>version参数可以是整数表示版本号,例如<code>requiresAutojsVersion(250)</code>;也可以是字符串格式表示的版本,例如"3.0.0 Beta", "3.1.0 Alpha4", "3.2.0"等。</p>
|
||||
<p>可以通过<code>app.autojs.versionCode</code>和<code>app.autojs.versionName</code>获取当前的Auto.js版本号和版本。</p>
|
||||
<h2>runtime.requestPermissions(permissions)<span><a class="mark" href="#globals_runtime_requestpermissions_permissions" id="globals_runtime_requestpermissions_permissions">#</a></span></h2>
|
||||
<div class="signature"><ul>
|
||||
<li><code>permissions</code> <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array" class="type"><Array></a> 权限的字符串数组</li>
|
||||
</ul>
|
||||
</div><p>动态申请安卓的权限。例如:</p>
|
||||
<pre><code>//请求GPS权限
|
||||
runtime.requestPermission(["access_fine_location"]);
|
||||
</code></pre><p>尽管安卓有很多权限,但必须写入Manifest才能动态申请,为了防止权限的滥用,目前Auto.js只能额外申请两个权限:</p>
|
||||
<ul>
|
||||
<li><code>access_fine_location</code> GPS权限</li>
|
||||
<li><code>record_audio</code> 录音权限</li>
|
||||
</ul>
|
||||
<p>您可以通过APK编辑器来增加Auto.js以及Auto.js打包的应用的权限。</p>
|
||||
<p>安卓所有的权限列表参见<a href="https://developer.android.com/guide/topics/permissions/overview">Permissions Overview</a>。(并没有用)</p>
|
||||
<h2>context<span><a class="mark" href="#globals_context" id="globals_context">#</a></span></h2>
|
||||
<p>全局变量。一个android.content.Context对象。</p>
|
||||
<p>注意该对象为ApplicationContext,因此不能用于界面、对话框等的创建。
|
||||
@ -3128,7 +3561,31 @@ for(var headerName in res.headers){
|
||||
</div><p>返回两个颜色是否相等。<em>*注意该函数会忽略Alpha通道的值进行比较</em>。</p>
|
||||
<pre><code>log(colors.equals("#112233", "#112234"));
|
||||
log(colors.equals(0xFF112233, 0xFF223344));
|
||||
</code></pre><h1>Images<span><a class="mark" href="#images_images" id="images_images">#</a></span></h1>
|
||||
</code></pre><h1>colors.BLACK<span><a class="mark" href="#images_colors_black" id="images_colors_black">#</a></span></h1>
|
||||
<p>黑色,颜色值 #FF000000</p>
|
||||
<h1>colors.DKGRAY<span><a class="mark" href="#images_colors_dkgray" id="images_colors_dkgray">#</a></span></h1>
|
||||
<p>深灰色,颜色值 #FF444444</p>
|
||||
<h1>colors.GRAY<span><a class="mark" href="#images_colors_gray" id="images_colors_gray">#</a></span></h1>
|
||||
<p>灰色,颜色值 #FF888888</p>
|
||||
<h1>colors.LTGRAY<span><a class="mark" href="#images_colors_ltgray" id="images_colors_ltgray">#</a></span></h1>
|
||||
<p>亮灰色,颜色值 #FFCCCCCC</p>
|
||||
<h1>colors.WHITE<span><a class="mark" href="#images_colors_white" id="images_colors_white">#</a></span></h1>
|
||||
<p>白色,颜色值 #FFFFFFFF</p>
|
||||
<h1>colors.RED<span><a class="mark" href="#images_colors_red" id="images_colors_red">#</a></span></h1>
|
||||
<p>红色,颜色值 #FFFF0000</p>
|
||||
<h1>colors.GREEN<span><a class="mark" href="#images_colors_green" id="images_colors_green">#</a></span></h1>
|
||||
<p>绿色,颜色值 #FF00FF00</p>
|
||||
<h1>colors.BLUE<span><a class="mark" href="#images_colors_blue" id="images_colors_blue">#</a></span></h1>
|
||||
<p>蓝色,颜色值 #FF0000FF</p>
|
||||
<h1>colors.YELLOW<span><a class="mark" href="#images_colors_yellow" id="images_colors_yellow">#</a></span></h1>
|
||||
<p>黄色,颜色值 #FFFFFF00</p>
|
||||
<h1>colors.CYAN<span><a class="mark" href="#images_colors_cyan" id="images_colors_cyan">#</a></span></h1>
|
||||
<p>青色,颜色值 #FF00FFFF</p>
|
||||
<h1>colors.MAGENTA<span><a class="mark" href="#images_colors_magenta" id="images_colors_magenta">#</a></span></h1>
|
||||
<p>品红色,颜色值 #FFFF00FF</p>
|
||||
<h1>colors.TRANSPARENT<span><a class="mark" href="#images_colors_transparent" id="images_colors_transparent">#</a></span></h1>
|
||||
<p>透明,颜色值 #00000000</p>
|
||||
<h1>Images<span><a class="mark" href="#images_images" id="images_images">#</a></span></h1>
|
||||
<div class="api_stability api_stability_2"><a href="documentation.html#documentation_stability_index">Stability: 2</a> - Stable</div><p>images模块提供了一些手机设备中常见的图片处理函数,包括截图、读写图片、图片剪裁、找色、找图等。</p>
|
||||
<h2>images.requestScreenCapture([landscape])<span><a class="mark" href="#images_images_requestscreencapture_landscape" id="images_images_requestscreencapture_landscape">#</a></span></h2>
|
||||
<div class="signature"><ul>
|
||||
@ -3183,9 +3640,15 @@ toast(colors.toString(color));
|
||||
</div><p>返回图片image在点(x, y)处的像素的ARGB值。 </p>
|
||||
<p>该值的格式为0xAARRGGBB,是一个"32位整数"(虽然JavaScript中并不区分整数类型和其他数值类型)。</p>
|
||||
<p>坐标系以图片左上角为原点。以图片左侧边为y轴,上侧边为x轴。</p>
|
||||
<h2>images.copy(img)<span><a class="mark" href="#images_images_copy_img" id="images_images_copy_img">#</a></span></h2>
|
||||
<div class="signature"><ul>
|
||||
<li><code>img</code> <span class="type"><Image></span> 图片</li>
|
||||
<li>返回 <span class="type"><Image></span></li>
|
||||
</ul>
|
||||
</div><p>复制一张图片并返回新的副本。该函数会完全复制img对象的数据。</p>
|
||||
<h2>images.save(image, path[, format = "png", quality = 100])<span><a class="mark" href="#images_images_save_image_path_format_png_quality_100" id="images_images_save_image_path_format_png_quality_100">#</a></span></h2>
|
||||
<div class="signature"><ul>
|
||||
<li><code>image</code> <span class="type"><image></span> 图片</li>
|
||||
<li><code>image</code> <span class="type"><Image></span> 图片</li>
|
||||
<li><code>path</code> <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Data_structures#String_type" class="type"><string></a> 路径</li>
|
||||
<li><code>format</code> <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Data_structures#String_type" class="type"><string></a> 图片格式,可选的值为:<ul>
|
||||
<li><code>png</code></li>
|
||||
|
||||
@ -74,7 +74,11 @@
|
||||
<div id="toc">
|
||||
<h2>目录</h2>
|
||||
<ul>
|
||||
<li><span class="stability_undefined"><a href="#canvas_canvas">Canvas</a></span></li>
|
||||
<li><span class="stability_undefined"><a href="#canvas_canvas">Canvas</a></span><ul>
|
||||
<li><span class="stability_undefined"><a href="#canvas_canvas_drawargb_a_r_g_b">canvas.drawARGB(a, r, g, b)</a></span></li>
|
||||
<li><span class="stability_undefined"><a href="#canvas_canvas_draw">canvas.draw</a></span></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
</div>
|
||||
@ -100,7 +104,10 @@ paint.setStyle(Paint.STYLE.STROKE);
|
||||
paint.setColor(colors.RED);
|
||||
//绘制一个从坐标(0, 0)到坐标(100, 100)的正方形
|
||||
canvas.drawRect(0, 0, 100, 100, paint);
|
||||
</code></pre>
|
||||
</code></pre><p>结合画笔canvas可以绘制基本图形、图片等。</p>
|
||||
<h2>canvas.drawARGB(a, r, g, b)<span><a class="mark" href="#canvas_canvas_drawargb_a_r_g_b" id="canvas_canvas_drawargb_a_r_g_b">#</a></span></h2>
|
||||
<h2>canvas.draw<span><a class="mark" href="#canvas_canvas_draw" id="canvas_canvas_draw">#</a></span></h2>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@ -83,6 +83,22 @@
|
||||
<li><span class="stability_undefined"><a href="#dialogs_dialogs_select_title_items_callback">dialogs.select(title, items, callback)</a></span></li>
|
||||
<li><span class="stability_undefined"><a href="#dialogs_dialogs_singlechoice_title_items_index_callback">dialogs.singleChoice(title, items[, index, callback])</a></span></li>
|
||||
<li><span class="stability_undefined"><a href="#dialogs_dialogs_multichoice_title_items_indices_callback">dialogs.multiChoice(title, items[, indices, callback])</a></span></li>
|
||||
<li><span class="stability_undefined"><a href="#dialogs_dialogs_build_properties">dialogs.build(properties)</a></span></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><span class="stability_undefined"><a href="#dialogs_dialog">Dialog</a></span><ul>
|
||||
<li><span class="stability_undefined"><a href="#dialogs_show">事件: <code>show</code></a></span></li>
|
||||
<li><span class="stability_undefined"><a href="#dialogs_cancel">事件: <code>cancel</code></a></span></li>
|
||||
<li><span class="stability_undefined"><a href="#dialogs_dismiss">事件: <code>dismiss</code></a></span></li>
|
||||
<li><span class="stability_undefined"><a href="#dialogs_positive">事件: <code>positive</code></a></span></li>
|
||||
<li><span class="stability_undefined"><a href="#dialogs_negative">事件: <code>negative</code></a></span></li>
|
||||
<li><span class="stability_undefined"><a href="#dialogs_neutral">事件: <code>neutral</code></a></span></li>
|
||||
<li><span class="stability_undefined"><a href="#dialogs_any">事件: <code>any</code></a></span></li>
|
||||
<li><span class="stability_undefined"><a href="#dialogs_item_select">事件: <code>item_select</code></a></span></li>
|
||||
<li><span class="stability_undefined"><a href="#dialogs_single_choice">事件: <code>single_choice</code></a></span></li>
|
||||
<li><span class="stability_undefined"><a href="#dialogs_multi_choice">事件: <code>multi_choice</code></a></span></li>
|
||||
<li><span class="stability_undefined"><a href="#dialogs_input">事件: <code>input</code></a></span></li>
|
||||
<li><span class="stability_undefined"><a href="#dialogs_input_change">事件: <code>input_change</code></a></span></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
@ -213,7 +229,306 @@ dialogs.select("请选择一个选项", ["选项A", "
|
||||
</ul>
|
||||
</div><p>显示一个多选列表对话框,等待用户选择,返回用户选择的选项索引的数组。如果用户取消了选择,返回<code>[]</code>。</p>
|
||||
<p>在ui模式下该函数返回一个<code>Promise</code>。</p>
|
||||
<h2>dialogs.build(properties)<span><a class="mark" href="#dialogs_dialogs_build_properties" id="dialogs_dialogs_build_properties">#</a></span></h2>
|
||||
<div class="signature"><ul>
|
||||
<li><code>properties</code> <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object" class="type"><Object></a> 对话框属性,用于配置对话框。</li>
|
||||
<li>返回 <span class="type"><Dialog></span></li>
|
||||
</ul>
|
||||
</div><p>创建一个可自定义的对话框,例如:</p>
|
||||
<pre><code>dialogs.build({
|
||||
//对话框标题
|
||||
title: "发现新版本",
|
||||
//对话框内容
|
||||
content: "更新日志: 新增了若干了BUG",
|
||||
//确定键内容
|
||||
positive: "下载",
|
||||
//取消键内容
|
||||
negative: "取消",
|
||||
//中性键内容
|
||||
neutral: "到浏览器下载",
|
||||
//勾选框内容
|
||||
checkBoxPrompt: "不再提示"
|
||||
}).on("positive", ()=>{
|
||||
//监听确定键
|
||||
toast("开始下载....");
|
||||
}).on("neutral", ()=>{
|
||||
//监听中性键
|
||||
app.openUrl("https://www.autojs.org");
|
||||
}).on("check", (checked)=>{
|
||||
//监听勾选框
|
||||
log(checked);
|
||||
}).show();
|
||||
</code></pre><p>选项properties可供配置的项目为:</p>
|
||||
<ul>
|
||||
<li><code>title</code> <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Data_structures#String_type" class="type"><string></a> 对话框标题</li>
|
||||
<li><code>titleColor</code> <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Data_structures#String_type" class="type"><string></a> | <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Data_structures#Number_type" class="type"><number></a> 对话框标题的颜色</li>
|
||||
<li><code>buttonRippleColor</code> <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Data_structures#String_type" class="type"><string></a> | <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Data_structures#Number_type" class="type"><number></a> 对话框按钮的波纹效果颜色</li>
|
||||
<li><code>icon</code> <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Data_structures#String_type" class="type"><string></a> | <span class="type"><Image></span> 对话框的图标,是一个URL或者图片对象 </li>
|
||||
<li><code>content</code> <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Data_structures#String_type" class="type"><string></a> 对话框文字内容 </li>
|
||||
<li><code>contentColor</code><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Data_structures#String_type" class="type"><string></a> | <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Data_structures#Number_type" class="type"><number></a> 对话框文字内容的颜色</li>
|
||||
<li><code>contentLineSpacing</code><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Data_structures#Number_type" class="type"><number></a> 对话框文字内容的行高倍数,1.0为一倍行高</li>
|
||||
<li><code>items</code> <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array" class="type"><Array></a> 对话框列表的选项</li>
|
||||
<li><code>itemsColor</code> <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Data_structures#String_type" class="type"><string></a> | <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Data_structures#Number_type" class="type"><number></a> 对话框列表的选项的文字颜色</li>
|
||||
<li><code>itemsSelectMode</code> <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Data_structures#String_type" class="type"><string></a> 对话框列表的选项选择模式,可以为:<ul>
|
||||
<li><code>select</code> 普通选择模式</li>
|
||||
<li><code>singleChoice</code> 单选模式</li>
|
||||
<li><code>multiChoice</code> 多选模式</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><code>itemsSelectedIndex</code> <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Data_structures#Number_type" class="type"><number></a> | <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array" class="type"><Array></a> 对话框列表中???</li>
|
||||
<li><code>positive</code> <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Data_structures#String_type" class="type"><string></a> 对话框确定按钮的文字内容(最右边按钮)</li>
|
||||
<li><code>positiveColor</code> <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Data_structures#String_type" class="type"><string></a> | <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Data_structures#Number_type" class="type"><number></a> 对话框确定按钮的文字颜色(最右边按钮)</li>
|
||||
<li><code>neutral</code> <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Data_structures#String_type" class="type"><string></a> 对话框中立按钮的文字内容(最左边按钮)</li>
|
||||
<li><code>neutralColor</code> <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Data_structures#String_type" class="type"><string></a> | <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Data_structures#Number_type" class="type"><number></a> 对话框中立按钮的文字颜色(最左边按钮)</li>
|
||||
<li><code>negative</code> <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Data_structures#String_type" class="type"><string></a> 对话框取消按钮的文字内容(确定按钮左边的按钮)</li>
|
||||
<li><code>negativeColor</code> <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Data_structures#String_type" class="type"><string></a> | <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Data_structures#Number_type" class="type"><number></a> 对话框取消按钮的文字颜色(确定按钮左边的按钮)</li>
|
||||
<li><code>checkBoxPrompt</code> <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Data_structures#String_type" class="type"><string></a> 勾选框文字内容</li>
|
||||
<li><code>checkBoxChecked</code> <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Data_structures#Boolean_type" class="type"><boolean></a> 勾选框是否勾选 </li>
|
||||
<li><code>progress</code> <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object" class="type"><Object></a> 配置对话框进度条的对象:<ul>
|
||||
<li><code>max</code> <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Data_structures#Number_type" class="type"><number></a> 进度条的最大值,如果为-1则为无限循环的进度条</li>
|
||||
<li><code>horizontal</code> <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Data_structures#Boolean_type" class="type"><boolean></a> 如果为true, 则对话框无限循环的进度条为水平进度条</li>
|
||||
<li><code>showMinMax</code> <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Data_structures#Boolean_type" class="type"><boolean></a> 是否显示进度条的最大值和最小值</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><code>cancelable</code> <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Data_structures#Boolean_type" class="type"><boolean></a> 对话框是否可取消,如果为false,则对话框只能用代码手动取消</li>
|
||||
<li><code>canceledOnTouchOutside</code> <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Data_structures#Boolean_type" class="type"><boolean></a> 对话框是否在点击对话框以外区域时自动取消,默认为true</li>
|
||||
<li><code>inputHint</code> <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Data_structures#String_type" class="type"><string></a> 对话框的输入框的输入提示</li>
|
||||
<li><code>inputPrefill</code> <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Data_structures#String_type" class="type"><string></a> 对话框输入框的默认输入内容</li>
|
||||
</ul>
|
||||
<p>通过这些选项可以自定义一个对话框,并通过监听返回的Dialog对象的按键、输入事件来实现交互。下面是一些例子。</p>
|
||||
<p>模拟alert对话框:</p>
|
||||
<pre><code>dialogs.build({
|
||||
title: "你好",
|
||||
content: "今天也要元气满满哦",
|
||||
positive: "好的"
|
||||
}).show();
|
||||
</code></pre><p>模拟confirm对话框:</p>
|
||||
<pre><code>dialogs.build({
|
||||
title: "你好",
|
||||
content: "请问你是笨蛋吗?",
|
||||
positive: "是的",
|
||||
negative: "我是大笨蛋"
|
||||
}).on("positive", ()=>{
|
||||
alert("哈哈哈笨蛋");
|
||||
}).on("negative", ()=>{
|
||||
alert("哈哈哈大笨蛋");
|
||||
}).show();
|
||||
</code></pre><p>模拟单选框:</p>
|
||||
<pre><code>dialogs.build({
|
||||
title: "单选",
|
||||
items: ["选项1", "选项2", "选项3", "选项4"],
|
||||
itemsSelectMode: "singleChoice",
|
||||
itemsSelectedIndex: 3
|
||||
}).on("item_select", (index, item)->{
|
||||
toast("您选择的是" + item);
|
||||
}).show();
|
||||
</code></pre><p>"处理中"对话框:</p>
|
||||
<pre><code>var d = dialogs.build({
|
||||
title: "下载中...",
|
||||
progress: {
|
||||
max: -1
|
||||
},
|
||||
cancelable: false
|
||||
}).show();
|
||||
|
||||
setTimeout(()=>{
|
||||
d.dismiss();
|
||||
}, 3000);
|
||||
</code></pre><p>输入对话框:</p>
|
||||
<pre><code>dialogs.build({
|
||||
title: "请输入您的年龄",
|
||||
inputPrefill: "18"
|
||||
}).on("input", (input)=>{
|
||||
var age = parseInt(input);
|
||||
toastLog(age);
|
||||
}).show();
|
||||
</code></pre><p>使用这个函数来构造对话框,一个明显的不同是需要使用回调函数而不能像dialogs其他函数一样同步地返回结果;但也可以通过threads模块的方法来实现。例如显示一个输入框并获取输入结果为:</p>
|
||||
<pre><code>var input = threads.disposable();
|
||||
dialogas.build({
|
||||
title: "请输入您的年龄",
|
||||
inputPrefill: "18"
|
||||
}).on("input", text => {
|
||||
input.setAndNotify(text);
|
||||
}).show();
|
||||
var age = parseInt(input.blockedGet());
|
||||
tosatLog(age);
|
||||
</code></pre><h1>Dialog<span><a class="mark" href="#dialogs_dialog" id="dialogs_dialog">#</a></span></h1>
|
||||
<p><code>dialogs.build()</code>返回的对话框对象,内置一些事件用于响应用户的交互,也可以获取对话框的状态和信息。</p>
|
||||
<h2>事件: <code>show</code><span><a class="mark" href="#dialogs_show" id="dialogs_show">#</a></span></h2>
|
||||
<div class="signature"><ul>
|
||||
<li><code>dialog</code> <span class="type"><Dialog></span> 对话框</li>
|
||||
</ul>
|
||||
</div><p>对话框显示时会触发的事件。例如:</p>
|
||||
<pre><code>dialogs.build({
|
||||
title: "标题"
|
||||
}).on("show", (dialog)=>{
|
||||
toast("对话框显示了");
|
||||
}).show();
|
||||
</code></pre><h2>事件: <code>cancel</code><span><a class="mark" href="#dialogs_cancel" id="dialogs_cancel">#</a></span></h2>
|
||||
<div class="signature"><ul>
|
||||
<li><code>dialog</code> <span class="type"><Dialog></span> 对话框</li>
|
||||
</ul>
|
||||
</div><p>对话框被取消时会触发的事件。一个对话框可能按取消按钮、返回键取消或者点击对话框以外区域取消。例如:</p>
|
||||
<pre><code>dialogs.build({
|
||||
title: "标题",
|
||||
positive: "确定",
|
||||
negative: "取消"
|
||||
}).on("cancel", (dialog)=>{
|
||||
toast("对话框取消了");
|
||||
}).show();
|
||||
</code></pre><h2>事件: <code>dismiss</code><span><a class="mark" href="#dialogs_dismiss" id="dialogs_dismiss">#</a></span></h2>
|
||||
<div class="signature"><ul>
|
||||
<li><code>dialog</code> <span class="type"><Dialog></span> 对话框</li>
|
||||
</ul>
|
||||
</div><p>对话框消失时会触发的事件。对话框被取消或者手动调用<code>dialog.dismiss()</code>函数都会触发该事件。例如:</p>
|
||||
<pre><code>var d = dialogs.build({
|
||||
title: "标题",
|
||||
positive: "确定",
|
||||
negative: "取消"
|
||||
}).on("dismiss", (dialog)=>{
|
||||
toast("对话框消失了");
|
||||
}).show();
|
||||
|
||||
setTimeout(()=>{
|
||||
d.dismiss();
|
||||
}, 5000);
|
||||
</code></pre><h2>事件: <code>positive</code><span><a class="mark" href="#dialogs_positive" id="dialogs_positive">#</a></span></h2>
|
||||
<div class="signature"><ul>
|
||||
<li><code>dialog</code> <span class="type"><Dialog></span> 对话框</li>
|
||||
</ul>
|
||||
</div><p>确定按钮按下时触发的事件。例如:</p>
|
||||
<pre><code>var d = dialogs.build({
|
||||
title: "标题",
|
||||
positive: "确定",
|
||||
negative: "取消"
|
||||
}).on("positive", (dialog)=>{
|
||||
toast("你点击了确定");
|
||||
}).show();
|
||||
</code></pre><h2>事件: <code>negative</code><span><a class="mark" href="#dialogs_negative" id="dialogs_negative">#</a></span></h2>
|
||||
<div class="signature"><ul>
|
||||
<li><code>dialog</code> <span class="type"><Dialog></span> 对话框</li>
|
||||
</ul>
|
||||
</div><p>取消按钮按下时触发的事件。例如:</p>
|
||||
<pre><code>var d = dialogs.build({
|
||||
title: "标题",
|
||||
positive: "确定",
|
||||
negative: "取消"
|
||||
}).on("negative", (dialog)=>{
|
||||
toast("你点击了取消");
|
||||
}).show();
|
||||
</code></pre><h2>事件: <code>neutral</code><span><a class="mark" href="#dialogs_neutral" id="dialogs_neutral">#</a></span></h2>
|
||||
<div class="signature"><ul>
|
||||
<li><code>dialog</code> <span class="type"><Dialog></span> 对话框</li>
|
||||
</ul>
|
||||
</div><p>中性按钮按下时触发的事件。例如:</p>
|
||||
<pre><code>var d = dialogs.build({
|
||||
title: "标题",
|
||||
positive: "确定",
|
||||
negative: "取消",
|
||||
neutral: "稍后提示"
|
||||
}).on("positive", (dialog)=>{
|
||||
toast("你点击了稍后提示");
|
||||
}).show();
|
||||
</code></pre><h2>事件: <code>any</code><span><a class="mark" href="#dialogs_any" id="dialogs_any">#</a></span></h2>
|
||||
<div class="signature"><ul>
|
||||
<li><code>dialog</code> <span class="type"><Dialog></span> 对话框</li>
|
||||
<li><code>action</code> <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Data_structures#String_type" class="type"><string></a> 被点击的按钮,可能的值为:<ul>
|
||||
<li><code>positive</code> 确定按钮 </li>
|
||||
<li><code>negative</code> 取消按钮</li>
|
||||
<li><code>neutral</code> 中性按钮</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</div><p>任意按钮按下时触发的事件。例如:</p>
|
||||
<pre><code>var d = dialogs.build({
|
||||
title: "标题",
|
||||
positive: "确定",
|
||||
negative: "取消",
|
||||
neutral: "稍后提示"
|
||||
}).on("any", (action, dialog)=>{
|
||||
if(action == "positive"){
|
||||
toast("你点击了确定");
|
||||
}else if(action == "negative"){
|
||||
toast("你点击了取消");
|
||||
}
|
||||
}).show();
|
||||
</code></pre><h2>事件: <code>item_select</code><span><a class="mark" href="#dialogs_item_select" id="dialogs_item_select">#</a></span></h2>
|
||||
<div class="signature"><ul>
|
||||
<li><code>index</code> <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Data_structures#Number_type" class="type"><number></a> 被选中的项目索引,从0开始</li>
|
||||
<li><code>item</code> <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object" class="type"><Object></a> 被选中的项目</li>
|
||||
<li><code>dialog</code> <span class="type"><Dialog></span> 对话框</li>
|
||||
</ul>
|
||||
</div><p>对话框列表(itemsSelectMode为"select")的项目被点击选中时触发的事件。例如:</p>
|
||||
<pre><code>var d = dialogs.build({
|
||||
title: "请选择",
|
||||
positive: "确定",
|
||||
negative: "取消",
|
||||
items: ["A", "B", "C", "D"],
|
||||
itemsSelectMode: "select"
|
||||
}).on("item_select", (index, item, dialog)=>{
|
||||
toast("您选择的是第" + (index + 1) + "项, 选项为" + item);
|
||||
}).show();
|
||||
</code></pre><h2>事件: <code>single_choice</code><span><a class="mark" href="#dialogs_single_choice" id="dialogs_single_choice">#</a></span></h2>
|
||||
<div class="signature"><ul>
|
||||
<li><code>index</code> <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Data_structures#Number_type" class="type"><number></a> 被选中的项目索引,从0开始</li>
|
||||
<li><code>item</code> <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object" class="type"><Object></a> 被选中的项目</li>
|
||||
<li><code>dialog</code> <span class="type"><Dialog></span> 对话框</li>
|
||||
</ul>
|
||||
</div><p>对话框单选列表(itemsSelectMode为"singleChoice")的项目被选中并点击确定时触发的事件。例如:</p>
|
||||
<pre><code>var d = dialogs.build({
|
||||
title: "请选择",
|
||||
positive: "确定",
|
||||
negative: "取消",
|
||||
items: ["A", "B", "C", "D"],
|
||||
itemsSelectMode: "singleChoice"
|
||||
}).on("item_select", (index, item, dialog)=>{
|
||||
toast("您选择的是第" + (index + 1) + "项, 选项为" + item);
|
||||
}).show();
|
||||
</code></pre><h2>事件: <code>multi_choice</code><span><a class="mark" href="#dialogs_multi_choice" id="dialogs_multi_choice">#</a></span></h2>
|
||||
<div class="signature"><ul>
|
||||
<li><code>indices</code> <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array" class="type"><Array></a> 被选中的项目的索引的数组</li>
|
||||
<li><code>items</code> <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array" class="type"><Array></a> 被选中的项目的数组</li>
|
||||
<li><code>dialog</code> <span class="type"><Dialog></span> 对话框</li>
|
||||
</ul>
|
||||
</div><p>对话框多选列表(itemsSelectMode为"multiChoice")的项目被选中并点击确定时触发的事件。例如:</p>
|
||||
<pre><code>var d = dialogs.build({
|
||||
title: "请选择",
|
||||
positive: "确定",
|
||||
negative: "取消",
|
||||
items: ["A", "B", "C", "D"],
|
||||
itemsSelectMode: "multiChoice"
|
||||
}).on("item_select", (indices, items, dialog)=>{
|
||||
toast(util.format("您选择的项目为%o, 选项为%o", indices, items);
|
||||
}).show();
|
||||
</code></pre><h2>事件: <code>input</code><span><a class="mark" href="#dialogs_input" id="dialogs_input">#</a></span></h2>
|
||||
<div class="signature"><ul>
|
||||
<li><code>text</code> <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Data_structures#String_type" class="type"><string></a> 输入框的内容</li>
|
||||
<li><code>dialog</code> <span class="type"><Dialog></span> 对话框</li>
|
||||
</ul>
|
||||
</div><p>带有输入框的对话框当点击确定时会触发的事件。例如:</p>
|
||||
<pre><code>dialogs.build({
|
||||
title: "请输入",
|
||||
positive: "确定",
|
||||
negative: "取消",
|
||||
inputPrefill: ""
|
||||
}).on("input", (text, dialog)=>{
|
||||
toast("你输入的是" + text);
|
||||
}).show();
|
||||
</code></pre><h2>事件: <code>input_change</code><span><a class="mark" href="#dialogs_input_change" id="dialogs_input_change">#</a></span></h2>
|
||||
<div class="signature"><ul>
|
||||
<li><code>text</code> <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Data_structures#String_type" class="type"><string></a> 输入框的内容</li>
|
||||
<li><code>dialog</code> <span class="type"><Dialog></span> 对话框</li>
|
||||
</ul>
|
||||
</div><p>对话框的输入框的文本发生变化时会触发的事件。例如:</p>
|
||||
<pre><code>dialogs.build({
|
||||
title: "请输入",
|
||||
positive: "确定",
|
||||
negative: "取消",
|
||||
inputPrefill: ""
|
||||
}).on("input_change", (text, dialog)=>{
|
||||
toast("你输入的是" + text);
|
||||
}).show();
|
||||
</code></pre>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@ -76,19 +76,32 @@
|
||||
<ul>
|
||||
<li><span class="stability_undefined"><a href="#floaty_floaty">Floaty</a></span><ul>
|
||||
<li><span class="stability_undefined"><a href="#floaty_floaty_window_layout">floaty.window(layout)</a></span></li>
|
||||
<li><span class="stability_undefined"><a href="#floaty_floaty_rawwindow_layout">floaty.rawWindow(layout)</a></span></li>
|
||||
<li><span class="stability_undefined"><a href="#floaty_floaty_closeall">floaty.closeAll()</a></span></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><span class="stability_undefined"><a href="#floaty_floatywindow">FloatyWindow</a></span><ul>
|
||||
<li><span class="stability_undefined"><a href="#floaty_floatywindow_setadjustenabled_enabled">FloatyWindow.setAdjustEnabled(enabled)</a></span></li>
|
||||
<li><span class="stability_undefined"><a href="#floaty_floatywindow_setposition_x_y">FloatyWindow.setPosition(x, y)</a></span></li>
|
||||
<li><span class="stability_undefined"><a href="#floaty_floatywindow_getx">FloatyWindow.getX()</a></span></li>
|
||||
<li><span class="stability_undefined"><a href="#floaty_floatywindow_gety">FloatyWindow.getY()</a></span></li>
|
||||
<li><span class="stability_undefined"><a href="#floaty_floatywindow_setsize_width_height">FloatyWindow.setSize(width, height)</a></span></li>
|
||||
<li><span class="stability_undefined"><a href="#floaty_floatywindow_getwidht">FloatyWindow.getWidht()</a></span></li>
|
||||
<li><span class="stability_undefined"><a href="#floaty_floatywindow_getheight">FloatyWindow.getHeight()</a></span></li>
|
||||
<li><span class="stability_undefined"><a href="#floaty_floatywindow_close">FloatyWindow.close()</a></span></li>
|
||||
<li><span class="stability_undefined"><a href="#floaty_floatywindow_exitonclose">FloatyWindow.exitOnClose()</a></span></li>
|
||||
<li><span class="stability_undefined"><a href="#floaty_window_setadjustenabled_enabled">window.setAdjustEnabled(enabled)</a></span></li>
|
||||
<li><span class="stability_undefined"><a href="#floaty_window_setposition_x_y">window.setPosition(x, y)</a></span></li>
|
||||
<li><span class="stability_undefined"><a href="#floaty_window_getx">window.getX()</a></span></li>
|
||||
<li><span class="stability_undefined"><a href="#floaty_window_gety">window.getY()</a></span></li>
|
||||
<li><span class="stability_undefined"><a href="#floaty_window_setsize_width_height">window.setSize(width, height)</a></span></li>
|
||||
<li><span class="stability_undefined"><a href="#floaty_window_getwidht">window.getWidht()</a></span></li>
|
||||
<li><span class="stability_undefined"><a href="#floaty_window_getheight">window.getHeight()</a></span></li>
|
||||
<li><span class="stability_undefined"><a href="#floaty_window_close">window.close()</a></span></li>
|
||||
<li><span class="stability_undefined"><a href="#floaty_window_exitonclose">window.exitOnClose()</a></span></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><span class="stability_undefined"><a href="#floaty_floatyrawwindow">FloatyRawWindow</a></span><ul>
|
||||
<li><span class="stability_undefined"><a href="#floaty_window_settouchable_touchable">window.setTouchable(touchable)</a></span></li>
|
||||
<li><span class="stability_undefined"><a href="#floaty_window_setposition_x_y_1">window.setPosition(x, y)</a></span></li>
|
||||
<li><span class="stability_undefined"><a href="#floaty_window_getx_1">window.getX()</a></span></li>
|
||||
<li><span class="stability_undefined"><a href="#floaty_window_gety_1">window.getY()</a></span></li>
|
||||
<li><span class="stability_undefined"><a href="#floaty_window_setsize_width_height_1">window.setSize(width, height)</a></span></li>
|
||||
<li><span class="stability_undefined"><a href="#floaty_window_getwidht_1">window.getWidht()</a></span></li>
|
||||
<li><span class="stability_undefined"><a href="#floaty_window_getheight_1">window.getHeight()</a></span></li>
|
||||
<li><span class="stability_undefined"><a href="#floaty_window_close_1">window.close()</a></span></li>
|
||||
<li><span class="stability_undefined"><a href="#floaty_window_exitonclose_1">window.exitOnClose()</a></span></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
@ -105,6 +118,7 @@
|
||||
<li><code>layout</code> <span class="type"><xml></span> | <span class="type"><View></span> 悬浮窗界面的XML或者View</li>
|
||||
</ul>
|
||||
</div><p>指定悬浮窗的布局,创建并<strong>显示</strong>一个悬浮窗,返回一个<code>FloatyWindow</code>对象。</p>
|
||||
<p>该悬浮窗自带关闭、调整大小、调整位置按键,可根据需要调用<code>setAdjustEnabled()</code>函数来显示或隐藏。</p>
|
||||
<p>其中layout参数可以是xml布局或者一个View,更多信息参见ui模块的说明。</p>
|
||||
<p>例子:</p>
|
||||
<pre><code>var w = floaty.window(
|
||||
@ -120,40 +134,116 @@ setTimeout(()=>{
|
||||
<pre><code>ui.run(function(){
|
||||
w.text.setText("文本");
|
||||
});
|
||||
</code></pre><h2>floaty.closeAll()<span><a class="mark" href="#floaty_floaty_closeall" id="floaty_floaty_closeall">#</a></span></h2>
|
||||
</code></pre><p>有关返回的<code>FloatyWindow</code>对象的说明,参见下面的<code>FloatyWindow</code>章节。</p>
|
||||
<h2>floaty.rawWindow(layout)<span><a class="mark" href="#floaty_floaty_rawwindow_layout" id="floaty_floaty_rawwindow_layout">#</a></span></h2>
|
||||
<div class="signature"><ul>
|
||||
<li><code>layout</code> <span class="type"><xml></span> | <span class="type"><View></span> 悬浮窗界面的XML或者View</li>
|
||||
</ul>
|
||||
</div><p>指定悬浮窗的布局,创建并<strong>显示</strong>一个原始悬浮窗,返回一个<code>FloatyRawWindow</code>对象。</p>
|
||||
<p>与<code>floaty.window()</code>函数不同的是,该悬浮窗不会增加任何额外设施(例如调整大小、位置按钮),您可以根据自己需要编写任何布局。</p>
|
||||
<p>而且,该悬浮窗支持完全全屏,可以覆盖状态栏,因此可以做护眼模式之类的应用。</p>
|
||||
<pre><code>var w = floaty.rawWindow(
|
||||
<frame gravity="center">
|
||||
<text id="text">悬浮文字</text>
|
||||
</frame>
|
||||
);
|
||||
|
||||
w.setPosition(500, 500);
|
||||
|
||||
setTimeout(()=>{
|
||||
w.close();
|
||||
}, 2000);
|
||||
</code></pre><p>这段代码运行后将会在屏幕上显示悬浮文字,并在两秒后消失。</p>
|
||||
<p>有关返回的<code>FloatyRawWindow</code>对象的说明,参见下面的<code>FloatyRawWindow</code>章节。</p>
|
||||
<h2>floaty.closeAll()<span><a class="mark" href="#floaty_floaty_closeall" id="floaty_floaty_closeall">#</a></span></h2>
|
||||
<p>关闭所有本脚本的悬浮窗。</p>
|
||||
<h1>FloatyWindow<span><a class="mark" href="#floaty_floatywindow" id="floaty_floatywindow">#</a></span></h1>
|
||||
<p>悬浮窗对象,可通过<code>FloatyWindow.{id}</code>获取悬浮窗界面上的元素。例如, 悬浮窗window上一个控件的id为aaa, 那么<code>window.aaa</code>即可获取到该控件,类似于ui。</p>
|
||||
<h2>FloatyWindow.setAdjustEnabled(enabled)<span><a class="mark" href="#floaty_floatywindow_setadjustenabled_enabled" id="floaty_floatywindow_setadjustenabled_enabled">#</a></span></h2>
|
||||
<h2>window.setAdjustEnabled(enabled)<span><a class="mark" href="#floaty_window_setadjustenabled_enabled" id="floaty_window_setadjustenabled_enabled">#</a></span></h2>
|
||||
<div class="signature"><ul>
|
||||
<li><code>enabled</code> <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Data_structures#Boolean_type" class="type"><boolean></a> 是否启用悬浮窗调整(大小、位置)</li>
|
||||
</ul>
|
||||
</div><p>如果enabled为true,则在悬浮窗左上角、右上角显示可供位置、大小调整的标示,就像控制台一样;
|
||||
如果enabled为false,则隐藏上述标示。</p>
|
||||
<h2>FloatyWindow.setPosition(x, y)<span><a class="mark" href="#floaty_floatywindow_setposition_x_y" id="floaty_floatywindow_setposition_x_y">#</a></span></h2>
|
||||
<h2>window.setPosition(x, y)<span><a class="mark" href="#floaty_window_setposition_x_y" id="floaty_window_setposition_x_y">#</a></span></h2>
|
||||
<div class="signature"><ul>
|
||||
<li><code>x</code> <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Data_structures#Number_type" class="type"><number></a> x</li>
|
||||
<li><code>x</code> <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Data_structures#Number_type" class="type"><number></a> y</li>
|
||||
</ul>
|
||||
</div><p>设置悬浮窗位置。</p>
|
||||
<h2>FloatyWindow.getX()<span><a class="mark" href="#floaty_floatywindow_getx" id="floaty_floatywindow_getx">#</a></span></h2>
|
||||
<h2>window.getX()<span><a class="mark" href="#floaty_window_getx" id="floaty_window_getx">#</a></span></h2>
|
||||
<p>返回悬浮窗位置的X坐标。</p>
|
||||
<h2>FloatyWindow.getY()<span><a class="mark" href="#floaty_floatywindow_gety" id="floaty_floatywindow_gety">#</a></span></h2>
|
||||
<h2>window.getY()<span><a class="mark" href="#floaty_window_gety" id="floaty_window_gety">#</a></span></h2>
|
||||
<p>返回悬浮窗位置的Y坐标。</p>
|
||||
<h2>FloatyWindow.setSize(width, height)<span><a class="mark" href="#floaty_floatywindow_setsize_width_height" id="floaty_floatywindow_setsize_width_height">#</a></span></h2>
|
||||
<h2>window.setSize(width, height)<span><a class="mark" href="#floaty_window_setsize_width_height" id="floaty_window_setsize_width_height">#</a></span></h2>
|
||||
<div class="signature"><ul>
|
||||
<li><code>width</code> <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Data_structures#Number_type" class="type"><number></a> 宽度</li>
|
||||
<li><code>height</code> <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Data_structures#Number_type" class="type"><number></a> 高度</li>
|
||||
</ul>
|
||||
</div><p>设置悬浮窗宽高。</p>
|
||||
<h2>FloatyWindow.getWidht()<span><a class="mark" href="#floaty_floatywindow_getwidht" id="floaty_floatywindow_getwidht">#</a></span></h2>
|
||||
<h2>window.getWidht()<span><a class="mark" href="#floaty_window_getwidht" id="floaty_window_getwidht">#</a></span></h2>
|
||||
<p>返回悬浮窗宽度。</p>
|
||||
<h2>FloatyWindow.getHeight()<span><a class="mark" href="#floaty_floatywindow_getheight" id="floaty_floatywindow_getheight">#</a></span></h2>
|
||||
<h2>window.getHeight()<span><a class="mark" href="#floaty_window_getheight" id="floaty_window_getheight">#</a></span></h2>
|
||||
<p>返回悬浮窗高度。</p>
|
||||
<h2>FloatyWindow.close()<span><a class="mark" href="#floaty_floatywindow_close" id="floaty_floatywindow_close">#</a></span></h2>
|
||||
<h2>window.close()<span><a class="mark" href="#floaty_window_close" id="floaty_window_close">#</a></span></h2>
|
||||
<p>关闭悬浮窗。如果悬浮窗已经是关闭状态,则此函数将不执行任何操作。</p>
|
||||
<p>被关闭后的悬浮窗不能再显示。</p>
|
||||
<h2>FloatyWindow.exitOnClose()<span><a class="mark" href="#floaty_floatywindow_exitonclose" id="floaty_floatywindow_exitonclose">#</a></span></h2>
|
||||
<h2>window.exitOnClose()<span><a class="mark" href="#floaty_window_exitonclose" id="floaty_window_exitonclose">#</a></span></h2>
|
||||
<p>使悬浮窗被关闭时自动结束脚本运行。</p>
|
||||
<h1>FloatyRawWindow<span><a class="mark" href="#floaty_floatyrawwindow" id="floaty_floatyrawwindow">#</a></span></h1>
|
||||
<p>原始悬浮窗对象,可通过<code>window.{id}</code>获取悬浮窗界面上的元素。例如, 悬浮窗window上一个控件的id为aaa, 那么<code>window.aaa</code>即可获取到该控件,类似于ui。</p>
|
||||
<h2>window.setTouchable(touchable)<span><a class="mark" href="#floaty_window_settouchable_touchable" id="floaty_window_settouchable_touchable">#</a></span></h2>
|
||||
<div class="signature"><ul>
|
||||
<li><code>touchable</code> <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Data_structures#Boolean_type" class="type"><Boolean></a> 是否可触摸</li>
|
||||
</ul>
|
||||
</div><p>设置悬浮窗是否可触摸,如果为true, 则悬浮窗将接收到触摸、点击等事件并且无法继续传递到悬浮窗下面;如果为false, 悬浮窗上的触摸、点击等事件将被直接传递到悬浮窗下面。处于安全考虑,被悬浮窗接收的触摸事情无法再继续传递到下层。</p>
|
||||
<p>可以用此特性来制作护眼模式脚本。</p>
|
||||
<pre><code>var w = floaty.rawWindow(
|
||||
<frame gravity="center" bg="#44ffcc00"/>
|
||||
);
|
||||
|
||||
w.setSize(-1, -1);
|
||||
w.setTouchable(false);
|
||||
|
||||
setTimeout(()=>{
|
||||
w.close();
|
||||
}, 4000);
|
||||
</code></pre><h2>window.setPosition(x, y)<span><a class="mark" href="#floaty_window_setposition_x_y_1" id="floaty_window_setposition_x_y_1">#</a></span></h2>
|
||||
<div class="signature"><ul>
|
||||
<li><code>x</code> <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Data_structures#Number_type" class="type"><number></a> x</li>
|
||||
<li><code>x</code> <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Data_structures#Number_type" class="type"><number></a> y</li>
|
||||
</ul>
|
||||
</div><p>设置悬浮窗位置。</p>
|
||||
<h2>window.getX()<span><a class="mark" href="#floaty_window_getx_1" id="floaty_window_getx_1">#</a></span></h2>
|
||||
<p>返回悬浮窗位置的X坐标。</p>
|
||||
<h2>window.getY()<span><a class="mark" href="#floaty_window_gety_1" id="floaty_window_gety_1">#</a></span></h2>
|
||||
<p>返回悬浮窗位置的Y坐标。</p>
|
||||
<h2>window.setSize(width, height)<span><a class="mark" href="#floaty_window_setsize_width_height_1" id="floaty_window_setsize_width_height_1">#</a></span></h2>
|
||||
<div class="signature"><ul>
|
||||
<li><code>width</code> <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Data_structures#Number_type" class="type"><number></a> 宽度</li>
|
||||
<li><code>height</code> <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Data_structures#Number_type" class="type"><number></a> 高度</li>
|
||||
</ul>
|
||||
</div><p>设置悬浮窗宽高。</p>
|
||||
<p>特别地,如果设置为-1,则为占满全屏;设置为-2则为根据悬浮窗内容大小而定。例如:</p>
|
||||
<pre><code>var w = floaty.rawWindow(
|
||||
<frame gravity="center" bg="#77ff0000">
|
||||
<text id="text">悬浮文字</text>
|
||||
</frame>
|
||||
);
|
||||
|
||||
w.setSize(-1, -1);
|
||||
|
||||
setTimeout(()=>{
|
||||
w.close();
|
||||
}, 2000);
|
||||
</code></pre><h2>window.getWidht()<span><a class="mark" href="#floaty_window_getwidht_1" id="floaty_window_getwidht_1">#</a></span></h2>
|
||||
<p>返回悬浮窗宽度。</p>
|
||||
<h2>window.getHeight()<span><a class="mark" href="#floaty_window_getheight_1" id="floaty_window_getheight_1">#</a></span></h2>
|
||||
<p>返回悬浮窗高度。</p>
|
||||
<h2>window.close()<span><a class="mark" href="#floaty_window_close_1" id="floaty_window_close_1">#</a></span></h2>
|
||||
<p>关闭悬浮窗。如果悬浮窗已经是关闭状态,则此函数将不执行任何操作。</p>
|
||||
<p>被关闭后的悬浮窗不能再显示。</p>
|
||||
<h2>window.exitOnClose()<span><a class="mark" href="#floaty_window_exitonclose_1" id="floaty_window_exitonclose_1">#</a></span></h2>
|
||||
<p>使悬浮窗被关闭时自动结束脚本运行。</p>
|
||||
|
||||
</div>
|
||||
|
||||
@ -89,6 +89,7 @@
|
||||
<li><span class="stability_undefined"><a href="#globals_random">random()</a></span></li>
|
||||
<li><span class="stability_undefined"><a href="#globals_requiresapi_api">requiresApi(api)</a></span></li>
|
||||
<li><span class="stability_undefined"><a href="#globals_requiresautojsversion_version">requiresAutojsVersion(version)</a></span></li>
|
||||
<li><span class="stability_undefined"><a href="#globals_runtime_requestpermissions_permissions">runtime.requestPermissions(permissions)</a></span></li>
|
||||
<li><span class="stability_undefined"><a href="#globals_context">context</a></span></li>
|
||||
</ul>
|
||||
</li>
|
||||
@ -217,6 +218,20 @@ for(var i = 0; i < 100; i++){
|
||||
<p>调用该函数时会判断运行脚本的Auto.js的版本号,如果没有达到要求则抛出异常。</p>
|
||||
<p>version参数可以是整数表示版本号,例如<code>requiresAutojsVersion(250)</code>;也可以是字符串格式表示的版本,例如"3.0.0 Beta", "3.1.0 Alpha4", "3.2.0"等。</p>
|
||||
<p>可以通过<code>app.autojs.versionCode</code>和<code>app.autojs.versionName</code>获取当前的Auto.js版本号和版本。</p>
|
||||
<h2>runtime.requestPermissions(permissions)<span><a class="mark" href="#globals_runtime_requestpermissions_permissions" id="globals_runtime_requestpermissions_permissions">#</a></span></h2>
|
||||
<div class="signature"><ul>
|
||||
<li><code>permissions</code> <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array" class="type"><Array></a> 权限的字符串数组</li>
|
||||
</ul>
|
||||
</div><p>动态申请安卓的权限。例如:</p>
|
||||
<pre><code>//请求GPS权限
|
||||
runtime.requestPermission(["access_fine_location"]);
|
||||
</code></pre><p>尽管安卓有很多权限,但必须写入Manifest才能动态申请,为了防止权限的滥用,目前Auto.js只能额外申请两个权限:</p>
|
||||
<ul>
|
||||
<li><code>access_fine_location</code> GPS权限</li>
|
||||
<li><code>record_audio</code> 录音权限</li>
|
||||
</ul>
|
||||
<p>您可以通过APK编辑器来增加Auto.js以及Auto.js打包的应用的权限。</p>
|
||||
<p>安卓所有的权限列表参见<a href="https://developer.android.com/guide/topics/permissions/overview">Permissions Overview</a>。(并没有用)</p>
|
||||
<h2>context<span><a class="mark" href="#globals_context" id="globals_context">#</a></span></h2>
|
||||
<p>全局变量。一个android.content.Context对象。</p>
|
||||
<p>注意该对象为ApplicationContext,因此不能用于界面、对话框等的创建。</p>
|
||||
|
||||
@ -87,11 +87,24 @@
|
||||
<li><span class="stability_undefined"><a href="#images_colors_equals_color1_color2">colors.equals(color1, color2)</a></span></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><span class="stability_undefined"><a href="#images_colors_black">colors.BLACK</a></span></li>
|
||||
<li><span class="stability_undefined"><a href="#images_colors_dkgray">colors.DKGRAY</a></span></li>
|
||||
<li><span class="stability_undefined"><a href="#images_colors_gray">colors.GRAY</a></span></li>
|
||||
<li><span class="stability_undefined"><a href="#images_colors_ltgray">colors.LTGRAY</a></span></li>
|
||||
<li><span class="stability_undefined"><a href="#images_colors_white">colors.WHITE</a></span></li>
|
||||
<li><span class="stability_undefined"><a href="#images_colors_red">colors.RED</a></span></li>
|
||||
<li><span class="stability_undefined"><a href="#images_colors_green">colors.GREEN</a></span></li>
|
||||
<li><span class="stability_undefined"><a href="#images_colors_blue">colors.BLUE</a></span></li>
|
||||
<li><span class="stability_undefined"><a href="#images_colors_yellow">colors.YELLOW</a></span></li>
|
||||
<li><span class="stability_undefined"><a href="#images_colors_cyan">colors.CYAN</a></span></li>
|
||||
<li><span class="stability_undefined"><a href="#images_colors_magenta">colors.MAGENTA</a></span></li>
|
||||
<li><span class="stability_undefined"><a href="#images_colors_transparent">colors.TRANSPARENT</a></span></li>
|
||||
<li><span class="stability_2"><a href="#images_images">Images</a></span><ul>
|
||||
<li><span class="stability_undefined"><a href="#images_images_requestscreencapture_landscape">images.requestScreenCapture([landscape])</a></span></li>
|
||||
<li><span class="stability_undefined"><a href="#images_images_capturescreen">images.captureScreen()</a></span></li>
|
||||
<li><span class="stability_undefined"><a href="#images_images_capturescreen_path">images.captureScreen(path)</a></span></li>
|
||||
<li><span class="stability_undefined"><a href="#images_images_pixel_image_x_y">images.pixel(image, x, y)</a></span></li>
|
||||
<li><span class="stability_undefined"><a href="#images_images_copy_img">images.copy(img)</a></span></li>
|
||||
<li><span class="stability_undefined"><a href="#images_images_save_image_path_format_png_quality_100">images.save(image, path[, format = "png", quality = 100])</a></span></li>
|
||||
<li><span class="stability_undefined"><a href="#images_images_read_path">images.read(path)</a></span></li>
|
||||
<li><span class="stability_undefined"><a href="#images_images_load_url">images.load(url)</a></span></li>
|
||||
@ -208,7 +221,31 @@
|
||||
</div><p>返回两个颜色是否相等。<em>*注意该函数会忽略Alpha通道的值进行比较</em>。</p>
|
||||
<pre><code>log(colors.equals("#112233", "#112234"));
|
||||
log(colors.equals(0xFF112233, 0xFF223344));
|
||||
</code></pre><h1>Images<span><a class="mark" href="#images_images" id="images_images">#</a></span></h1>
|
||||
</code></pre><h1>colors.BLACK<span><a class="mark" href="#images_colors_black" id="images_colors_black">#</a></span></h1>
|
||||
<p>黑色,颜色值 #FF000000</p>
|
||||
<h1>colors.DKGRAY<span><a class="mark" href="#images_colors_dkgray" id="images_colors_dkgray">#</a></span></h1>
|
||||
<p>深灰色,颜色值 #FF444444</p>
|
||||
<h1>colors.GRAY<span><a class="mark" href="#images_colors_gray" id="images_colors_gray">#</a></span></h1>
|
||||
<p>灰色,颜色值 #FF888888</p>
|
||||
<h1>colors.LTGRAY<span><a class="mark" href="#images_colors_ltgray" id="images_colors_ltgray">#</a></span></h1>
|
||||
<p>亮灰色,颜色值 #FFCCCCCC</p>
|
||||
<h1>colors.WHITE<span><a class="mark" href="#images_colors_white" id="images_colors_white">#</a></span></h1>
|
||||
<p>白色,颜色值 #FFFFFFFF</p>
|
||||
<h1>colors.RED<span><a class="mark" href="#images_colors_red" id="images_colors_red">#</a></span></h1>
|
||||
<p>红色,颜色值 #FFFF0000</p>
|
||||
<h1>colors.GREEN<span><a class="mark" href="#images_colors_green" id="images_colors_green">#</a></span></h1>
|
||||
<p>绿色,颜色值 #FF00FF00</p>
|
||||
<h1>colors.BLUE<span><a class="mark" href="#images_colors_blue" id="images_colors_blue">#</a></span></h1>
|
||||
<p>蓝色,颜色值 #FF0000FF</p>
|
||||
<h1>colors.YELLOW<span><a class="mark" href="#images_colors_yellow" id="images_colors_yellow">#</a></span></h1>
|
||||
<p>黄色,颜色值 #FFFFFF00</p>
|
||||
<h1>colors.CYAN<span><a class="mark" href="#images_colors_cyan" id="images_colors_cyan">#</a></span></h1>
|
||||
<p>青色,颜色值 #FF00FFFF</p>
|
||||
<h1>colors.MAGENTA<span><a class="mark" href="#images_colors_magenta" id="images_colors_magenta">#</a></span></h1>
|
||||
<p>品红色,颜色值 #FFFF00FF</p>
|
||||
<h1>colors.TRANSPARENT<span><a class="mark" href="#images_colors_transparent" id="images_colors_transparent">#</a></span></h1>
|
||||
<p>透明,颜色值 #00000000</p>
|
||||
<h1>Images<span><a class="mark" href="#images_images" id="images_images">#</a></span></h1>
|
||||
<div class="api_stability api_stability_2"><a href="documentation.html#documentation_stability_index">Stability: 2</a> - Stable</div><p>images模块提供了一些手机设备中常见的图片处理函数,包括截图、读写图片、图片剪裁、找色、找图等。</p>
|
||||
<h2>images.requestScreenCapture([landscape])<span><a class="mark" href="#images_images_requestscreencapture_landscape" id="images_images_requestscreencapture_landscape">#</a></span></h2>
|
||||
<div class="signature"><ul>
|
||||
@ -263,9 +300,15 @@ toast(colors.toString(color));
|
||||
</div><p>返回图片image在点(x, y)处的像素的ARGB值。 </p>
|
||||
<p>该值的格式为0xAARRGGBB,是一个"32位整数"(虽然JavaScript中并不区分整数类型和其他数值类型)。</p>
|
||||
<p>坐标系以图片左上角为原点。以图片左侧边为y轴,上侧边为x轴。</p>
|
||||
<h2>images.copy(img)<span><a class="mark" href="#images_images_copy_img" id="images_images_copy_img">#</a></span></h2>
|
||||
<div class="signature"><ul>
|
||||
<li><code>img</code> <span class="type"><Image></span> 图片</li>
|
||||
<li>返回 <span class="type"><Image></span></li>
|
||||
</ul>
|
||||
</div><p>复制一张图片并返回新的副本。该函数会完全复制img对象的数据。</p>
|
||||
<h2>images.save(image, path[, format = "png", quality = 100])<span><a class="mark" href="#images_images_save_image_path_format_png_quality_100" id="images_images_save_image_path_format_png_quality_100">#</a></span></h2>
|
||||
<div class="signature"><ul>
|
||||
<li><code>image</code> <span class="type"><image></span> 图片</li>
|
||||
<li><code>image</code> <span class="type"><Image></span> 图片</li>
|
||||
<li><code>path</code> <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Data_structures#String_type" class="type"><string></a> 路径</li>
|
||||
<li><code>format</code> <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Data_structures#String_type" class="type"><string></a> 图片格式,可选的值为:<ul>
|
||||
<li><code>png</code></li>
|
||||
|
||||
@ -71,8 +71,8 @@ public class AboutActivity extends BaseActivity {
|
||||
mLolClickCount++;
|
||||
//Toast.makeText(this, R.string.text_lll, Toast.LENGTH_LONG).show();
|
||||
if (mLolClickCount >= 5) {
|
||||
//crashTest();
|
||||
showEasterEgg();
|
||||
crashTest();
|
||||
//showEasterEgg();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@ -99,7 +99,7 @@ public class SplashActivity extends BaseActivity {
|
||||
mHandler.postDelayed(() -> {
|
||||
if (mAdLoading)
|
||||
enterNextActivity();
|
||||
}, 4000);
|
||||
}, 3000);
|
||||
mInterstitialAd = new InterstitialAd(this);
|
||||
mInterstitialAd.setAdUnitId(BuildConfig.DEBUG ? Constants.ADMOB_INTERSTITIAL_TEST_ID : Constants.ADMOB_INTERSTITIAL_ID);
|
||||
mInterstitialAd.setAdListener(new AdListener() {
|
||||
|
||||
@ -8,8 +8,8 @@ android {
|
||||
applicationId "com.stardust.auojs.inrt"
|
||||
minSdkVersion 17
|
||||
targetSdkVersion 23
|
||||
versionCode 56
|
||||
versionName "1.1.0 Beta"
|
||||
versionCode 201
|
||||
versionName "4.0.0 Alpha1"
|
||||
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
|
||||
ndk {
|
||||
abiFilters 'armeabi-v7a'
|
||||
|
||||
Loading…
Reference in New Issue
Block a user