[英]How do I access the default ToolBar from an Activity in Android?
我正在嘗試從內部和 Activity 的onCreateOptionsMenu函數訪問默認工具欄以更改溢出菜單圖標(三個點圖標)。 我想使用這個類提供的setOverflowIcon方法。
我已經閱讀了官方文檔、StackOverflow 和其他網站上的帖子,但一切都失敗了。
我試過例如Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar); 但我收到一條錯誤消息,指出R.id.toolbar不存在。
如果您正在使用AppcompatActivity
,您應該像這樣使用SupportActionBar
:
supportActionBar?.title = "My Activity title"
這段代碼: Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
僅當您在xml
添加了Toolbar
toolbar
ID為Toolbar
時才有效。 即使你這樣做了,你也應該在做任何事之前設置setSupportActionBar(yourToolBar)
。 然后直接使用supportActionBar
。
您可以從AppCompatActivity獲取默認工具欄
getSupportActionBar();
執行工具欄工具欄=(工具欄)findViewById(R.id.toolbar)預計不起作用,因為ID未明確存在。 每個activity-Java類都擴展了Activity(或它的直接或間接子類),你可以用它來獲取動作欄(可以這么說)。
如果您的java文件擴展了AppCompatActivity,您可以使用getSupportActionBar()
來召喚ActionBar。
擴展Activity的Java文件需要getActionBar()
來召喚工具欄。
此后,您可以執行諸如更改顯示的文本/標題,背景可繪制以及其他任務之類的操作。
要了解有關獲取操作欄的更多信息,請查看此鏈接 。
聚會有點晚了,但默認工具欄可以通過像androidx.appcompat.R.id.action_bar這樣的 id引用
findViewById(androidx.appcompat.R.id.action_bar)
使用xml創建菜單文件並將其放在res / menu文件夾中
onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.your_menu, menu);
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.