docs: update to latest

This commit is contained in:
hyb1996 2018-05-28 21:57:40 +08:00
parent 7cb7703921
commit 0ffb8d1ec5
11 changed files with 986 additions and 53 deletions

View File

@ -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 {

View File

@ -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 = &quot;png&quot;, 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(&quot;请选择一个选项&quot;, [&quot;选项A&quot;, &quot;
<li><code>callback</code> <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Function" class="type">&lt;Function&gt;</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">&lt;Object&gt;</a> 对话框属性,用于配置对话框。</li>
<li>返回 <span class="type">&lt;Dialog&gt;</span></li>
</ul>
</div><p>创建一个可自定义的对话框,例如:</p>
<pre><code>dialogs.build({
//对话框标题
title: &quot;发现新版本&quot;,
//对话框内容
content: &quot;更新日志: 新增了若干了BUG&quot;,
//确定键内容
positive: &quot;下载&quot;,
//取消键内容
negative: &quot;取消&quot;,
//中性键内容
neutral: &quot;到浏览器下载&quot;,
//勾选框内容
checkBoxPrompt: &quot;不再提示&quot;
}).on(&quot;positive&quot;, ()=&gt;{
//监听确定键
toast(&quot;开始下载....&quot;);
}).on(&quot;neutral&quot;, ()=&gt;{
//监听中性键
app.openUrl(&quot;https://www.autojs.org&quot;);
}).on(&quot;check&quot;, (checked)=&gt;{
//监听勾选框
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">&lt;string&gt;</a> 对话框标题</li>
<li><code>titleColor</code> <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Data_structures#String_type" class="type">&lt;string&gt;</a> | <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Data_structures#Number_type" class="type">&lt;number&gt;</a> 对话框标题的颜色</li>
<li><code>buttonRippleColor</code> <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Data_structures#String_type" class="type">&lt;string&gt;</a> | <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Data_structures#Number_type" class="type">&lt;number&gt;</a> 对话框按钮的波纹效果颜色</li>
<li><code>icon</code> <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Data_structures#String_type" class="type">&lt;string&gt;</a> | <span class="type">&lt;Image&gt;</span> 对话框的图标是一个URL或者图片对象 </li>
<li><code>content</code> <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Data_structures#String_type" class="type">&lt;string&gt;</a> 对话框文字内容 </li>
<li><code>contentColor</code><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Data_structures#String_type" class="type">&lt;string&gt;</a> | <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Data_structures#Number_type" class="type">&lt;number&gt;</a> 对话框文字内容的颜色</li>
<li><code>contentLineSpacing</code><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Data_structures#Number_type" class="type">&lt;number&gt;</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">&lt;Array&gt;</a> 对话框列表的选项</li>
<li><code>itemsColor</code> <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Data_structures#String_type" class="type">&lt;string&gt;</a> | <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Data_structures#Number_type" class="type">&lt;number&gt;</a> 对话框列表的选项的文字颜色</li>
<li><code>itemsSelectMode</code> <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Data_structures#String_type" class="type">&lt;string&gt;</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">&lt;number&gt;</a> | <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array" class="type">&lt;Array&gt;</a> 对话框列表中???</li>
<li><code>positive</code> <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Data_structures#String_type" class="type">&lt;string&gt;</a> 对话框确定按钮的文字内容(最右边按钮)</li>
<li><code>positiveColor</code> <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Data_structures#String_type" class="type">&lt;string&gt;</a> | <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Data_structures#Number_type" class="type">&lt;number&gt;</a> 对话框确定按钮的文字颜色(最右边按钮)</li>
<li><code>neutral</code> <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Data_structures#String_type" class="type">&lt;string&gt;</a> 对话框中立按钮的文字内容(最左边按钮)</li>
<li><code>neutralColor</code> <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Data_structures#String_type" class="type">&lt;string&gt;</a> | <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Data_structures#Number_type" class="type">&lt;number&gt;</a> 对话框中立按钮的文字颜色(最左边按钮)</li>
<li><code>negative</code> <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Data_structures#String_type" class="type">&lt;string&gt;</a> 对话框取消按钮的文字内容(确定按钮左边的按钮)</li>
<li><code>negativeColor</code> <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Data_structures#String_type" class="type">&lt;string&gt;</a> | <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Data_structures#Number_type" class="type">&lt;number&gt;</a> 对话框取消按钮的文字颜色(确定按钮左边的按钮)</li>
<li><code>checkBoxPrompt</code> <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Data_structures#String_type" class="type">&lt;string&gt;</a> 勾选框文字内容</li>
<li><code>checkBoxChecked</code> <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Data_structures#Boolean_type" class="type">&lt;boolean&gt;</a> 勾选框是否勾选 </li>
<li><code>progress</code> <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object" class="type">&lt;Object&gt;</a> 配置对话框进度条的对象:<ul>
<li><code>max</code> <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Data_structures#Number_type" class="type">&lt;number&gt;</a> 进度条的最大值,如果为-1则为无限循环的进度条</li>
<li><code>horizontal</code> <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Data_structures#Boolean_type" class="type">&lt;boolean&gt;</a> 如果为true, 则对话框无限循环的进度条为水平进度条</li>
<li><code>showMinMax</code> <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Data_structures#Boolean_type" class="type">&lt;boolean&gt;</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">&lt;boolean&gt;</a> 对话框是否可取消如果为false则对话框只能用代码手动取消</li>
<li><code>canceledOnTouchOutside</code> <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Data_structures#Boolean_type" class="type">&lt;boolean&gt;</a> 对话框是否在点击对话框以外区域时自动取消默认为true</li>
<li><code>inputHint</code> <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Data_structures#String_type" class="type">&lt;string&gt;</a> 对话框的输入框的输入提示</li>
<li><code>inputPrefill</code> <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Data_structures#String_type" class="type">&lt;string&gt;</a> 对话框输入框的默认输入内容</li>
</ul>
<p>通过这些选项可以自定义一个对话框并通过监听返回的Dialog对象的按键、输入事件来实现交互。下面是一些例子。</p>
<p>模拟alert对话框</p>
<pre><code>dialogs.build({
title: &quot;你好&quot;,
content: &quot;今天也要元气满满哦&quot;,
positive: &quot;好的&quot;
}).show();
</code></pre><p>模拟confirm对话框:</p>
<pre><code>dialogs.build({
title: &quot;你好&quot;,
content: &quot;请问你是笨蛋吗?&quot;,
positive: &quot;是的&quot;,
negative: &quot;我是大笨蛋&quot;
}).on(&quot;positive&quot;, ()=&gt;{
alert(&quot;哈哈哈笨蛋&quot;);
}).on(&quot;negative&quot;, ()=&gt;{
alert(&quot;哈哈哈大笨蛋&quot;);
}).show();
</code></pre><p>模拟单选框:</p>
<pre><code>dialogs.build({
title: &quot;单选&quot;,
items: [&quot;选项1&quot;, &quot;选项2&quot;, &quot;选项3&quot;, &quot;选项4&quot;],
itemsSelectMode: &quot;singleChoice&quot;,
itemsSelectedIndex: 3
}).on(&quot;item_select&quot;, (index, item)-&gt;{
toast(&quot;您选择的是&quot; + item);
}).show();
</code></pre><p>&quot;处理中&quot;对话框:</p>
<pre><code>var d = dialogs.build({
title: &quot;下载中...&quot;,
progress: {
max: -1
},
cancelable: false
}).show();
setTimeout(()=&gt;{
d.dismiss();
}, 3000);
</code></pre><p>输入对话框:</p>
<pre><code>dialogs.build({
title: &quot;请输入您的年龄&quot;,
inputPrefill: &quot;18&quot;
}).on(&quot;input&quot;, (input)=&gt;{
var age = parseInt(input);
toastLog(age);
}).show();
</code></pre><p>使用这个函数来构造对话框一个明显的不同是需要使用回调函数而不能像dialogs其他函数一样同步地返回结果但也可以通过threads模块的方法来实现。例如显示一个输入框并获取输入结果为</p>
<pre><code>var input = threads.disposable();
dialogas.build({
title: &quot;请输入您的年龄&quot;,
inputPrefill: &quot;18&quot;
}).on(&quot;input&quot;, text =&gt; {
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">&lt;Dialog&gt;</span> 对话框</li>
</ul>
</div><p>对话框显示时会触发的事件。例如:</p>
<pre><code>dialogs.build({
title: &quot;标题&quot;
}).on(&quot;show&quot;, (dialog)=&gt;{
toast(&quot;对话框显示了&quot;);
}).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">&lt;Dialog&gt;</span> 对话框</li>
</ul>
</div><p>对话框被取消时会触发的事件。一个对话框可能按取消按钮、返回键取消或者点击对话框以外区域取消。例如:</p>
<pre><code>dialogs.build({
title: &quot;标题&quot;,
positive: &quot;确定&quot;,
negative: &quot;取消&quot;
}).on(&quot;cancel&quot;, (dialog)=&gt;{
toast(&quot;对话框取消了&quot;);
}).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">&lt;Dialog&gt;</span> 对话框</li>
</ul>
</div><p>对话框消失时会触发的事件。对话框被取消或者手动调用<code>dialog.dismiss()</code>函数都会触发该事件。例如:</p>
<pre><code>var d = dialogs.build({
title: &quot;标题&quot;,
positive: &quot;确定&quot;,
negative: &quot;取消&quot;
}).on(&quot;dismiss&quot;, (dialog)=&gt;{
toast(&quot;对话框消失了&quot;);
}).show();
setTimeout(()=&gt;{
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">&lt;Dialog&gt;</span> 对话框</li>
</ul>
</div><p>确定按钮按下时触发的事件。例如:</p>
<pre><code>var d = dialogs.build({
title: &quot;标题&quot;,
positive: &quot;确定&quot;,
negative: &quot;取消&quot;
}).on(&quot;positive&quot;, (dialog)=&gt;{
toast(&quot;你点击了确定&quot;);
}).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">&lt;Dialog&gt;</span> 对话框</li>
</ul>
</div><p>取消按钮按下时触发的事件。例如:</p>
<pre><code>var d = dialogs.build({
title: &quot;标题&quot;,
positive: &quot;确定&quot;,
negative: &quot;取消&quot;
}).on(&quot;negative&quot;, (dialog)=&gt;{
toast(&quot;你点击了取消&quot;);
}).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">&lt;Dialog&gt;</span> 对话框</li>
</ul>
</div><p>中性按钮按下时触发的事件。例如:</p>
<pre><code>var d = dialogs.build({
title: &quot;标题&quot;,
positive: &quot;确定&quot;,
negative: &quot;取消&quot;,
neutral: &quot;稍后提示&quot;
}).on(&quot;positive&quot;, (dialog)=&gt;{
toast(&quot;你点击了稍后提示&quot;);
}).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">&lt;Dialog&gt;</span> 对话框</li>
<li><code>action</code> <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Data_structures#String_type" class="type">&lt;string&gt;</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: &quot;标题&quot;,
positive: &quot;确定&quot;,
negative: &quot;取消&quot;,
neutral: &quot;稍后提示&quot;
}).on(&quot;any&quot;, (action, dialog)=&gt;{
if(action == &quot;positive&quot;){
toast(&quot;你点击了确定&quot;);
}else if(action == &quot;negative&quot;){
toast(&quot;你点击了取消&quot;);
}
}).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">&lt;number&gt;</a> 被选中的项目索引从0开始</li>
<li><code>item</code> <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object" class="type">&lt;Object&gt;</a> 被选中的项目</li>
<li><code>dialog</code> <span class="type">&lt;Dialog&gt;</span> 对话框</li>
</ul>
</div><p>对话框列表(itemsSelectMode为&quot;select&quot;)的项目被点击选中时触发的事件。例如:</p>
<pre><code>var d = dialogs.build({
title: &quot;请选择&quot;,
positive: &quot;确定&quot;,
negative: &quot;取消&quot;,
items: [&quot;A&quot;, &quot;B&quot;, &quot;C&quot;, &quot;D&quot;],
itemsSelectMode: &quot;select&quot;
}).on(&quot;item_select&quot;, (index, item, dialog)=&gt;{
toast(&quot;您选择的是第&quot; + (index + 1) + &quot;项, 选项为&quot; + 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">&lt;number&gt;</a> 被选中的项目索引从0开始</li>
<li><code>item</code> <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object" class="type">&lt;Object&gt;</a> 被选中的项目</li>
<li><code>dialog</code> <span class="type">&lt;Dialog&gt;</span> 对话框</li>
</ul>
</div><p>对话框单选列表(itemsSelectMode为&quot;singleChoice&quot;)的项目被选中并点击确定时触发的事件。例如:</p>
<pre><code>var d = dialogs.build({
title: &quot;请选择&quot;,
positive: &quot;确定&quot;,
negative: &quot;取消&quot;,
items: [&quot;A&quot;, &quot;B&quot;, &quot;C&quot;, &quot;D&quot;],
itemsSelectMode: &quot;singleChoice&quot;
}).on(&quot;item_select&quot;, (index, item, dialog)=&gt;{
toast(&quot;您选择的是第&quot; + (index + 1) + &quot;项, 选项为&quot; + 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">&lt;Array&gt;</a> 被选中的项目的索引的数组</li>
<li><code>items</code> <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array" class="type">&lt;Array&gt;</a> 被选中的项目的数组</li>
<li><code>dialog</code> <span class="type">&lt;Dialog&gt;</span> 对话框</li>
</ul>
</div><p>对话框多选列表(itemsSelectMode为&quot;multiChoice&quot;)的项目被选中并点击确定时触发的事件。例如:</p>
<pre><code>var d = dialogs.build({
title: &quot;请选择&quot;,
positive: &quot;确定&quot;,
negative: &quot;取消&quot;,
items: [&quot;A&quot;, &quot;B&quot;, &quot;C&quot;, &quot;D&quot;],
itemsSelectMode: &quot;multiChoice&quot;
}).on(&quot;item_select&quot;, (indices, items, dialog)=&gt;{
toast(util.format(&quot;您选择的项目为%o, 选项为%o&quot;, 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">&lt;string&gt;</a> 输入框的内容</li>
<li><code>dialog</code> <span class="type">&lt;Dialog&gt;</span> 对话框</li>
</ul>
</div><p>带有输入框的对话框当点击确定时会触发的事件。例如:</p>
<pre><code>dialogs.build({
title: &quot;请输入&quot;,
positive: &quot;确定&quot;,
negative: &quot;取消&quot;,
inputPrefill: &quot;&quot;
}).on(&quot;input&quot;, (text, dialog)=&gt;{
toast(&quot;你输入的是&quot; + 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">&lt;string&gt;</a> 输入框的内容</li>
<li><code>dialog</code> <span class="type">&lt;Dialog&gt;</span> 对话框</li>
</ul>
</div><p>对话框的输入框的文本发生变化时会触发的事件。例如:</p>
<pre><code>dialogs.build({
title: &quot;请输入&quot;,
positive: &quot;确定&quot;,
negative: &quot;取消&quot;,
inputPrefill: &quot;&quot;
}).on(&quot;input_change&quot;, (text, dialog)=&gt;{
toast(&quot;你输入的是&quot; + 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(()=&gt;{}, 1000);
<li><code>layout</code> <span class="type">&lt;xml&gt;</span> | <span class="type">&lt;View&gt;</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(()=&gt;{
<pre><code>ui.run(function(){
w.text.setText(&quot;文本&quot;);
});
</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">&lt;xml&gt;</span> | <span class="type">&lt;View&gt;</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(
&lt;frame gravity=&quot;center&quot;&gt;
&lt;text id=&quot;text&quot;&gt;悬浮文字&lt;/text&gt;
&lt;/frame&gt;
);
w.setPosition(500, 500);
setTimeout(()=&gt;{
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">&lt;boolean&gt;</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">&lt;number&gt;</a> x</li>
<li><code>x</code> <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Data_structures#Number_type" class="type">&lt;number&gt;</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">&lt;number&gt;</a> 宽度</li>
<li><code>height</code> <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Data_structures#Number_type" class="type">&lt;number&gt;</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">&lt;Boolean&gt;</a> 是否可触摸</li>
</ul>
</div><p>设置悬浮窗是否可触摸如果为true, 则悬浮窗将接收到触摸、点击等事件并且无法继续传递到悬浮窗下面如果为false, 悬浮窗上的触摸、点击等事件将被直接传递到悬浮窗下面。处于安全考虑,被悬浮窗接收的触摸事情无法再继续传递到下层。</p>
<p>可以用此特性来制作护眼模式脚本。</p>
<pre><code>var w = floaty.rawWindow(
&lt;frame gravity=&quot;center&quot; bg=&quot;#44ffcc00&quot;/&gt;
);
w.setSize(-1, -1);
w.setTouchable(false);
setTimeout(()=&gt;{
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">&lt;number&gt;</a> x</li>
<li><code>x</code> <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Data_structures#Number_type" class="type">&lt;number&gt;</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">&lt;number&gt;</a> 宽度</li>
<li><code>height</code> <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Data_structures#Number_type" class="type">&lt;number&gt;</a> 高度</li>
</ul>
</div><p>设置悬浮窗宽高。</p>
<p>特别地,如果设置为-1则为占满全屏设置为-2则为根据悬浮窗内容大小而定。例如</p>
<pre><code>var w = floaty.rawWindow(
&lt;frame gravity=&quot;center&quot; bg=&quot;#77ff0000&quot;&gt;
&lt;text id=&quot;text&quot;&gt;悬浮文字&lt;/text&gt;
&lt;/frame&gt;
);
w.setSize(-1, -1);
setTimeout(()=&gt;{
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 &lt; 100; i++){
<p>调用该函数时会判断运行脚本的Auto.js的版本号如果没有达到要求则抛出异常。</p>
<p>version参数可以是整数表示版本号例如<code>requiresAutojsVersion(250)</code>;也可以是字符串格式表示的版本,例如&quot;3.0.0 Beta&quot;, &quot;3.1.0 Alpha4&quot;, &quot;3.2.0&quot;等。</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">&lt;Array&gt;</a> 权限的字符串数组</li>
</ul>
</div><p>动态申请安卓的权限。例如:</p>
<pre><code>//请求GPS权限
runtime.requestPermission([&quot;access_fine_location&quot;]);
</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(&quot;#112233&quot;, &quot;#112234&quot;));
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是一个&quot;32位整数&quot;(虽然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">&lt;Image&gt;</span> 图片</li>
<li>返回 <span class="type">&lt;Image&gt;</span></li>
</ul>
</div><p>复制一张图片并返回新的副本。该函数会完全复制img对象的数据。</p>
<h2>images.save(image, path[, format = &quot;png&quot;, 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">&lt;image&gt;</span> 图片</li>
<li><code>image</code> <span class="type">&lt;Image&gt;</span> 图片</li>
<li><code>path</code> <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Data_structures#String_type" class="type">&lt;string&gt;</a> 路径</li>
<li><code>format</code> <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Data_structures#String_type" class="type">&lt;string&gt;</a> 图片格式,可选的值为:<ul>
<li><code>png</code></li>

View File

@ -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>

View File

@ -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(&quot;请选择一个选项&quot;, [&quot;选项A&quot;, &quot;
</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">&lt;Object&gt;</a> 对话框属性,用于配置对话框。</li>
<li>返回 <span class="type">&lt;Dialog&gt;</span></li>
</ul>
</div><p>创建一个可自定义的对话框,例如:</p>
<pre><code>dialogs.build({
//对话框标题
title: &quot;发现新版本&quot;,
//对话框内容
content: &quot;更新日志: 新增了若干了BUG&quot;,
//确定键内容
positive: &quot;下载&quot;,
//取消键内容
negative: &quot;取消&quot;,
//中性键内容
neutral: &quot;到浏览器下载&quot;,
//勾选框内容
checkBoxPrompt: &quot;不再提示&quot;
}).on(&quot;positive&quot;, ()=&gt;{
//监听确定键
toast(&quot;开始下载....&quot;);
}).on(&quot;neutral&quot;, ()=&gt;{
//监听中性键
app.openUrl(&quot;https://www.autojs.org&quot;);
}).on(&quot;check&quot;, (checked)=&gt;{
//监听勾选框
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">&lt;string&gt;</a> 对话框标题</li>
<li><code>titleColor</code> <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Data_structures#String_type" class="type">&lt;string&gt;</a> | <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Data_structures#Number_type" class="type">&lt;number&gt;</a> 对话框标题的颜色</li>
<li><code>buttonRippleColor</code> <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Data_structures#String_type" class="type">&lt;string&gt;</a> | <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Data_structures#Number_type" class="type">&lt;number&gt;</a> 对话框按钮的波纹效果颜色</li>
<li><code>icon</code> <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Data_structures#String_type" class="type">&lt;string&gt;</a> | <span class="type">&lt;Image&gt;</span> 对话框的图标是一个URL或者图片对象 </li>
<li><code>content</code> <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Data_structures#String_type" class="type">&lt;string&gt;</a> 对话框文字内容 </li>
<li><code>contentColor</code><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Data_structures#String_type" class="type">&lt;string&gt;</a> | <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Data_structures#Number_type" class="type">&lt;number&gt;</a> 对话框文字内容的颜色</li>
<li><code>contentLineSpacing</code><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Data_structures#Number_type" class="type">&lt;number&gt;</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">&lt;Array&gt;</a> 对话框列表的选项</li>
<li><code>itemsColor</code> <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Data_structures#String_type" class="type">&lt;string&gt;</a> | <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Data_structures#Number_type" class="type">&lt;number&gt;</a> 对话框列表的选项的文字颜色</li>
<li><code>itemsSelectMode</code> <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Data_structures#String_type" class="type">&lt;string&gt;</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">&lt;number&gt;</a> | <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array" class="type">&lt;Array&gt;</a> 对话框列表中???</li>
<li><code>positive</code> <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Data_structures#String_type" class="type">&lt;string&gt;</a> 对话框确定按钮的文字内容(最右边按钮)</li>
<li><code>positiveColor</code> <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Data_structures#String_type" class="type">&lt;string&gt;</a> | <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Data_structures#Number_type" class="type">&lt;number&gt;</a> 对话框确定按钮的文字颜色(最右边按钮)</li>
<li><code>neutral</code> <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Data_structures#String_type" class="type">&lt;string&gt;</a> 对话框中立按钮的文字内容(最左边按钮)</li>
<li><code>neutralColor</code> <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Data_structures#String_type" class="type">&lt;string&gt;</a> | <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Data_structures#Number_type" class="type">&lt;number&gt;</a> 对话框中立按钮的文字颜色(最左边按钮)</li>
<li><code>negative</code> <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Data_structures#String_type" class="type">&lt;string&gt;</a> 对话框取消按钮的文字内容(确定按钮左边的按钮)</li>
<li><code>negativeColor</code> <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Data_structures#String_type" class="type">&lt;string&gt;</a> | <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Data_structures#Number_type" class="type">&lt;number&gt;</a> 对话框取消按钮的文字颜色(确定按钮左边的按钮)</li>
<li><code>checkBoxPrompt</code> <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Data_structures#String_type" class="type">&lt;string&gt;</a> 勾选框文字内容</li>
<li><code>checkBoxChecked</code> <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Data_structures#Boolean_type" class="type">&lt;boolean&gt;</a> 勾选框是否勾选 </li>
<li><code>progress</code> <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object" class="type">&lt;Object&gt;</a> 配置对话框进度条的对象:<ul>
<li><code>max</code> <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Data_structures#Number_type" class="type">&lt;number&gt;</a> 进度条的最大值,如果为-1则为无限循环的进度条</li>
<li><code>horizontal</code> <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Data_structures#Boolean_type" class="type">&lt;boolean&gt;</a> 如果为true, 则对话框无限循环的进度条为水平进度条</li>
<li><code>showMinMax</code> <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Data_structures#Boolean_type" class="type">&lt;boolean&gt;</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">&lt;boolean&gt;</a> 对话框是否可取消如果为false则对话框只能用代码手动取消</li>
<li><code>canceledOnTouchOutside</code> <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Data_structures#Boolean_type" class="type">&lt;boolean&gt;</a> 对话框是否在点击对话框以外区域时自动取消默认为true</li>
<li><code>inputHint</code> <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Data_structures#String_type" class="type">&lt;string&gt;</a> 对话框的输入框的输入提示</li>
<li><code>inputPrefill</code> <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Data_structures#String_type" class="type">&lt;string&gt;</a> 对话框输入框的默认输入内容</li>
</ul>
<p>通过这些选项可以自定义一个对话框并通过监听返回的Dialog对象的按键、输入事件来实现交互。下面是一些例子。</p>
<p>模拟alert对话框</p>
<pre><code>dialogs.build({
title: &quot;你好&quot;,
content: &quot;今天也要元气满满哦&quot;,
positive: &quot;好的&quot;
}).show();
</code></pre><p>模拟confirm对话框:</p>
<pre><code>dialogs.build({
title: &quot;你好&quot;,
content: &quot;请问你是笨蛋吗?&quot;,
positive: &quot;是的&quot;,
negative: &quot;我是大笨蛋&quot;
}).on(&quot;positive&quot;, ()=&gt;{
alert(&quot;哈哈哈笨蛋&quot;);
}).on(&quot;negative&quot;, ()=&gt;{
alert(&quot;哈哈哈大笨蛋&quot;);
}).show();
</code></pre><p>模拟单选框:</p>
<pre><code>dialogs.build({
title: &quot;单选&quot;,
items: [&quot;选项1&quot;, &quot;选项2&quot;, &quot;选项3&quot;, &quot;选项4&quot;],
itemsSelectMode: &quot;singleChoice&quot;,
itemsSelectedIndex: 3
}).on(&quot;item_select&quot;, (index, item)-&gt;{
toast(&quot;您选择的是&quot; + item);
}).show();
</code></pre><p>&quot;处理中&quot;对话框:</p>
<pre><code>var d = dialogs.build({
title: &quot;下载中...&quot;,
progress: {
max: -1
},
cancelable: false
}).show();
setTimeout(()=&gt;{
d.dismiss();
}, 3000);
</code></pre><p>输入对话框:</p>
<pre><code>dialogs.build({
title: &quot;请输入您的年龄&quot;,
inputPrefill: &quot;18&quot;
}).on(&quot;input&quot;, (input)=&gt;{
var age = parseInt(input);
toastLog(age);
}).show();
</code></pre><p>使用这个函数来构造对话框一个明显的不同是需要使用回调函数而不能像dialogs其他函数一样同步地返回结果但也可以通过threads模块的方法来实现。例如显示一个输入框并获取输入结果为</p>
<pre><code>var input = threads.disposable();
dialogas.build({
title: &quot;请输入您的年龄&quot;,
inputPrefill: &quot;18&quot;
}).on(&quot;input&quot;, text =&gt; {
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">&lt;Dialog&gt;</span> 对话框</li>
</ul>
</div><p>对话框显示时会触发的事件。例如:</p>
<pre><code>dialogs.build({
title: &quot;标题&quot;
}).on(&quot;show&quot;, (dialog)=&gt;{
toast(&quot;对话框显示了&quot;);
}).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">&lt;Dialog&gt;</span> 对话框</li>
</ul>
</div><p>对话框被取消时会触发的事件。一个对话框可能按取消按钮、返回键取消或者点击对话框以外区域取消。例如:</p>
<pre><code>dialogs.build({
title: &quot;标题&quot;,
positive: &quot;确定&quot;,
negative: &quot;取消&quot;
}).on(&quot;cancel&quot;, (dialog)=&gt;{
toast(&quot;对话框取消了&quot;);
}).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">&lt;Dialog&gt;</span> 对话框</li>
</ul>
</div><p>对话框消失时会触发的事件。对话框被取消或者手动调用<code>dialog.dismiss()</code>函数都会触发该事件。例如:</p>
<pre><code>var d = dialogs.build({
title: &quot;标题&quot;,
positive: &quot;确定&quot;,
negative: &quot;取消&quot;
}).on(&quot;dismiss&quot;, (dialog)=&gt;{
toast(&quot;对话框消失了&quot;);
}).show();
setTimeout(()=&gt;{
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">&lt;Dialog&gt;</span> 对话框</li>
</ul>
</div><p>确定按钮按下时触发的事件。例如:</p>
<pre><code>var d = dialogs.build({
title: &quot;标题&quot;,
positive: &quot;确定&quot;,
negative: &quot;取消&quot;
}).on(&quot;positive&quot;, (dialog)=&gt;{
toast(&quot;你点击了确定&quot;);
}).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">&lt;Dialog&gt;</span> 对话框</li>
</ul>
</div><p>取消按钮按下时触发的事件。例如:</p>
<pre><code>var d = dialogs.build({
title: &quot;标题&quot;,
positive: &quot;确定&quot;,
negative: &quot;取消&quot;
}).on(&quot;negative&quot;, (dialog)=&gt;{
toast(&quot;你点击了取消&quot;);
}).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">&lt;Dialog&gt;</span> 对话框</li>
</ul>
</div><p>中性按钮按下时触发的事件。例如:</p>
<pre><code>var d = dialogs.build({
title: &quot;标题&quot;,
positive: &quot;确定&quot;,
negative: &quot;取消&quot;,
neutral: &quot;稍后提示&quot;
}).on(&quot;positive&quot;, (dialog)=&gt;{
toast(&quot;你点击了稍后提示&quot;);
}).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">&lt;Dialog&gt;</span> 对话框</li>
<li><code>action</code> <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Data_structures#String_type" class="type">&lt;string&gt;</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: &quot;标题&quot;,
positive: &quot;确定&quot;,
negative: &quot;取消&quot;,
neutral: &quot;稍后提示&quot;
}).on(&quot;any&quot;, (action, dialog)=&gt;{
if(action == &quot;positive&quot;){
toast(&quot;你点击了确定&quot;);
}else if(action == &quot;negative&quot;){
toast(&quot;你点击了取消&quot;);
}
}).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">&lt;number&gt;</a> 被选中的项目索引从0开始</li>
<li><code>item</code> <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object" class="type">&lt;Object&gt;</a> 被选中的项目</li>
<li><code>dialog</code> <span class="type">&lt;Dialog&gt;</span> 对话框</li>
</ul>
</div><p>对话框列表(itemsSelectMode为&quot;select&quot;)的项目被点击选中时触发的事件。例如:</p>
<pre><code>var d = dialogs.build({
title: &quot;请选择&quot;,
positive: &quot;确定&quot;,
negative: &quot;取消&quot;,
items: [&quot;A&quot;, &quot;B&quot;, &quot;C&quot;, &quot;D&quot;],
itemsSelectMode: &quot;select&quot;
}).on(&quot;item_select&quot;, (index, item, dialog)=&gt;{
toast(&quot;您选择的是第&quot; + (index + 1) + &quot;项, 选项为&quot; + 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">&lt;number&gt;</a> 被选中的项目索引从0开始</li>
<li><code>item</code> <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object" class="type">&lt;Object&gt;</a> 被选中的项目</li>
<li><code>dialog</code> <span class="type">&lt;Dialog&gt;</span> 对话框</li>
</ul>
</div><p>对话框单选列表(itemsSelectMode为&quot;singleChoice&quot;)的项目被选中并点击确定时触发的事件。例如:</p>
<pre><code>var d = dialogs.build({
title: &quot;请选择&quot;,
positive: &quot;确定&quot;,
negative: &quot;取消&quot;,
items: [&quot;A&quot;, &quot;B&quot;, &quot;C&quot;, &quot;D&quot;],
itemsSelectMode: &quot;singleChoice&quot;
}).on(&quot;item_select&quot;, (index, item, dialog)=&gt;{
toast(&quot;您选择的是第&quot; + (index + 1) + &quot;项, 选项为&quot; + 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">&lt;Array&gt;</a> 被选中的项目的索引的数组</li>
<li><code>items</code> <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array" class="type">&lt;Array&gt;</a> 被选中的项目的数组</li>
<li><code>dialog</code> <span class="type">&lt;Dialog&gt;</span> 对话框</li>
</ul>
</div><p>对话框多选列表(itemsSelectMode为&quot;multiChoice&quot;)的项目被选中并点击确定时触发的事件。例如:</p>
<pre><code>var d = dialogs.build({
title: &quot;请选择&quot;,
positive: &quot;确定&quot;,
negative: &quot;取消&quot;,
items: [&quot;A&quot;, &quot;B&quot;, &quot;C&quot;, &quot;D&quot;],
itemsSelectMode: &quot;multiChoice&quot;
}).on(&quot;item_select&quot;, (indices, items, dialog)=&gt;{
toast(util.format(&quot;您选择的项目为%o, 选项为%o&quot;, 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">&lt;string&gt;</a> 输入框的内容</li>
<li><code>dialog</code> <span class="type">&lt;Dialog&gt;</span> 对话框</li>
</ul>
</div><p>带有输入框的对话框当点击确定时会触发的事件。例如:</p>
<pre><code>dialogs.build({
title: &quot;请输入&quot;,
positive: &quot;确定&quot;,
negative: &quot;取消&quot;,
inputPrefill: &quot;&quot;
}).on(&quot;input&quot;, (text, dialog)=&gt;{
toast(&quot;你输入的是&quot; + 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">&lt;string&gt;</a> 输入框的内容</li>
<li><code>dialog</code> <span class="type">&lt;Dialog&gt;</span> 对话框</li>
</ul>
</div><p>对话框的输入框的文本发生变化时会触发的事件。例如:</p>
<pre><code>dialogs.build({
title: &quot;请输入&quot;,
positive: &quot;确定&quot;,
negative: &quot;取消&quot;,
inputPrefill: &quot;&quot;
}).on(&quot;input_change&quot;, (text, dialog)=&gt;{
toast(&quot;你输入的是&quot; + text);
}).show();
</code></pre>
</div>
</div>
</div>

View File

@ -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">&lt;xml&gt;</span> | <span class="type">&lt;View&gt;</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(()=&gt;{
<pre><code>ui.run(function(){
w.text.setText(&quot;文本&quot;);
});
</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">&lt;xml&gt;</span> | <span class="type">&lt;View&gt;</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(
&lt;frame gravity=&quot;center&quot;&gt;
&lt;text id=&quot;text&quot;&gt;悬浮文字&lt;/text&gt;
&lt;/frame&gt;
);
w.setPosition(500, 500);
setTimeout(()=&gt;{
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">&lt;boolean&gt;</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">&lt;number&gt;</a> x</li>
<li><code>x</code> <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Data_structures#Number_type" class="type">&lt;number&gt;</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">&lt;number&gt;</a> 宽度</li>
<li><code>height</code> <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Data_structures#Number_type" class="type">&lt;number&gt;</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">&lt;Boolean&gt;</a> 是否可触摸</li>
</ul>
</div><p>设置悬浮窗是否可触摸如果为true, 则悬浮窗将接收到触摸、点击等事件并且无法继续传递到悬浮窗下面如果为false, 悬浮窗上的触摸、点击等事件将被直接传递到悬浮窗下面。处于安全考虑,被悬浮窗接收的触摸事情无法再继续传递到下层。</p>
<p>可以用此特性来制作护眼模式脚本。</p>
<pre><code>var w = floaty.rawWindow(
&lt;frame gravity=&quot;center&quot; bg=&quot;#44ffcc00&quot;/&gt;
);
w.setSize(-1, -1);
w.setTouchable(false);
setTimeout(()=&gt;{
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">&lt;number&gt;</a> x</li>
<li><code>x</code> <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Data_structures#Number_type" class="type">&lt;number&gt;</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">&lt;number&gt;</a> 宽度</li>
<li><code>height</code> <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Data_structures#Number_type" class="type">&lt;number&gt;</a> 高度</li>
</ul>
</div><p>设置悬浮窗宽高。</p>
<p>特别地,如果设置为-1则为占满全屏设置为-2则为根据悬浮窗内容大小而定。例如</p>
<pre><code>var w = floaty.rawWindow(
&lt;frame gravity=&quot;center&quot; bg=&quot;#77ff0000&quot;&gt;
&lt;text id=&quot;text&quot;&gt;悬浮文字&lt;/text&gt;
&lt;/frame&gt;
);
w.setSize(-1, -1);
setTimeout(()=&gt;{
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>

View File

@ -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 &lt; 100; i++){
<p>调用该函数时会判断运行脚本的Auto.js的版本号如果没有达到要求则抛出异常。</p>
<p>version参数可以是整数表示版本号例如<code>requiresAutojsVersion(250)</code>;也可以是字符串格式表示的版本,例如&quot;3.0.0 Beta&quot;, &quot;3.1.0 Alpha4&quot;, &quot;3.2.0&quot;等。</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">&lt;Array&gt;</a> 权限的字符串数组</li>
</ul>
</div><p>动态申请安卓的权限。例如:</p>
<pre><code>//请求GPS权限
runtime.requestPermission([&quot;access_fine_location&quot;]);
</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>

View File

@ -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 = &quot;png&quot;, 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(&quot;#112233&quot;, &quot;#112234&quot;));
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是一个&quot;32位整数&quot;(虽然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">&lt;Image&gt;</span> 图片</li>
<li>返回 <span class="type">&lt;Image&gt;</span></li>
</ul>
</div><p>复制一张图片并返回新的副本。该函数会完全复制img对象的数据。</p>
<h2>images.save(image, path[, format = &quot;png&quot;, 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">&lt;image&gt;</span> 图片</li>
<li><code>image</code> <span class="type">&lt;Image&gt;</span> 图片</li>
<li><code>path</code> <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Data_structures#String_type" class="type">&lt;string&gt;</a> 路径</li>
<li><code>format</code> <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Data_structures#String_type" class="type">&lt;string&gt;</a> 图片格式,可选的值为:<ul>
<li><code>png</code></li>

View File

@ -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();
}
}

View File

@ -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() {

View File

@ -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'