沉浸式状态栏

岑忠满 岑忠满     2022-08-16     326

关键词:

知识来源:https://zhidao.baidu.com/question/1989575143165411427.html

  (1)内容应用到状态栏(360流量允许拖动到状态栏的效果)

Window window = getWindow();
            window.setFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS,
                WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS);

            window.setFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_NAVIGATION,
                WindowManager.LayoutParams.FLAG_TRANSLUCENT_NAVIGATION);

  (2)在xml中设置一个带背景的与状态栏同高的空白

总代码如下

package com.cenzhongman.myapplication.Note;

import android.app.Activity;
import android.os.Bundle;
import android.view.Window;
import android.view.WindowManager;
import android.widget.TextView;
import android.widget.Toast;

import com.cenzhongman.myapplication.R;

import java.lang.reflect.Field;

public class NoteActivity extends Activity {
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.note_layout);

        if (android.os.Build.VERSION.SDK_INT > 18) {
        /*
        *    API需要大于18
        *    隐藏状态栏
        *    让内容置于屏幕顶部
        *  1.如需隔开,在xml中添加android:fitsSystemWindows="true"
        *  2.添加一个状态栏高度的空白(此次使用方法2)
        * */
            Window window = getWindow();
            window.setFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS,
                    WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS);

            window.setFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_NAVIGATION,
                    WindowManager.LayoutParams.FLAG_TRANSLUCENT_NAVIGATION);

        /*
        * 设置空白处高度
        *
        *
        * */
            int StatusBarHeight = getStatusBarHeight();
            Toast.makeText(this, StatusBarHeight + "123", Toast.LENGTH_SHORT).show();
            TextView status_bar = (TextView) findViewById(R.id.status_bar);
            status_bar.setHeight(StatusBarHeight);
        }
    }

    /*
    * 获取状态栏高度
    * 返回值,int 高度
    */
    public int getStatusBarHeight() {

        Class c = null;

        Object obj = null;

        Field field = null;

        int x = 0, statusBarHeight = 0;

        try {

            c = Class.forName("com.android.internal.R$dimen");

            obj = c.newInstance();

            field = c.getField("status_bar_height");

            x = Integer.parseInt(field.get(obj).toString());

            statusBarHeight = getResources().getDimensionPixelSize(x);

        } catch (Exception e1) {

            e1.printStackTrace();
        }

        return statusBarHeight;

    }
}

 

沉浸式状态栏

知识来源:https://zhidao.baidu.com/question/1989575143165411427.html  (1)内容应用到状态栏(360流量允许拖动到状态栏的效果)Windowwindow=getWindow();window.setFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS,WindowManager. 查看详情

沉浸式状态栏与导航条

...黑色,而是可以定制的颜色。  国内将状态栏变色叫做沉浸式状态栏,时间久了,叫的人多了,大家就不再深究,默认了这种叫法。  查看详情

知识教程|优化状态栏沉浸式效果

沉浸式状态栏是让开发者尤其是Android开发者很头疼的问题,耗费开发者很多精力去校验代码在各个系统版本、各个机型上是否有效,今天这篇教程就跟大家分享优化初始化状态栏沉浸式效果的方法。使用APICloud时,参照社区源码... 查看详情

沉浸式状态栏的三种实现方式

沉浸式算是目前Android行业比较流行的一种App设计风格,将菜单栏北京设置为导航栏的颜色,感觉顶部状态栏像是被入侵了一样,因此称为沉浸式菜单栏。本文将介绍三种方式去实现沉浸式状态栏。  Google从androidkitkat(Androi... 查看详情

android沉浸式状态栏(代码片段)

在使用沉浸式状态栏时需要注意设置的沉浸颜色为白色还是其他深色的区别1.状态栏字体图标黑色(深色)//5.0以上系统状态栏透明if(Build.VERSION.SDK_INT>=Build.VERSION_CODES.LOLLIPOP)Windowwindow=getWindow();window.clearFlags(WindowMan... 查看详情

android实现沉浸式全屏(代码片段)

前言本文总结Android实现沉浸式全屏的实现方式。实现沉浸式全屏在一些需要全屏显示的场景下,比如玩游戏、看横屏视频的时候,内容全屏,占满窗口的体验会让用户更加沉浸到对内容的消费中,带来好的用户体验。沉浸式显... 查看详情

android沉浸式状态栏(代码片段)

文章目录前言一、沉浸式状态栏二、改变标题和状态栏颜色总结前言4-20分享提示:以下是本篇文章正文内容,下面案例可供参考先来看下效果图(夜神模拟器和真机有点差别,我不会搞gif动图,就勉强看下吧):一、沉浸式状... 查看详情

总结系列-一文搞懂沉浸式状态栏

近期做到与状态栏相关一些需求,网上关于沉浸式状态栏的文章有很多,基本上都先讲一堆概念,然后接着推出一个自己写的轮子,这类轮子面对很多不同场景的情况不能百分之百满足使用需求,过度地使用轮子也往往会让... 查看详情

沉浸式状态栏设置状态栏颜色

方式一:使用系统API这个特性是andorid4.4支持的,最少要api19才可以使用。1、隐藏标题栏等在代码中设置        requestWindowFeature(Window.FEATURE_NO_TITLE);//隐藏标题栏        查看详情

沉浸式状态栏框架-systembartint(代码片段)

为什么要使用沉浸式状态栏呢?--为了用户体验。因为有的app界面的风格都是差不多的,比如支付宝,用的蓝色调风格,为了让状态栏看起来不那么突兀,我们可以使用沉浸式状态栏。沉浸式状态栏在游戏app中... 查看详情

沉浸式状态栏框架-systembartint(代码片段)

为什么要使用沉浸式状态栏呢?--为了用户体验。因为有的app界面的风格都是差不多的,比如支付宝,用的蓝色调风格,为了让状态栏看起来不那么突兀,我们可以使用沉浸式状态栏。沉浸式状态栏在游戏app中... 查看详情

java状态栏工具类,显示隐藏状态栏,设置状态栏颜色,沉浸式,透明状态栏(代码片段)

查看详情

android--------沉浸式状态栏immersionbar3.0(代码片段)

沉浸式状态栏我一直在使用的一个库ImmersionBar,非常不错,现在都3.0了android4.4以上沉浸式状态栏和沉浸式导航栏管理,适配横竖屏切换、刘海屏、软键盘弹出等问题,可以修改状态栏字体颜色和导航栏图标颜色&#x... 查看详情

android--------沉浸式状态栏immersionbar3.0(代码片段)

沉浸式状态栏我一直在使用的一个库ImmersionBar,非常不错,现在都3.0了android4.4以上沉浸式状态栏和沉浸式导航栏管理,适配横竖屏切换、刘海屏、软键盘弹出等问题,可以修改状态栏字体颜色和导航栏图标颜色&#x... 查看详情

沉浸式导航栏及状态栏系统图标颜色的改变

最近研究沉浸式导航栏,上网看了好多,差不多实现都是一样的。。。。代码如下: //透明状态栏getWindow().addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS);//透明导航栏getWindow().addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_NAVIG 查看详情

总结系列-一文搞懂沉浸式状态栏

近期做到与状态栏相关一些需求,网上关于沉浸式状态栏的文章有很多,基本上都先讲一堆概念,然后接着推出一个自己写的轮子,这类轮子面对很多不同场景的情况不能百分之百满足使用需求,过度地使用轮子也往往会让... 查看详情

沉浸式状态栏

  我们知道IOS上的应用。状态栏的颜色总能与应用标题栏颜色保持一致,用户体验非常不错。那安卓能否够呢?若是在安卓4.4之前,答案是否定的,但在4.4之后,谷歌同意开发人员自己定义状态栏背景颜色啦,这是个不错... 查看详情

android沉浸式状态栏工具类,一句代码轻松搞定

Android沉浸式状态栏工具类,一句代码轻松搞定博客原文及源码地址:http://jaeger.itscoder.com/android/2016/03/27/statusbar-util.html最近开发用到了沉浸式状态栏的东西,于是在网上找资源学习,正好看到一个特别牛逼的大神... 查看详情