2016-06-03 6 views
9

를 사용하여 :안드로이드 상태 표시 줄 나는 자동 생성과 같이 <code>android:theme</code>를 통해 내 활동 <code>AppTheme.NoActionBar</code>를 적용하면 AppTheme.NoActionBar

의 AndroidManifest.xml :

<?xml version="1.0" encoding="utf-8"?> 
<manifest xmlns:android="http://schemas.android.com/apk/res/android" 
      package="mypackage"> 

    <application 
     ... 
     android:theme="@style/AppTheme"> 

     <activity 
      android:name=".MainActivity" 
      android:theme="@style/AppTheme.NoActionBar" /> 

    </application> 

</manifest> 

MainActivity를 상단에는 투명 상태 표시 줄이 표시되고, 결국에는 흰색 배경이 있고 흰색 텍스트 위에는 흰색 텍스트가 표시됩니다. 장치가 충전 중이면 표시되는 유일한 기호입니다. AppTheme.NoActionBar 다음

에서

Transparent ActionBar

투명 액션 바 내 값/styles.xml입니다 :

<resources> 

    <!-- Base application theme. --> 
    <style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar"> 
     <!-- Customize your theme here. --> 
     <item name="colorPrimary">@color/colorPrimary</item> 
     <item name="colorPrimaryDark">@color/colorPrimaryDark</item> 
     <item name="colorAccent">@color/colorAccent</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> 

두 번째 스타일에서, 당신은 AppTheme.NoActionBar를 볼 수있는 기본적으로 AppTheme을 상속하지만 어느 스타일에도없는 경우 상태 표시 줄이 투명해야합니다. 이 문제가 건너 한 경우

답변

17

기회가있다, 당신은 폴더 styles.xml라는 파일을 값-V21라고 그 안에 있습니다. 이 파일은 API 21+ (Android 5.0+)을 사용하는 기기의 스타일을 정의합니다. 이 파일에는 대개 AppTheme.NoActionBar이라는 다음 스타일이 포함됩니다. 익숙한 소리?

값-V21/styles.xml :

<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> 

AppTheme.NoActionBar값을 정의/여전히 유효 질문에 제공 styles.xml 그러나 해당 파일은 사용됩니다 장치 , API 21. 코드를 살펴보면 끝까지 투명이라는 단어를 보면서 바로 문제를 식별 할 수 있습니다. 조금 왼쪽과 우리는 statusBarColor보실 수 있습니다. 그게 문제 야. 최신 사용자를 위해이 스타일링을 제공하지 않으면 간단히 스타일링 중 해당 라인을 제거 할 수 있습니다.

값-V21/styles.xml

:

Fixed result

좋은 팔자 '불투명 한 상태 표시 줄

: 여기

<resources> 
    <style name="AppTheme.NoActionBar"> 
     <item name="windowActionBar">false</item> 
     <item name="windowNoTitle">true</item> 
     <item name="android:windowDrawsSystemBarBackgrounds">true</item> 
    </style> 
</resources> 

그리고 그 스타일 제거의 결과입니다