Как изменить цвет фона панели действий без увеличения min sdk?
Как известно, цветной фон панели действий разрешен на уровне sdk 11, смотрите этот. Но есть некоторые приложения с цветной панелью действий, которые имеют min sdk ниже 11. Например Whatsapp имеет зеленую панель действий, но имеет min sdk: 7 WhatsApp FAQ, или приложение Telegram имеет min sdk: 8 Частота телеграмм, но имеет синюю панель действий.
Как работают эти приложения? И как я могу это сделать?
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);
Этот код требует minSdk = 11, для getActionBar()
. Пожалуйста, помогите мне.
Ответы
Ответ 1
Toolbar
(новое имя для ActionBar, введенное в Lollipop), является обычным представлением.
Ссылка: 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"
Ответ 2
Чтобы изменить цвет вашей панели инструментов, используйте это:
getSupportActionBar().setBackgroundDrawable(new ColorDrawable(getResources().getColor(R.color.toolbar_color_primary)));