代码之家  ›  专栏  ›  技术社区  ›  user5507535

如何从Android中的活动访问默认工具栏?

  •  7
  • user5507535  · 技术社区  · 7 年前

    我正在尝试访问默认值 ToolBar 从内部和活动 OnCreateOptions菜单 功能更改溢出菜单图标(三点图标)。我想使用 setOverflowIcon设置溢出图标 此类提供的方法。

    我已经阅读了官方文档、StackOverflow和其他网站上的帖子,但一切都失败了。

    例如,我试过 Toolbar Toolbar=(Toolbar)findViewById(R.id.Toolbar); 但我得到一个错误 R、 id.工具栏 不存在。

    5 回复  |  直到 7 年前
        1
  •  6
  •   Kingfisher Phuoc    7 年前

    如果您正在使用 AppcompatActivity ,您应该使用 SupportActionBar 像这样:

    supportActionBar?.title = "My Activity title"
    

    这段代码: Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar); 仅当您添加了 Toolbar 具有 toolbar id输入 xml .即使你做到了,你也应该 setSupportActionBar(yourToolBar) 在做任何事情之前。然后使用 supportActionBar 而是直接。

        2
  •  3
  •   Taslim Oseni    7 年前

    正在执行 Toolbar Toolbar=(Toolbar)findViewById(R.id.Toolbar) 由于ID不显式存在,因此预期无法工作。每个activity Java类都扩展activity(或其直接或间接子类),您可以使用它来获取操作栏(可以这么说)。

    如果java文件扩展了AppCompatActivity,则可以使用 getSupportActionBar() 调用ActionBar。

    扩展活动的Java文件需要 getActionBar() 调用工具栏。

    此后,您可以执行诸如更改显示的文本/标题、背景可绘制等操作。

    要了解有关获取操作栏的更多信息,请访问 this link

        3
  •  0
  •   geekon    3 年前

    有点晚了,但默认工具栏可以由id引用,如 androidx。appcompat。R、 id.action\u栏

    findViewById(androidx.appcompat.R.id.action_bar)
    
        4
  •  -2
  •   Ahamed Yasin Majeeth    7 年前

    您可以从AppCompatActivity获取默认工具栏

    getSupportActionBar();

        5
  •  -3
  •   ColdFire    7 年前

    使用xml创建菜单文件并将其放置在res/menu文件夹中

    onCreateOptionsMenu(Menu menu) {
        getMenuInflater().inflate(R.menu.your_menu, menu);
    }