Autojs偶尔用到的一些功能代码段(持续更新中)

前言

  • 开发过程偶尔用到的一些代码,作一下收录。
  • 部分代码由java修改,部分封装自道无涯,部分收录自互联网~
  • 本文持续更新中,有常用的可评论区投稿收录~

脚本定制

请移步 软件|源码定制

不清空写入文本

function 不清空写入(uri, msg) {
    if(!files.exists(uri)){
        files.create(uri)
    }
    var original_content = files.read(uri)
    if (!original_content) {
        files.write(uri, msg)
        console.info("写入成功,已将信息写入文件:" + uri)
    } else {
        //如果不需要判断文本内容的重复性,就把下面if的判断区域注释掉
        if (original_content.indexOf(msg) != -1) {
            console.error("文件:" + uri + ",已存在该信息,不再写入")
            return
        }
        files.write(uri, original_content + "\n" + msg)
        console.info("写入成功,已将信息写入文件:" + uri)
    }
}

监听spinner下拉点击事件

ui.spinner.setOnItemSelectedListener({
    onItemSelected: function (parent, view, position, id) {
        let selectedIndex = ui.spinner.getSelectedItemPosition()
        let selectedOption = ui.spinner.getSelectedItem();
        console.log("当前点击的项目索引是:" + selectedIndex);
        console.log("当前点击的项目名称是:" + selectedOption);
    }
});

禁用viewpager滑动

ui.viewpager.setOnTouchListener(new android.view.View.OnTouchListener({
    onTouch: function(view, event) {
        return true;
    }
}));

dialog时间选择

'ui';
ui.layout(
    <horizontal gravity="center">
        <text text="时间:" textColor="#000000" textSize="18" />
        <card w="90" h="40" cardCornerRadius="8" cardElevation="0" cardBackgroundColor="#009788" >
            <card margin="1" cardCornerRadius="7" >
                <vertical gravity="center">
                    <text id="time" textSize="18" gravity="center" />
                </vertical>
            </card>
        </card>
    </horizontal>
)
ui.time.setText(new java.text.SimpleDateFormat("HH:mm").format(new Date()))
ui.time.on("click", function () {
    let builder = new android.app.AlertDialog.Builder(activity)
    builder.setTitle("时间选择");
    builder.setNegativeButton("取消", new android.content.DialogInterface.OnClickListener({
        onClick: function (dialog, which) {
            dialog.dismiss();
        }
    }))
    builder.setPositiveButton("确定", new android.content.DialogInterface.OnClickListener({
        onClick: function (dialog, which) {
            let time = view.timepicker.getHour() + ":" + view.timepicker.getMinute();
            ui.time.setText(time);
            dialog.dismiss();
        }
    }))
    let view = ui.inflate(
        <vertical>
            <timepicker id="timepicker" margin="0 25 0 0" />
        </vertical>
    );
    view.timepicker.setIs24HourView(true);
    let dialog = builder.create();
    dialog.setView(view);
    dialog.getWindow().setDimAmount(0)
    dialog.show();
})

监听输入法的弹出和收起

let rootView = activity.getWindow().getDecorView().getRootView();
rootView.getViewTreeObserver().addOnGlobalLayoutListener(
  new android.view.ViewTreeObserver.OnGlobalLayoutListener({
    onGlobalLayout: function () {
      let r = new android.graphics.Rect();
      rootView.getWindowVisibleDisplayFrame(r);
      let screenHeight = rootView.getRootView().getHeight();
      let keypadHeight = screenHeight - r.bottom;

      // 输入法弹起
      if (keypadHeight > screenHeight * 0.15) {
        toast('输入法弹起');
        // 执行相应操作
      }

      // 输入法收起
      else {
        toast('输入法收起');
        // 执行相应操作
      }
    }
  })
);

vscode代码自动补全

  • v8项目
    npm i @autojs/types-pro8 --no-bin-links
  • v9项目
    npm i @autojs/types-pro9 --no-bin-links

其它

待补充...


作 者:道无涯
来 源:道无涯博客
链 接: https://www.daowuya.love/autojs监听spinner下拉点击事件的代码示例/
版 权 声 明:本博客所有文章除特别声明外,均采用CC BY-NC-SA 4.0许可协议。文章版权归作者所有,未经允许请勿转载!


暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇