2016-07-31 5 views
11

Как известно, цветной фон панели действий разрешен на уровне sdk 11, часы this. Но есть некоторые приложения с цветной панелью действия, которые имеют min sdk ниже 11. Например, Whatsapp имеет зеленую панель действия, но имеет min sdk: 7 WhatsApp FAQ, или приложение Telegram имеет min sdk: 8 Telegram FAQ, но имеет синюю панель действий.Как изменить цвет фона панели действий без увеличения min sdk?

Как работают эти приложения? И как я могу это сделать?

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(). Пожалуйста, помогите мне.

+3

Они, вероятно, либо использовать библиотеку или может иметь свою собственную реализацию ActionBar (как макет). Вероятно. – Shaishav

+0

'setSupportActionBar'? Это позволяет использовать минимальную панель API API 7, я считаю, что –

ответ

6

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

Отметить как уже ответили :) – Warpzit

+0

Ссылка, предоставленная для справки, не указана в методах 'setBackgroundColor()' или 'setBackgroundResource()' или я чего-то не хватает? – Talha

+0

@ Тальха, очевидно, да, вы не замечаете важной детали; официальная ссылка на документацию, представленная мной, показывает, что «Панель инструментов» простирается от «Вид». Методы setBackground относятся к классу вида – Budius

0

Чтобы изменить цвет панели инструментов используйте:

getSupportActionBar().setBackgroundDrawable(new ColorDrawable(getResources().getColor(R.color.toolbar_color_primary))); 
Смежные вопросы