首页 > 移动平台 > 详细

android 沉浸式状态栏的实现

时间:2017-01-15 11:50:09      阅读:292      评论:0      收藏:0      [点我收藏+]

本文介绍一种简单的实现沉浸式状态栏的方法,要高于或等于api19才可以。

技术分享

实现android沉浸式状态栏很简单,添加代码两步就可以搞定。

一.在activity中添加

getWindow().addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS);//透明状态栏

例如:

 1 public class MainActivity extends AppCompatActivity {
 2 
 3     private RadioGroup rg;
 4 
 5     @Override
 6     protected void onCreate(Bundle savedInstanceState) {
 7         super.onCreate(savedInstanceState);
 8         setContentView(R.layout.activity_main);
 9 
10         rg=(RadioGroup)super.findViewById(R.id.rg);
11 
12         getWindow().addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS);
13 
14     }
15
16 }

二. 我们要达到这种效果一般使用的是NoActionBar,所以在最顶部的控件代码里添加

android:fitsSystemWindows="true"
android:clipToPadding="true"

例如:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:id="@+id/activity_main"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="#fff"
    android:orientation="vertical">
    <TextView
        android:fitsSystemWindows="true"
        android:clipToPadding="true"

        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:background="#f00"
        android:text="android沉浸式状态栏"
        android:textSize="25sp"/>

注意:

1.如果我们不在xml中添加代码,就会造成控件和状态栏重合的情况

 

技术分享

2.如果我们在上述代码中的LinearLayout中添加代码,会造成状态栏是LinearLayout的背景色,我设置的是#fff白色

 

技术分享

所以只需要在最上方的控件中添加代码即可

技术分享

 

 

 



 

android 沉浸式状态栏的实现

原文:http://www.cnblogs.com/LYSHIXD/p/6286806.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!