2016-10-13 7 views
0

ステータスバーの色に問題がありますandroid:fitsSystemWindows="false"Androidステータスバーの色

透明になります。私はそれが起こることを望んでいない。その色にはcolorPrimaryDarkがあります。

は私がメインのレイアウトでFrameLayoutを使用していますので、android:fitsSystemWindows="false"は、オーバーレイは画面全体を占有するtrueに設定されている場合、私は、オーバーレイフラグメントを膨らませることができるようにfalseとしてこれを設定する必要があり、私はそれがオーバーレイフラグメントで発生したくありません。

私のactivity_mainはこのようになります。

<?xml version="1.0" encoding="utf-8"?> 
<android.support.v4.widget.DrawerLayout 
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:background="@drawable/layout_bg_white" 
android:id="@+id/drawer_layout" 
android:layout_width="match_parent" 
android:layout_height="match_parent" 
android:fitsSystemWindows="false" 
tools:openDrawer="start" 
tools:context="com.example.tabstrial2.MainActivity"> 

<RelativeLayout 
    android:id="@+id/main_layout_of_app" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent"> 




</RelativeLayout> 


<FrameLayout 
    android:id="@+id/overlay_fragment_container" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:layout_marginBottom="56dp" 
    android:layout_marginLeft="8dp" 
    android:layout_marginRight="8dp" 
    android:layout_marginTop="119dp" /> 

</android.support.v4.widget.DrawerLayout> 

style.xmlは次のようになります。

<resources> 

<!-- Base application theme. --> 
<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar"> 
    <!-- Customize your theme here. --> 
    <item name="colorPrimary">#500347</item> 
    <item name="colorPrimaryDark">#862b7b</item> 
    <item name="colorAccent">#1a2fcf</item> 
    <item name="android:textColor">#ffffff</item> 
    <item name="colorControlHighlight">#fff</item> 
    <item name="colorControlActivated">@android:color/holo_green_dark</item> 
    <item name="colorControlNormal">#fff</item> <!-- normal border color  change as you wish --> 
    <item name="colorButtonNormal">#500347</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" /> 

<style name="AppTheme.Picker" parent="Theme.AppCompat.Light.NoActionBar"> 
    <item name="android:textColorPrimary">@android:color/white</item> 
</style> 

<!--<style name="AppTheme.CheckBox" parent="Theme.AppCompat.Light.NoActionBar">--> 
<!--<item name="android:colorAccent">@android:color/white</item>--> 
<!--</style>--> 

<style name="MyCheckBox" parent="Theme.AppCompat.NoActionBar"> 
    <item name="colorControlNormal">#fff 
    </item> <!-- normal border color change as you wish --> 
    <item name="colorControlActivated">#fff</item> <!-- activated color change as you wish --> 
    <item name="android:textColor">#FFFF3F3C</item> <!-- checkbox text color --> 
</style> 

+1

あなたのテーマをアクティビティに使用してください。 –

+0

@MujammilAhamed、質問のstyle.xmlを追加しました。 –

+0

ちょうどこのチュートリアル(http://www.androidhive.info/2015/04/android-getting-started-with-material-design/)に従ってください、それはあなたを助けるかもしれません.. – parthi

答えて

2

(に半透明の状態を設定し、明示的なステータスバーの色を設定してみてください。 ..)

Window window = getWindow(); 
window.clearFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS); 
window.addFlags(WindowManager.LayoutParams.FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS); 
// finally change the color 
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) { 
    window.setStatusBarColor(Color.parseColor("#c2212a")); 
} 
+0

ありがとうございます。アンドロイドのバージョンがLOLLIPOP未満の場合はどうなりますか?ステータスバーの色はどうなりますか?申し訳ありませんが、私は自分自身をチェックしていましたが、自分のPC構成でエミュレータを実行できません。 –

+0

@BhushanBabar LOLLIPOP +で動作するエミュレータをインストールしようとします。バージョンがLOLLIPOPより小さい場合、色は黒、デフォルトの色になります。 –

+0

@Ali Taouniを共有してくれてありがとう..私は多くの答えをチェックしました。これは非常に明確です。.. https://stackoverflow.com/questions/42968587/android-email-client-receiver-email-id-empty-in-android-可能ならばこれをチェックしてください –

0

あなたは

<item name="android:statusBarColor">@color/color_primary_dark</item> 

または偽

setcontentview下記のお活動に
<item name="android:windowTranslucentStatus">false</item> 
+0

私の最小APIは14であるので、それは動作しません。 –

+0

try ' false FreshD

+0

いいえ。 Ali Taouniの答えが私のために働いた。 –

関連する問題