autojs-Toolbar添加Menu按钮

2024-01-14 13:38
文章标签 按钮 autojs menu toolbar

本文主要是介绍autojs-Toolbar添加Menu按钮,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

效果展示

在这里插入图片描述

源码

/** @Author: 大柒* @QQ: 531310591@qq.com* @Date: 2021-04-25 14:42:35* @Version: Auto.Js Pro* @Description:* @LastEditors: 牙叔* @LastEditTime: 2021-04-25 18:04:13*/
"ui";importClass(android.view.MenuItem);
importClass(android.graphics.Bitmap);
importClass(android.graphics.BitmapFactory);
importClass(android.graphics.drawable.ColorDrawable);
importClass(android.graphics.drawable.BitmapDrawable);const resources = context.getResources();
const scale = resources.getDisplayMetrics().density;
const MENU_CONFIRM = 17;ui.layout(<vertical><appbar><toolbar id="toolbar" title="ToolBar" subtitle="大柒Se7en" /></appbar></vertical>
);let mToolbar = ui.toolbar;
let bmp = images.read("海贼王全体照片.png").getBitmap();
mToolbar.setBackgroundDrawable(new BitmapDrawable(bmp));activity.setSupportActionBar(mToolbar);// menu.add方法的参数:
// 第一个int类型的groupID参数,代表的是组概念,你可以将几个菜单项归为一组,以便更好的以组的方式管理你的菜单按钮。
// 第二个int类型的item ID参数,代表的是项目编号。这个参数非常重要,一个itemID对应一个menu中的选项。在后面使用菜单的时候,就靠这个item ID来判断你使用的是哪个选项。
// 第三个int类型的orderID参数,代表的是菜单项的显示顺序。默认是0,表示菜单的显示顺序就是按照add的显示顺序来显示。
// 第四个String类型的title参数,表示选项中显示的文字。ui.emitter.on("create_options_menu", (menu) => {//添加按钮let item = menu.add(0, MENU_CONFIRM, 0, "启动");//指定按钮显示的位置item.setShowAsAction(MenuItem.SHOW_AS_ACTION_IF_ROOM | MenuItem.SHOW_AS_ACTION_WITH_TEXT);//获取指定大小的内置资源Drawablelet mDrawable = getResDrawable("ic_play_arrow_black_48dp", 24);//图片着色mDrawable.setTint(colors.parseColor("#FFFFFF"));//设置item图标item.setIcon(mDrawable);item = menu.add(0, 2, 0, "艾斯");item.setIcon(getDrawable("海贼王/艾斯.jfif", 120));item.setShowAsAction(MenuItem.SHOW_AS_ACTION_IF_ROOM | MenuItem.SHOW_AS_ACTION_WITH_TEXT);item = menu.add(0, 3, 0, "白胡子");item.setIcon(getDrawable("海贼王/白胡子.jfif", 120));item.setShowAsAction(MenuItem.SHOW_AS_ACTION_IF_ROOM | MenuItem.SHOW_AS_ACTION_WITH_TEXT);return true;
});function getDrawable(filePath, size) {size = size || 36;let oldBmp = images.read(filePath).getBitmap();let newBmp = Bitmap.createScaledBitmap(oldBmp, dp2px(size), dp2px(size), true);return new BitmapDrawable(newBmp);
}ui.emitter.on("options_item_selected", (e, item) => {switch (item.getTitle()) {case "启动":toastLog("点击了启动");break;case "艾斯":toastLog("有个爱闯祸的弟弟,哥哥总是要特别担心");break;case "路飞":toastLog("我是要成为海贼王的男人");break;case "白胡子":toastLog("做我儿子吧");break;}e.consumed = true;
});/*** 获取内置资源的Drawable* @param {*} resName* @param {*} size*/
function getResDrawable(resName, size) {let oldBmp = BitmapFactory.decodeResource(resources, getResDrawableID(resName));let newBmp = Bitmap.createScaledBitmap(oldBmp, dp2px(size), dp2px(size), true);let drawable = new BitmapDrawable(resources, newBmp);oldBmp.recycle();return drawable;
}/*** 获取内质资源 DrawableID* @param {*} name*/
function getResDrawableID(name) {return resources.getIdentifier(name, "drawable", context.getPackageName());
}/*** Dp转Px* @param {*} dp* @returns*/
function dp2px(dp) {return parseInt(Math.floor(dp * scale + 0.5));
}/*** Px转Dp* @param {*} px* @returns*/
function px2dp(px) {return parseInt(Math.floor(px / scale + 0.5));
}

声明

部分内容来自网络

bilibili

牙叔教程

微信公众号 牙叔教程

在这里插入图片描述

QQ群

747748653

在这里插入图片描述

这篇关于autojs-Toolbar添加Menu按钮的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/605334

相关文章

C# 防止按钮botton重复“点击”的方法

在使用C#的按钮控件的时候,经常我们想如果出现了多次点击的时候只让其在执行的时候只响应一次。这个时候很多人可能会想到使用Enable=false, 但是实际情况是还是会被多次触发,因为C#采用的是消息队列机制,这个时候我们只需要在Enable = true 之前加一句 Application.DoEvents();就能达到防止重复点击的问题。 private void btnGenerateSh

PNG透明背景按钮的实现(MFC)

问题描述: 当前要在对话框上添加一个以两个PNG图片作为背景的按钮,PNG图的背景是透明的,按钮也要做出相同的透明效果。并且鼠标不在按钮上时,按钮显示"bg1.png";鼠标移动到按钮上时,按钮显示"bg2.png" 开发环境为VS2010。 解决办法: 使用GDI+库装载PNG图片,并使用MFC Button Control和CMFCButton类结合,调用CMFCButton

Android ToolBar+DrawerLayout的实现

实现思路: 1.关联相应的依赖包 compile ‘com.android.support:appcompat-v7:25.3.1’ 2.主布局 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools"

龙芯+FreeRTOS+LVGL实战笔记(新)——05部署主按钮

本专栏是笔者另一个专栏《龙芯+RT-Thread+LVGL实战笔记》的姊妹篇,主要的区别在于实时操作系统的不同,章节的安排和任务的推进保持一致,并对源码做了改进和优化,各位可以先到本人主页下去浏览另一专栏的博客列表(目前已撰写36篇,图1所示),再决定是否订阅。此外,也可以前往本人在B站的视频合集(图2所示)观看所有演示视频,合集首个视频链接为: 借助RT-Thread和LVGL

致远个性化之--发起流程页面,去掉【查看流程】按钮

需求 近期在做的项目中,遇到一个需求,想把发起流程页面中的【查看流程】按钮去掉,只让员工预测流程,知道自己的事项流程走向,不让看全局流程图。包含PC端和移动端,以及微协同端。 如下图效果示例: 实现 此需求,只能通过修改页面代码实现。在此不分析实现过程,现把具体实现方式呈现如下,各位如有需求可参照设置。适用版本V9.0,其他版本未进行测试,估计不会有大的差别! PC端 找到文件

如何在Excel中创建一个VBA宏,并设置一个按钮来执行这个宏

下面是一个详细的步骤指南 步骤1:创建VBA宏 1. 打开Excel并按 `Alt + F11` 打开VBA编辑器。 2. 在VBA编辑器中,选择 `Insert` > `Module` 来插入一个新的模块。 3. 将以下代码粘贴到模块中: ```vba Sub CreateNewSheet()' 声明一个工作表对象Dim newSheet As Worksheet' 添加一个新的工作表S

Vue3实现点击按钮下载头像功能

要实现的效果 点击头像右上角弹出选项,点击保存图片可以把图片下载保存到本地 实现方式关键代码 1.第一种,直接创建a标签给头像地址。进行下载 // 创建一个隐藏的 <a> 标签const link = document.createElement("a");link.href = headPic; // 设置为图片的 URLlink.download = "avatar.jpg"; //

Android ToggleButton 开关按钮

ToggleButton相关属性,方法android:textOn="On"android:textOff="Off"android:checked="true"setChecked(boolean) package shortcut.song.com.myapplication;import android.support.v7.app.AppCompatActivity;impo

Android RadioButton 单选按钮

RadioGroup 单选按钮组, 可以包含多个单选按钮,当单选按钮选中状态改变时会触发setOnCheckedChangeListener package shortcut.song.com.myapplication;import android.graphics.Color;import android.support.v7.app.AppCompatActivity;imp

delphi如何给按钮添加单键快捷键(F1~F12)

用action 讲按钮窗体的Keypreview设为True,然后加如下代码 Delphi/Pascal code ? 1 2 3 4 5 6 procedure  TForm1 . FormKeyDown(Sender: TObject;  var  Key:  Word ;    Shift: TShiftState); begin    i