0

sometring странной происходят в моем приложении, когда я пытаюсь изменить цвет ActionBar поActionBar изменения цвета также ListView цвета

<style name="CustomAppTheme" parent="Theme.AppCompat.Light"> 
    <item name="android:background">#ff00</item> 
    <item name="android:textColor">#DCDCDC</item> 
</style> 

также меняет цвет моей ListView и в другой деятельности изменяется весь контент ниже. Почему это? Как это исправить?

ListView:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
android:layout_width="fill_parent" 
android:layout_height="fill_parent" 
android:background="@drawable/listviewbackground" 
android:orientation="vertical" > 

<ListView 
    android:id="@+id/list" 
    android:longClickable="true" 
    android:layout_height="wrap_content" 
    android:layout_width="match_parent"> 
</ListView> 

ответ

1

документация довольно прямо вперед, когда дело доходит до перекрывая default color & styles of the action bar. Я предполагаю, что вы, вероятно, вносите изменения в файл стилей ресурсов вашего приложения по адресу res/values ​​/ styles.xml. Я также предполагаю, что в вашем AndroidManifest.xml, вы следующее свойство применяется к application тегу:

android:theme="@style/AppTheme" 

Опять же, из documentation:

Стиль представляет собой набор свойства, которые определяют внешний вид и формат для вида или окна. Стиль может указывать такие свойства, как высота, отступы, цвет шрифта, размер шрифта, цвет фона и многое другое. Стиль определен в XML-ресурсе, который отделен от XML, который определяет макет.

Таким образом, когда вы меняете что styles.xml файл, вы неосторожно изменить цвет фона для всех элементов в вашем приложении.

Следуйте инструкциям от link 1, и все будет хорошо. В частности,

<?xml version="1.0" encoding="utf-8"?> 
<resources> 
    <!-- the theme applied to the application or activity --> 
    <style name="CustomActionBarTheme" 
      parent="@android:style/Theme.Holo.Light.DarkActionBar"> 
     <item name="android:actionBarStyle">@style/MyActionBar</item> 
    </style> 

    <!-- ActionBar styles --> 
    <style name="MyActionBar" 
      parent="@android:style/Widget.Holo.Light.ActionBar.Solid.Inverse"> 
     <item name="android:background">@drawable/actionbar_background</item> 
    </style> 
</resources> 
+0

Вы точно, я проверил это еще раз, и он работает. Спасибо за ваше время! – waclab1807

+0

Рад помочь. Если вы любезно согласитесь с ответом, мир станет лучшим местом! ;) – abest

Смежные вопросы