android 沉浸式 状态栏透明 与应用头部背景一样

本文介绍了如何在Android 4.4及以上版本实现类似iOS的状态栏透明效果,使状态栏与应用头部背景颜色一致,增强视觉体验。通过两种方法,包括简单的设置透明和借鉴大神的优化方案,来实现状态栏沉浸式设计,并展示了实际效果。
摘要由CSDN通过智能技术生成

像IOS一样,状态栏透明,和应用背景重叠,与应用统一颜色样式

在android4.4之前,是没有这种效果的,状态栏默认都是黑色,状态栏与应用都是分开的,在4.4之后,也就是api19以上(包括19)才有这种效果,沉浸模式的状态栏可以设置透明,与应用背景合为一体,这样增加了视觉效果

先看下图片效果

下面的订单文本与状态栏有点重叠了,等下我们在讲解

下面先讲一种简单直接的方法:

protected void onCreate(Bundle savedInstanceState) {  
        super.onCreate(savedInstanceState);  
        setContentView(R.layout.activity_main);  
  
        //透明状态栏  
        getWindow().addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS);  
        //透明导航栏  
        getWindow().addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_NAVIGATION);  
  
    }  
直接在onCreate方法里加入这两行代码,对应的xml代码

    <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:background="#ffffff"  
        android:orientation="vertical"  
        tools:context=".MainActivity">  
      
      
        <TextView  
      
            android:layout_width="match_parent"  
            android:layout_height="100dp"  
            android:background="#ff0000" />  
      
      
        <Button  
            android:layout_width="100dp"  
            android:layout_height="50dp"  
            android:background="#ff669d"/>  
      
    </LinearLayout>  
在第一个textview中写入文本时会出现上面截图那样,文本会与状态栏重叠,只要在该textview中添加:

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

这样就可以避免了

还有一种方法,我觉得这种方法更好一点,是从

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值