Android StatusBar 透明化方法

作者: Kotyo | 来源:发表于2018-01-15 22:40 被阅读106次

咱们需要对不同的版本适配StatusBar,下面咱们一个一个看

values/styles.xml

<resources>  
    <style name="Theme.AppTheme.TranslucentStatusBar" parent="Theme.AppCompat.Light.NoActionBar" />  
</resources>  

values-v19/styles.xml

<resources>  
    <style name="Theme.AppTheme.TranslucentStatusBar" parent="Theme.AppCompat.Light.NoActionBar">  
        <item name="android:windowTranslucentStatus">true</item>  
    </style>  
</resources>  

values-21/styles.xml

<resources>  
    <style name="Theme.AppTheme.TranslucentStatusBar" parent="Theme.AppCompat.Light.NoActionBar">  
        <item name="android:statusBarColor">@android:color/transparent</item>  
    </style>  
</resources>  

values-23/styles.xml

<resources>  
    <style name="Theme.AppTheme.TranslucentStatusBar" parent="Theme.AppCompat.Light.NoActionBar">  
        <item name="android:statusBarColor">@android:color/transparent</item>  
        <item name="android:windowLightStatusBar">true</item>  
    </style>  
</resources>  

具体使用

public class ImagePreActivity extends AppCompatActivity {  
  
    @Override  
    protected void onCreate(Bundle savedInstanceState) {  
        super.onCreate(savedInstanceState);  
 
        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {  
            findViewById(android.R.id.content).setSystemUiVisibility(  
                    View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN | View.SYSTEM_UI_FLAG_LAYOUT_STABLE);  
        }  
        setContentView(R.layout.activity_image_pre_layout);  
    }  
}  
<activity  
    android:name=".ImagePreActivity"  
    android:theme="@style/Theme.AppTheme.TranslucentStatusBar" />  

显示效果

4.3以下

4.4

5.0

6.0

相关文章

网友评论

    本文标题:Android StatusBar 透明化方法

    本文链接:https://www.haomeiwen.com/subject/xyhhoxtx.html