2016-07-09 17 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が私の活動に適用されますが、ステータスバーの色を設定することはできません

+0

colors.xmlに色を設定しましたか? –

+0

はい、設定されています。しかし、うまくいきません。 –

+0

@akhil batlawalaどのデバイスをテストしていますか? – Ironman

答えて

3

の代わりにあなたのカラーコードを使用してください。今これに変更すると、styleに問題があります。だから出力を得るために私の方法に従ってください。

Androidマニフェストファイル。

<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

@akhilbatlawalaプロジェクトをクリーンアップしようとしましたか。 – Ironman

0

ColorPrimaryDarkは、ステータスバーの色のために対応するものです。

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

ので:

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

が変更ステータスバーの色の名前ColorPrimaryDark

+0

私は知っていますが動作できません。別の解決策を教えてください。 –

+0

colors.xmlに色をつけていないか、AppThemeまたはAppTheme1のどちらも選択されていません。 –

+0

はい、設定されています。しかし、うまくいきません。 –

1

ちょうどヘキサコードで色を付けようとします。ファイル番号ColorPrimaryDarkcolor.xmlのファイルの色が含まれていないようです。

試してみてください。

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

は、私はあなたのコードをテストしている#fad

+0

チェックアウトしてください私の質問を編集します –

+0

それは動作していません。 –

+0

style.xmlファイルにカラーコードを直接itemタグに渡す必要があります。 – lRadha

関連する問題