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

use*_*535 5 java android toolbar android-activity kotlin

我正在尝试从内部访问默认的工具栏,并尝试通过Activity的onCreateOptionsMenu函数更改“溢出”菜单图标(三个点的图标)。我想使用此类提供的setOverflowIcon方法。

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

我尝试例如工具栏工具栏=(工具栏)findViewById(R.id.toolbar); 但我收到一条错误消息,指出R.id.toolbar不存在。

Kin*_*uoc 6

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

supportActionBar?.title = "My Activity title"
Run Code Online (Sandbox Code Playgroud)

这一段代码:Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);只有当你已经添加了一个工作Toolbartoolbar的ID xml。即使你做了,你也应该setSupportActionBar(yourToolBar)在做任何事情之前。然后supportActionBar直接使用。

  • 但这会返回一个 ActionBar 而不是 ToolBar。 (3认同)

小智 5

虽然有点晚了,但默认工具栏可以通过像androidx.appcompat.R.id.action_bar这样的 id 来引用

findViewById(androidx.appcompat.R.id.action_bar)
Run Code Online (Sandbox Code Playgroud)