Я внес некоторые изменения в свой проект, например добавление android.support.v7.app.ActionBarDrawerToggle/ActionBar/ActionBarActivity/Toolbar
. Все работает хорошо, единственная проблема, с которой я сталкиваюсь, заключается в том, что я не знаю, как изменить цвет фона ActionBar
, он серый, а текст черный. Это то, что я пробовал:Изменить цвет фона в android.support.v7.app.ActionBar
themes.xml
<resources>
<!-- the theme applied to the application or activity -->
<style name="CustomActionBarTheme1" parent="@style/Theme.AppCompat.Light">
<item name="windowActionBar">false</item>
<item name="android:actionBarStyle">@style/MyActionBar</item>
<item name="actionBarStyle">@style/MyActionBar</item>
</style>
<!-- ActionBar styles -->
<style name="MyActionBar" parent="@style/Widget.AppCompat.Light.ActionBar.Solid.Inverse">
<item name="android:background">@color/blue</item>
<item name="background">@color/blue</item>
</style>
</resources>
AndroidManifest.xml
<application
android:allowBackup="true"
android:icon="@drawable/zenyt"
android:label="@string/app_name"
android:theme="@style/CustomActionBarTheme1">
<activity
android:name=".MainActivity"
android:label="@string/app_name" >
и в strings.xml Я добавил эту строку:
<color name="blue">#FF2E4976</color>
Я также попытался программно изменить цвет фона:
ActionBar bar = getSupportActionBar();
bar.setBackgroundDrawable(new ColorDrawable(Color.parseColor("#FF2E4976")));
Но я получаю эту ошибку:
Caused by: java.lang.NullPointerException
at com.zenyt.MainActivity.onCreate(MainActivity.java:67)
Line 67 это одна: bar.setBackgroundDrawable(newColorDrawable(Color.parseColor("#FF2E4976")));
Другой способ это:
<item name=”colorPrimary”>@color/my_awesome_red</item>
<item name=”colorPrimaryDark”>@color/my_awesome_darker_red</item>
В или der для использования colorPrimary
Мне нужно изменить minSdk на 21, но я тестирую приложение на Galaxy S3 (4.1.2). Мой текущий minSdk - 16, и я хочу сохранить его таким образом. Итак, может кто-нибудь мне помочь?
EDIT я решил добавить панель инструментов, может быть, я что-то не хватает
<?xml version="1.0" encoding="utf-8"?>
<android.support.v7.widget.Toolbar
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:id="@+id/toolbar"
app:theme="@style/ThemeOverlay.AppCompat.ActionBar"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:minHeight="?attr/actionBarSize"
android:background="?attr/colorPrimary"/>
Извините за мой английский.
ли это, но это не имеет никакого эффекта, ActionBar еще серый. – Alec
Подождите, вы установили windowActionBar в false, потому что используете панель инструментов в качестве своего actionBar? – freddieptf
может быть аналогичен этому, тогда http://stackoverflow.com/questions/26554996/change-toolbar-color-in-appcompat-21 – freddieptf