如何在不增加min sdk的情况下更改动作栏的背景颜色?

时间:2016-07-31 16:39:27

标签: android android-actionbar

众所周知,在sdk 11级允许操作栏的彩色背景,请this。但是有些应用程序的彩色操作栏的最小sdk低于11.例如,Whatsapp有绿色操作栏但有最小sdk:7 WhatsApp FAQ,或者Telegram应用程序有min sdk:8 Telegram FAQ ,但有蓝色动作栏。

这些应用程序如何工作?我怎么能这样做?

android.app.ActionBar actionBar = (android.app.ActionBar) getActionBar();
actionBar.setDisplayShowHomeEnabled(false);
View mActionBarView = getLayoutInflater().inflate(R.layout.action_bar_main, null);
actionBar.setCustomView(mActionBarView);
actionBar.setDisplayOptions(ActionBar.DISPLAY_SHOW_CUSTOM);

对于getActionBar(),此代码需要minSdk = 11。请帮帮我。

2 个答案:

答案 0 :(得分:6)

Toolbar(Lollipop中引入的ActionBar的新名称)只是一个普通的视图。

链接:https://developer.android.com/reference/android/support/v7/widget/Toolbar.html

你只需像任何其他视图一样设置它的背景。

// java
toolbar.setBackgroundColor(int color);
// or 
toolbar.setBackgroundResource(int resId);

// or XML
android:background="@drawable/toolbarBackground"

答案 1 :(得分:0)

要更改工具栏的颜色,请使用以下命令:

getSupportActionBar().setBackgroundDrawable(new ColorDrawable(getResources().getColor(R.color.toolbar_color_primary)));