Подтвердить что ты не робот

Как изменить цвет фона панели действий без увеличения 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(). Пожалуйста, помогите мне.

4b9b3361

Ответ 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)));