[英]How to change toolbar style programmatically? When I try to do this popup menu changes instead of the toolbar
我的應用程序有一個自定義工具欄,但在其中一項活動中,我想以編程方式更改工具欄的樣式。 這是我想以編程方式應用的工具欄樣式。
<style name="toolbarStyle" parent="ThemeOverlay.AppCompat.Dark">
<item name="android:background">@color/teal_200</item>
<item name="colorAccent">@android:color/white</item>
</style>
我使用此代碼以編程方式更改工具欄樣式
toolbar.getContext().setTheme(R.style.toolbarStyle);
問題是,彈出主題發生了變化,而不是工具欄。
如何解決?
使用此代碼:
toolbar.getContext().setTheme(R.style.toolbarStyle);
set 是整個Activity
的主題,因為您已經在Activity
的Context
上調用了setTheme()
。
主題旨在用於整個應用程序,而不僅僅是用於單個 UI 元素。 您只想使用樣式來設置這個 UI 元素的樣式。
如果您有自定義工具欄,那么您應該只在自定義工具欄上創建方法來調整這些 styles 並從您的Activity
調用這些方法。
你在活動還是碎片化? 如果活動,請嘗試 getSupportActionBar() 以獲取使用的工具欄
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.