完美实现Android4.4的透明状态栏效果

不多说 代码奉上:(注意要使用noActionbar)

public class MainActivity extends AppCompatActivity {@Overrideprotected void onCreate(Bundle savedInstanceState) {//这两句为关键所在   第一个是使状态栏透明化    第二个是使窗体不受限制getWindow().addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS);getWindow().addFlags(WindowManager.LayoutParams.FLAG_LAYOUT_NO_LIMITS);//-----------------------------------------------------super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);Toolbar viewById = (Toolbar) findViewById(R.id.toolbar);viewById.setTitle("nihao");setSupportActionBar(viewById);}
}

布局页面没什么(贴出来大家看看把)

<android.support.design.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android"xmlns:app="http://schemas.android.com/apk/res-auto"android:layout_width="match_parent"android:layout_height="match_parent"android:clipToPadding="true"><android.support.design.widget.AppBarLayoutandroid:layout_width="match_parent"android:layout_height="wrap_content"android:fitsSystemWindows="true"><android.support.design.widget.CollapsingToolbarLayoutandroid:layout_width="match_parent"android:layout_height="wrap_content"app:layout_scrollFlags="scroll|exitUntilCollapsed"><ImageViewandroid:layout_width="match_parent"android:layout_height="300dp"android:scaleType="fitXY"android:src="@mipmap/am"app:layout_scrollFlags="scroll|exitUntilCollapsed" /><android.support.v7.widget.Toolbarandroid:id="@+id/toolbar"android:layout_width="match_parent"android:layout_height="?attr/actionBarSize"app:layout_scrollFlags="enterAlways|scroll"android:overScrollMode="always"/></android.support.design.widget.CollapsingToolbarLayout></android.support.design.widget.AppBarLayout></android.support.design.widget.CoordinatorLayout>

百度知道上我看到和我的不一样!并解决了越界的问题
计算状态栏高度及调用沉浸式状态栏的相关API方法

package com.example.status;
import android.annotation.TargetApi;
import android.app.Activity;
import android.content.Context;
import android.os.Build;
import android.view.View;
import android.view.Window;
import android.view.WindowManager;
public class ImmersedStatusbarUtils {/*** 在{@link Activity#setContentView}之后调用* * @param activity*            要实现的沉浸式状态栏的Activity* @param titleViewGroup*            头部控件的ViewGroup,若为null,整个界面将和状态栏重叠*/@TargetApi(Build.VERSION_CODES.KITKAT)public static void initAfterSetContentView(Activity activity,View titleViewGroup) {if (activity == null)return;if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) {Window window = activity.getWindow();window.addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS);}if (titleViewGroup == null)return;// 设置头部控件ViewGroup的PaddingTop,防止界面与状态栏重叠int statusBarHeight = getStatusBarHeight(activity);titleViewGroup.setPadding(0, statusBarHeight, 0, 0);}/*** 获取状态栏高度* * @param context* @return*/private static int getStatusBarHeight(Context context) {int result = 0;int resourceId = context.getResources().getIdentifier("status_bar_height", "dimen", "android");if (resourceId > 0) {result = context.getResources().getDimensionPixelSize(resourceId);}return result;}
}
调用实例,使用步骤一编写的相关方法。
package com.example.status;import android.app.Activity;
import android.os.Bundle;
import android.view.Menu;
import android.view.View;
import android.view.Window;public class MainActivity extends Activity {@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);requestWindowFeature(Window.FEATURE_NO_TITLE);setContentView(R.layout.activity_main);View topView = findViewById(R.id.lin);ImmersedStatusbarUtils.initAfterSetContentView(this, topView);}@Overridepublic boolean onCreateOptionsMenu(Menu menu) {// Inflate the menu; this adds items to the action bar if it is present.getMenuInflater().inflate(R.menu.main, menu);return true;}}
对应的布局文件
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"xmlns:tools="http://schemas.android.com/tools"android:layout_width="match_parent"android:layout_height="match_parent"android:orientation="vertical" ><LinearLayoutandroid:id="@+id/lin"android:layout_width="match_parent"android:layout_height="wrap_content"android:background="#ff123654" ><TextViewandroid:id="@+id/title"android:layout_width="match_parent"android:layout_height="45.0dp"android:background="#ff123654"android:gravity="center"android:text="我是头部控件"android:textColor="#ffffffff" /></LinearLayout></LinearLayout>

Android 中沉浸式状态栏实现

Android完美实现kitkat透明导航效果相关推荐

  1. Android UI体验之全屏沉浸式透明状态栏效果

    前言: Android 4.4之后谷歌提供了沉浸式全屏体验, 在沉浸式全屏模式下, 状态栏. 虚拟按键动态隐藏, 应用可以使用完整的屏幕空间, 按照 Google 的说法, 给用户一种 身临其境 的体 ...

  2. android设置导航栏半透明,如何实现Android透明导航栏(Translucent Navigation Bar)?...

    碰到一个问题,请看截图. 下面两张是Fuubo微博客户端的截图,底部导航栏都是透明的. 第一张截图中,侧边栏出来后,被底部导航栏遮住的地方是可见的. 第二张截图中,被导航栏遮住的文字内容,也是可见的. ...

  3. android 底部导航栏透明度,如何实现Android透明导航栏(Translucent Navigation Bar)?...

    碰到一个问题,请看截图. 下面两张是Fuubo微博客户端的截图,底部导航栏都是透明的. 第一张截图中,侧边栏出来后,被底部导航栏遮住的地方是可见的. 第二张截图中,被导航栏遮住的文字内容,也是可见的. ...

  4. Android 使用Toolbar+DrawerLayout快速实现仿“知乎APP”侧滑导航效果

    在以前,做策划导航的时候,最常用的组件便是SlidingMenu了,当初第一次用它的时候觉得那个惊艳啊,体验可以说是非常棒. 后来,Android自己推出了一个可以实现策划导航的组件DrawerLay ...

  5. Android studio实现底部导航,Android 开发之BottomBar+ViewPager+Fragment实现炫酷的底部导航效果...

    BottomBar BottomBar是Github上的一个开源框架,因为从1.3.3开始不支持fragments了,要自己配置,弄了很久,不管是app的fragment还是V4 的程序总是总是闪退. ...

  6. android导航二级分类,Android实现腾讯新闻的新闻类别导航效果

    效果图如下所示: 1.在Adapter中加入如下代码 private int clickTemp = -1;//TODO 被选择的item下标 /** * TODO 传入下标,设置被选择的item * ...

  7. android 自定义透明 等待 dialog,Android自定义Dialog内部透明、外部遮罩效果

    Android自定义Dialog内部透明.外部遮罩效果 发布时间:2020-09-09 03:01:41 来源:脚本之家 阅读:117 作者:zst1303939801 本文实例为大家分享了Andro ...

  8. Android 10 及api29之后,解决全透明导航栏不成功

    <?xml version="1.0" encoding="utf-8"?> <resources><style name=&qu ...

  9. android腾讯新闻,Android实现腾讯新闻的新闻类别导航效果

    Android实现腾讯新闻的新闻类别导航效果 发布时间:2020-09-13 02:50:05 来源:脚本之家 阅读:135 作者:地中海伯爵 效果图如下所示: 1.在Adapter中加入如下代码 p ...

最新文章

  1. vuex基础到模块化
  2. axios 同步_githubactions进行github仓库和gitee仓库同步
  3. c# 类对象和实例对象_C#类和对象能力问题 套装4
  4. hbuild json红叉_MUI+Hbuilder之踩坑(三)
  5. mysql双击同步_求助,WINDOWS下MYSQL双机同步的问题
  6. docker machine介绍和使用
  7. 服务器不知道循环生成文件,Windows服务器下PowerShell命令往服务器共享文件夹进行文件拷贝、循环文件重命名...
  8. php 字符串转驼峰,zhouqq - PHP 蛇形命名法(snake case)和驼峰命名法(camel case) 相互转换...
  9. 职场新人如何高效办公?这10款软件帮到你!
  10. python中xlrd.open_workbook_python处理exce方法:xlrd、openyxl
  11. bxt是什么意思,是什么意思
  12. 经济机器是如何运行的?
  13. 基于gibbsLDA的文本分类
  14. maven仓库镜像改为阿里巴巴
  15. 高中数学立体几何高考真题解题技巧(名师总结)
  16. 分析 | 多视角下图情热点分析与真题分析
  17. 本地RTMP流媒体服务器搭建拉流简易版
  18. 百度熊掌号php,百度熊掌号广受站长关注phpcm网站程序的熊掌号页面插件也火了!...
  19. 自由到底意味着什么(三)个人商业模式
  20. 12种论坛常用的推广方法

热门文章

  1. java的populate_JAVA BeanUtils.populate错误当离开空日期输入
  2. python学习——基础信息
  3. Jetty容器SSL证书的安装
  4. 软件测试思想者 - 初识抑郁症
  5. c语言用while语句计算圆周率的近似值,编程计算圆周率的近似值
  6. android 通知图标大小,android – 通知栏显示大图标和小图标
  7. 【若依框架】集成JWT
  8. ode45matlab例子,ode45(ode45用法举例)
  9. 广东高中生多少人_广东2016高考五大变化 考生总人数73.3万
  10. EasyGBS主子码流都为H.265时,切换出现花屏如何解决?