2016-07-09 2 views
1

Я собираюсь изменить цвет статусной панели через styles.xml, но не могу установить цвет статусной панели. Я не хочу устанавливать цвет строки состояния через кодирование, я хочу только через theme/style.Установите цвет StatusBar через тему.?

Activity.xml

<?xml version="1.0" encoding="utf-8"?> 
<android.support.design.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:app="http://schemas.android.com/apk/res-auto" 
    xmlns:tools="http://schemas.android.com/tools" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:fitsSystemWindows="true" 
    tools:context="eazitouk.eazitoclient.mainclasses.TestActivity"> 

    <android.support.design.widget.AppBarLayout 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:theme="@style/AppTheme.AppBarOverlay"> 

     <android.support.v7.widget.Toolbar 
      android:id="@+id/toolbar" 
      android:layout_width="match_parent" 
      android:layout_height="?attr/actionBarSize" 
      android:background="?attr/colorPrimary" 
      app:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar" 
      app:popupTheme="@style/ThemeOverlay.AppCompat.Light"/> 

    </android.support.design.widget.AppBarLayout> 

    <include layout="@layout/content_test" /> 

    <android.support.design.widget.FloatingActionButton 
     android:id="@+id/fab" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_gravity="bottom|end" 
     android:layout_margin="@dimen/fab_margin" 
     android:src="@android:drawable/ic_dialog_email" /> 

</android.support.design.widget.CoordinatorLayout> 

manifest.xml

<application 
     android:name="eazitouk.eazitoclient.miscs.AppController" 
     android:icon="@drawable/ic_launchicon" 
     android:label="@string/app_name" 
     android:theme="@style/AppTheme"> 
     <activity 
      android:name=".TestActivity" 
      android:label="@string/title_activity_test" 
      android:theme="@style/AppTheme1"> 
      <intent-filter> 
       <action android:name="android.intent.action.MAIN" /> 
       <category android:name="android.intent.category.LAUNCHER" /> 
      </intent-filter> 
     </activity> 
    </application> 

color.xml

<?xml version="1.0" encoding="utf-8"?> 
<resources> 

    <color name="ColorPrimary">#df4a43</color> 
    <color name="ColorPrimaryDark">#c8423c</color> 

    <color name="ColorPrimary1">#FFCF3B</color> 
    <color name="ColorPrimaryLight">#F3A2A0</color> 
    <color name="ColorPrimaryLightShade">#e56e66</color> 

</resources> 

Style.xml

<resources> 

    <!-- Application theme. --> 
    <style name="AppTheme" parent="Theme.AppCompat.Light"> 
     <item name="colorPrimary">@color/ColorPrimary</item> 
     <item name="colorPrimaryDark">@color/ColorPrimaryDark</item> 
    </style> 

    <style name="AppTheme1" parent="Theme.AppCompat.Light.NoActionBar"> 
     <item name="colorPrimary">@color/ColorPrimary</item> 
     <item name="colorPrimaryDark">@color/ColorPrimaryDark</item> 
     <item name="android:textColorSecondary">@color/accentcolor</item>--> 
    </style> 
</resources> 

Это мой style.xml и AppTheme это применить к применению и AppTheme1 Применить к моей деятельности, но не может установить STATUSBAR цвета

+0

Вы задали цвет в цветах.xml? –

+0

Да, я поставил. Но не могу работать. –

+0

@akhil batlawala, какое устройство вы тестируете? – Ironman

ответ

3

Я проверил ваш код. Теперь измените это, у вас есть проблемы в вашем style. Поэтому следуйте моему пути, чтобы получить Output.

Android manifest.xml.

<application 
     android:allowBackup="true" 
     android:icon="@mipmap/ic_launcher" 
     android:label="@string/app_name" 
     android:largeHeap="true" 
     android:screenOrientation="portrait" 
     android:theme="@style/AppTheme"> 

     <activity 
      android:name=".TestActivity" 
      android:label="@string/title_activity_test" 
      android:theme="@style/AppTheme"> 
      <intent-filter> 
       <action android:name="android.intent.action.MAIN" /> 

       <category android:name="android.intent.category.LAUNCHER" /> 
      </intent-filter> 
     </activity> 
    </application> 

colors.xml

<?xml version="1.0" encoding="utf-8"?> 
<resources> 

    <color name="primaryColor">#EF6C00</color> 
    <color name="primaryColorDark">#E65100</color> 
    <color name="accentcolor">#0072BA</color> 

</resources> 

styles.xml

<resources> 

    <!-- Base application theme. --> 
    <style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar"> 
     <!-- Customize your theme here. --> 
     <item name="colorPrimary">@color/primaryColor</item> 
     <item name="colorPrimaryDark">@color/primaryColorDark</item> 
     <item name="colorAccent">@color/accentcolor</item> 
     <item name="windowActionBar">false</item> 
     <item name="windowNoTitle">true</item> 
    </style> 

    <style name="AppTheme.NoActionBar"> 
     <item name="windowActionBar">false</item> 
     <item name="windowNoTitle">true</item> 
    </style> 

    <style name="AppTheme.AppBarOverlay" parent="ThemeOverlay.AppCompat.Dark.ActionBar" /> 

    <style name="AppTheme.PopupOverlay" parent="ThemeOverlay.AppCompat.Light" /> 


</resources> 

стилей.XML (v21)

<?xml version="1.0" encoding="utf-8"?> 
<resources> 
    <style name="AppTheme.NoActionBar"> 
     <item name="windowActionBar">false</item> 
     <item name="windowNoTitle">true</item> 
     <item name="android:windowDrawsSystemBarBackgrounds">true</item> 
     <item name="android:statusBarColor">@android:color/transparent</item> 
    </style> 

</resources> 

наконец Выход:

enter image description here

и я еще кое-что иметь в виду, что Вы установили targetSdkVersion 23.

+0

@akhil batlawala эй 'CGPIT' вы решили это или нет? – Ironman

+0

CGPIT означает ...? –

+0

@ahilbatlawala вы пытались «очистить» проект .. – Ironman

0

ColorPrimaryDark является один, соответствующим для цвета строки состояния.

https://developer.android.com/training/material/theme.html

Итак:

<item name="colorPrimaryDark">@color/ColorPrimaryDark</item> 

Добавить в colors.xml нужный вам цвет с именем ColorPrimaryDark

+0

Я знаю, но не могу работать. Пожалуйста, дайте мне другое решение. –

+0

У вас нет вашего цвета в цветах.xml или ни один из ваших AppTheme или AppTheme1 не выбран. –

+0

Да, я поставил. Но не могу работать. –

1

просто попробуйте указать цвет в шестнадцатеричных кодах. Кажется, что цвет ColorPrimaryDark в файле color.xml не содержит цвета, которые вы хотите.

Try:

<style name="AppTheme1" parent="Theme.AppCompat.Light.NoActionBar"> 
    ... 
    <item name="colorPrimaryDark">#fad</item> 
    ... 
</style> 

Используйте свой цветовой код на месте #fad

+0

Пожалуйста, заказывайте, я редактирую мой вопрос –

+0

Это не работает. –

+0

Вы должны указать цветовой код в файле style.xml, непосредственно в тег элемента. – lRadha

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