首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

显示不带call setSupportActionBar的菜单

在Android开发中,使用setSupportActionBar()方法可以将一个Toolbar实例设置为Activity的操作栏。通过调用setSupportActionBar()方法,我们可以在Toolbar中显示菜单项,并处理菜单项的点击事件。

然而,如果我们不使用setSupportActionBar()方法,而是想要在Toolbar中显示菜单项,可以通过以下步骤实现:

  1. 首先,在布局文件中定义一个Toolbar控件,例如:
代码语言:txt
复制
<androidx.appcompat.widget.Toolbar
    android:id="@+id/toolbar"
    android:layout_width="match_parent"
    android:layout_height="?attr/actionBarSize"
    android:background="?attr/colorPrimary"
    android:elevation="4dp"
    android:theme="@style/ThemeOverlay.AppCompat.ActionBar" />
  1. 在Activity的onCreate()方法中,找到Toolbar控件的引用,并设置它作为Activity的ActionBar,代码如下:
代码语言:txt
复制
Toolbar toolbar = findViewById(R.id.toolbar);
setSupportActionBar(toolbar);
  1. 接下来,我们需要创建一个菜单资源文件,例如menu_main.xml,并在其中定义菜单项,例如:
代码语言:txt
复制
<menu xmlns:android="http://schemas.android.com/apk/res/android">
    <item
        android:id="@+id/menu_item1"
        android:title="菜单项1"
        android:icon="@drawable/ic_menu_item1"
        android:showAsAction="always" />
    <item
        android:id="@+id/menu_item2"
        android:title="菜单项2"
        android:icon="@drawable/ic_menu_item2"
        android:showAsAction="always" />
</menu>
  1. 最后,在Activity中重写onCreateOptionsMenu()方法和onOptionsItemSelected()方法,以处理菜单项的点击事件,代码如下:
代码语言:txt
复制
@Override
public boolean onCreateOptionsMenu(Menu menu) {
    getMenuInflater().inflate(R.menu.menu_main, menu);
    return true;
}

@Override
public boolean onOptionsItemSelected(MenuItem item) {
    int id = item.getItemId();

    if (id == R.id.menu_item1) {
        // 处理菜单项1的点击事件
        return true;
    } else if (id == R.id.menu_item2) {
        // 处理菜单项2的点击事件
        return true;
    }

    return super.onOptionsItemSelected(item);
}

这样,我们就可以在Toolbar中显示菜单项,并处理菜单项的点击事件,而不使用setSupportActionBar()方法。

腾讯云相关产品和产品介绍链接地址:

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

  • Boot Manager菜单显示语言设置

    原因分析: Boot Manager相关菜单显示语言保存在BCD引导配置数据库(Boot Configuration Data)里。...例如,假设BCD记录着Boot Manager相关菜单显示语言应该是简体中文,那么Windows就会调用C:\BOOTMGR与C:\BOOT\zh-cn\BOOTMGR.EXE.MUI文件,组成简体中文...{BOOTMGR} LOCALE ZH-CN (此命令将把需要启动操作系统选择菜单,也就是多重操作系统共存时选择需要启动哪个操作系统选择菜单显示语言修改为简体中文) BCDEDIT -SET...{CURRENT} LOCALE ZH-CN (此命令将把当前选定 Windows操作系统 F8 高级启动菜单显示语言修改为简体中文) BCDEDIT -SET {MEMDIAG} LOCALE...来源:易宝典:Boot Manager菜单显示语言设置

    1.7K20

    jQuery二级菜单显示隐藏

    在jQuery中创建二级菜单显示和隐藏可以通过使用事件处理函数和CSS样式来实现。HTML 结构 首先,需要创建适当HTML结构来表示二级菜单。一种常见方法是使用嵌套和元素。...每个菜单项都包含一个链接,以及一个嵌套无序列表来表示二级菜单。CSS 样式 接下来,需要使用CSS样式来控制二级菜单显示和隐藏。可以通过设置样式display属性来实现。...然后,通过为父级菜单项设置:hover伪类选择器,当鼠标悬停在菜单项上时,显示相应二级菜单。...JavaScript 交互 要使用jQuery实现二级菜单显示和隐藏,可以使用jQuery事件处理函数。...当鼠标进入菜单项时,使用slideDown()方法显示相应二级菜单。当鼠标离开菜单项时,使用slideUp()方法隐藏二级菜单

    3.3K30

    android Material Design详解

    setSupportActionBar之前,不然会无效  // toolbar.setSubtitle("副标题");  setSupportActionBar(mToolbar);   /*...诶,左边菜单图标怎么出来呢,其实上面还没处理到,他就是Navigation drawer了,使用新版本v4、v7库drawer明显一点是它带了一个酷酷交互动画(请看最后gif图)。...侧滑菜单内容为简单起见直接先用图片来演示了。...R.string.drawer_close);   mDrawerToggle.syncState();   mDrawerLayout.setDrawerListener(mDrawerToggle);   先把图标设置显示出来...关于侧滑菜单需不需要覆盖Toolbar问题好像从Google提供例子来看两者都有。我想既然它做出这个Toggle按钮动画来的话如果覆盖了不就没有意义了?或者还有其它考虑?

    2K90

    Android Material Design之Toolbar与Palette实践

    诶,左边菜单图标怎么出来呢,其实上面还没处理到,他就是Navigation drawer了,使用新版本v4、v7库drawer明显一点是它带了一个酷酷交互动画(请看最后gif图)。...侧滑菜单内容为简单起见直接先用图片来演示了。...R.string.drawer_close); mDrawerToggle.syncState(); mDrawerLayout.setDrawerListener(mDrawerToggle); 先把图标设置显示出来...关于侧滑菜单需不需要覆盖Toolbar问题好像从Google提供例子来看两者都有。我想既然它做出这个Toggle按钮动画来的话如果覆盖了不就没有意义了?或者还有其它考虑?...("副标题"); setSupportActionBar(mToolbar); /* 这些通过ActionBar来设置也是一样,注意要在setSupportActionBar(toolbar)

    1.3K80

    Head First Android Toolbar

    理解是大致如下图所示,如果没有AppCompat,我们开发应用在不同版本Android系统上显示起来会像上面一行三个图片那样,没有统一界面风格;而如果使用了AppCompat的话,就会像下面一行三个图片那样...再来看下Toolbar,这是从AppCompat 21版本开始引入,它使用就像一个普通View组件一样,同时它还可以充当ActionBar,这样我们设置菜单项就会显示在它上面了。...ActionBar功能,默认提供了很多种元素可以放置在Toolbar上,其中包括导航按钮、logo图标、标题和子标题、一个或多个自定义View以及菜单项。...android:attr/colorPrimary" /> (3.3)设置Toolbar为ActionBar 在ActivityonCreate 方法中调用setSupportActionBar(Toolbar...(toolbar); } } 显示结果如下: ?

    88820

    Android AppBar

    但Action Bar引入最初没有很好考虑兼容问题,随着不同系统版本逐渐增加特性完善起来,在不同主题会有不同显示效果。简而言之,就是兼容性不好,API设计也比较散乱。...而Tool Bar推出,以独立纯净支持库形式提供了App Bar需要所有特性,这样,可以在最大范围设备上表现出这一最新UI设计,API得到统一,而且提供更好定制。 ?...In the activity's onCreate() method, call the activity's setSupportActionBar() method, and pass the activity's...Action View可以指定显示在App Bar中View,处理View展开和收起等逻辑。Action Provider更灵活些,允许自定义UI布局,处理所有点击事件,弹出菜单列表等。...总结 文章简单把Google官方Android开发文档中介绍App Bar部分进行了摘取,整理为markdown文章。 以上4节对ToolBar使用进行了入门级介绍。

    94860

    基于树莓派多功能USB实现--显示屏和按键交互菜单

    接上期基于树莓派多功能USB实现--系统安装 显示屏和按键交互扩展板主要是为了方便在使用设备时多种模式切换,以及给与相应回显反馈。...git链接 https://github.com/pedroqin/RaspberryPi-based-multi-functional-USB-Device 实现功能 头部显示IP和模式 中间部分显示菜单内容和执行结果...店家提供了c,python2操作扩展板示例程序和使用fbtft驱动显示示例程序,这里我们在python2示例程序基础上开发。 ?...如果忽略LCD扩展版底层实现,以显示图片为一个功能模块,则符合以下流程 ? 即,交互菜单可以简化为获取执行按键选项==>绘制图片==>显示图片 屏幕分配 ?...红色区域显示IP以及当前模式,于程序运行时初始化,后无需刷新 绿色区域显示菜单以及命令内容 蓝色区域显示当前load average以及温度,随绿色区域一起刷新 按键 Key1/方向键 中 作为确认 Key2

    1.5K40

    Material Design 实战 之第一弹——Toolbar详解

    但是这样指定完了之后又会出现新问题,如果Toolbar中有菜单按钮,那么弹出菜单项也会变成深色主题,这样就再次变得十分难看,于是这里使用了app:popupTheme属性单独将弹出菜单项指定成了淡色主题...接着使用app:showAsAction来指定按钮显示位置, 之所以这里再次使用了app命名空间,同样是为了能够兼容低版本系统。...showAsAction主要有以下几种值可选: always表示永远显示在Toolbar中,如果屏幕空间不够则不显示; ifRoom表示屏幕空间足够情况下显示在Toolbar中,不够的话就显示菜单当中...; never则表示永远显示菜单当中。...注意, Toolbar中action按钮只会显示图标, 菜单action按钮只会显示文字。 接下来就是创建菜单套路了,修改MainActivity中代码,如下所示: ? ? ?

    75620

    Android实现侧滑菜单DrawerLayout

    本文实例为大家分享了Android实现侧滑菜单具体代码,供大家参考,具体内容如下 点击左侧滑动 效果如下 ?...DrawerLayout 中,需要强调是侧滑菜单也就是下图显示TextView一定要设置layout_gravity属性,我是从左侧滑动,所以设置为start <androidx.drawerlayout.widget.DrawerLayout...protected void setupToobar() { toolbar = findViewById(R.id.toolbar); setSupportActionBar(toolbar...4.后话 可以在主内容区里面再放一个布局,里面放各个fragment,就可以实现每个页面都有侧滑菜单效果。 侧滑菜单里面的布局可以新建一个xml文件,然后include,可以看起来舒服点吧。...其他效果后面慢慢来吧。 github下载地址 以上就是本文全部内容,希望对大家学习有所帮助。

    1.5K20
    领券