2015-02-20 2 views
1

Я сгенерированный ActionBar стиль с помощью этого инструмента на основе веб, который является очень распространенным http://jgilfelt.github.io/android-actionbarstylegenerator/Android тема AppCompat всегда показывает черный цвет ActionBar

Я «андроид-поддержка-v7-AppCompat» в качестве отдельного проекта в моем рабочем пространстве. Я сбросил все содержимое папки res, сгенерированной путем загрузки zip-файла из этого инструмента в этот проект.

Я использовал синий цвет своего рода для панели действий и контекстного меню (всплывающее окно). Тем не менее, я не могу добиться индивидуального подхода к этой теме. Большинство элементов/компонентов отображаются по умолчанию. ActionBar черный (вместо синего) и всплывающего меню серого цвета (вместо светло-голубой)

Мой style.xml из папки значения

<style name="Theme.dinemobileandro" parent="@style/Theme.AppCompat.Light.DarkActionBar"> 
    <item name="actionBarItemBackground">@drawable/selectable_background_dinemobileandro</item> 
    <item name="popupMenuStyle">@style/PopupMenu.dinemobileandro</item> 
    <item name="dropDownListViewStyle">@style/DropDownListView.dinemobileandro</item> 
    <item name="actionBarTabStyle">@style/ActionBarTabStyle.dinemobileandro</item> 
    <item name="actionDropDownStyle">@style/DropDownNav.dinemobileandro</item> 
    <item name="actionBarStyle">@style/ActionBar.Solid.dinemobileandro</item> 
    <item name="actionModeBackground">@drawable/cab_background_top_dinemobileandro</item> 
    <item name="actionModeSplitBackground">@drawable/cab_background_bottom_dinemobileandro</item> 
    <item name="actionModeCloseButtonStyle">@style/ActionButton.CloseMode.dinemobileandro</item> 

      <!-- Light.DarkActionBar specific --> 
    <item name="actionBarWidgetTheme">@style/Theme.dinemobileandro.Widget</item> 

</style> 

Я сделал необходимые изменения в моем файле манифеста, а

<application 
    android:name="com.railyatri.in.mobile.MainApplication" 
    android:allowBackup="true" 
    android:allowClearUserData="true" 
    android:enabled="true" 
    android:icon="@drawable/ic_launcher" 
    android:label="@string/app_name" 
    android:theme="@style/Theme.dinemobileandro" > 

Я следовал шаги, упомянутые в этом блоге тесно, и она работала для меня ранее на тему Шерлока. http://java.dzone.com/articles/creating-custom-android-styles Однако на этот раз я перешел на appcompat и перестала работать. Я много раз искал SO и Google и попробовал пару предложений, но все напрасно.

Пожалуйста, помогите. Заранее спасибо.

+0

May this help you http://stackoverflow.com/questions/8024706/how-do-i-change-the-background-color-of-the-actionbar-of-an-actionbaractivity-us/27847656#27847656 – Apurva

+0

Спасибо @Apurva, но это не сработало. Я делаю то же самое. Здесь почти тупик. – user1006072

+0

Какая версия A ppcompat? –

ответ

3

С AppCompat V21 в actionbarstylegenerator осуждается.

Теперь очень просто настроить ActionBar (или лучше Toolbar). Просто использовать что-то вроде этого:

<style name="Theme.MyTheme" parent="Theme.AppCompat.Light"> 
    <!-- Set AppCompat's color theming attrs --> 
    <item name="colorPrimary">@color/my_color</item> 
    <item name="colorPrimaryDark">@color/my_darkercolor</item> 

</style> 

Вы можете найти более подробную информацию в официальном блоге: http://android-developers.blogspot.it/2014/10/appcompat-v21-material-design-for-pre.html

+0

Спасибо @Gabriele Mariotti, я перебрался в ToolBar, но мне жаль, что у меня не было возможности работать с панелью действий, поскольку мне было уже более комфортно с ним. Я не сталкиваюсь с несколькими проблемами с панелью инструментов, например, высота панели инструментов слишком велика, и я не могу ее уменьшить. Значок приложения также слишком большой, и крутоны показывают над панелью инструментов, которая слишком обрезана. Я думаю, это просто большая исследовательская деятельность – user1006072

0

На Android манифеста:

<activity 
    android:name=".MainActivity" 
    android:label="@string/app_name" 
    android:theme="@style/Theme.dinemobileandro" > 

О стилей XML:

<style name="Theme.dinemobileandro" parent="AppTheme"> 
    <item name="android:actionBarStyle">@style/MyActionBar</item> 
    <item name="actionBarStyle">@style/MyActionBar</item> 
</style> 

<style name="MyActionBar" 
     parent="@style/Widget.AppCompat.Light.ActionBar.Solid.Inverse"> 
<item name="android:background">@drawable/blue</item> 
<item name="background">@drawable/blue</item> 

На вводимого коэффициента XML:

<resources xmlns:tools="http://schemas.android.com/tools" xmlns:android="http://schemas.android.com/apk/res/android"> 
    <drawable name="blue">#6189C5</drawable> 
</resources> 

Панель инструментов на активности синего цвета (# 6189C5) составителя с API 21

Заполнено с информацией в this Ответ (как назначено Апурва)

+0

Спасибо @Javier. Я попробовал это, но он изменил все приложение таким цветом. Все было синее. Я просто хотел, чтобы панель действий была синей. – user1006072

+0

Еще раз спасибо. Пробовал то, что вы сказали, но не работал. Приложение вернулось к тому, что было. Синий не вступает в силу. Черная панель действий и серое контекстное меню. – user1006072

+0

@ user1006072 Ответ @javier - это мой ответ. Если все ваши действия изменены с помощью синей панели действий, вы должны помещать пользовательскую тему в тег '' файла манифеста. Поместите 'android: theme =" @ styles/custom_theme "' только в тег '', который вы хотите изменить цвет панели задач. И вы говорите, что ваше меню переполнения все еще имеет ** серый цвет **, тогда вы должны скомпилировать свое приложение с уровнем api 21. Android прекратил поддерживать цвет меню переполнения с помощью этого решения в api 21. – Apurva

0

Вы уже пытались изменить свой файл Java? Что-то вроде этого:

getSupportActionBar().setDisplayShowHomeEnabled(true); 
    getSupportActionBar().setIcon(R.drawable.ic_launcher); 
    getSupportActionBar().setTitle(Html.fromHtml("<font color=\"grey\">" + getString(R.string.app_name) + "</font>")); 
    getSupportActionBar().setBackgroundDrawable(..); 
+0

Нет, не знаю. Попробуем и дадим вам знать. Тем не менее, мне не пришлось это делать, когда я использовал панель действий Шерлока. Я также не нашел ни одного из блогов/учебников, на которые я ссылался, прося меня изменить файлы Java. – user1006072

0
<style name="Theme.MyTheme" parent="Theme.AppCompat.Light"> 

    <item name="colorPrimary">@color/my_actionbar_color</item> 
    <item name="colorPrimaryDark">@color/my_actionbar_dark_color</item> 

    <!-- if you need customization --> 
    <item name="actionBarStyle">@style/MyActionBarStyle</item> 
</style> 

Не забывайте использовать

parent="Theme.AppCompat.Light" 

не

parent="@style/Theme.AppCompat.Light" 
Смежные вопросы