如何从 Android 中的 Activity 访问默认工具栏?
How do I access the default ToolBar from an Activity in Android?
我正在尝试从内部访问默认 ToolBar 和 Activity 的 onCreateOptionsMenu 函数来更改溢出菜单图标(三点图标).我想使用这个 class.
提供的 setOverflowIcon 方法
我已经阅读了官方文档、Whosebug 和其他网站上的帖子,但一切都失败了。
我试过 Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar); 但我收到一条错误消息说 R.id.toolbar不存在。
您可以从 AppCompatActivity 获取默认工具栏
getSupportActionBar();
使用 xml 创建菜单文件并将其放入 res/menu 文件夹
onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.your_menu, menu);
}
执行 Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar) 预计不会起作用,因为 ID 不明确存在。每个 activity-Java class 扩展 Activity (或其直接或间接子 classes),您可以使用它来获取操作栏(可以这么说)。
如果您的 java 文件扩展了 AppCompatActivity,您可以使用 getSupportActionBar()
调用 ActionBar。
Java 个扩展 Activity 的文件需要 getActionBar()
来调用工具栏。
此后您可以执行更改显示 text/title、可绘制背景等操作,以及其他任务。
要了解有关获取操作栏的更多信息,请查看 this link。
如果您使用 AppcompatActivity
,您应该像这样使用 SupportActionBar
:
supportActionBar?.title = "My Activity title"
这段代码:Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
仅当您在 xml
中添加了具有 toolbar
id 的 Toolbar
时才有效。即使你这样做了,你也应该 setSupportActionBar(yourToolBar)
在做任何事情之前。然后直接用supportActionBar
代替。
晚会有点晚了,但可以通过像 androidx.appcompat.R.id.action_bar
这样的 id 来引用默认工具栏
findViewById(androidx.appcompat.R.id.action_bar)
我正在尝试从内部访问默认 ToolBar 和 Activity 的 onCreateOptionsMenu 函数来更改溢出菜单图标(三点图标).我想使用这个 class.
提供的 setOverflowIcon 方法我已经阅读了官方文档、Whosebug 和其他网站上的帖子,但一切都失败了。
我试过 Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar); 但我收到一条错误消息说 R.id.toolbar不存在。
您可以从 AppCompatActivity 获取默认工具栏
getSupportActionBar();
使用 xml 创建菜单文件并将其放入 res/menu 文件夹
onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.your_menu, menu);
}
执行 Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar) 预计不会起作用,因为 ID 不明确存在。每个 activity-Java class 扩展 Activity (或其直接或间接子 classes),您可以使用它来获取操作栏(可以这么说)。
如果您的 java 文件扩展了 AppCompatActivity,您可以使用 getSupportActionBar()
调用 ActionBar。
Java 个扩展 Activity 的文件需要 getActionBar()
来调用工具栏。
此后您可以执行更改显示 text/title、可绘制背景等操作,以及其他任务。
要了解有关获取操作栏的更多信息,请查看 this link。
如果您使用 AppcompatActivity
,您应该像这样使用 SupportActionBar
:
supportActionBar?.title = "My Activity title"
这段代码:Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
仅当您在 xml
中添加了具有 toolbar
id 的 Toolbar
时才有效。即使你这样做了,你也应该 setSupportActionBar(yourToolBar)
在做任何事情之前。然后直接用supportActionBar
代替。
晚会有点晚了,但可以通过像 androidx.appcompat.R.id.action_bar
这样的 id 来引用默认工具栏findViewById(androidx.appcompat.R.id.action_bar)