Android开发状态栏和导航栏透明

Android开发状态栏和导航栏透明

根据我自己的经历书写本文,网上一搜一大堆这类的文章,在我使用的过程中,其实他们有些方法使用的,
笨就在我之前为了达到那种将近全屏透明的效果,起初先把整个界面布局下滑至状态栏下方 ,

    android:layout_marginTop="20dp"

实际上在这里状态栏已经是透明效果了,但是为什么还是显示灰色或者黑色呢?

原因就是:

先前我把整个布局下移了20dp,正好是状态栏的高度,而系统布局的背景颜色就是黑色或者浅灰色的,那么通过透明的状态栏看到的是系统布局的背景,那就是浅灰色或者黑色的,没毛病.

解决方办法

对于我自己的经历,解决方法那是很简单了,就把之前下移的布局移上去,去掉这段代码就可以啦,
我感觉自己都好笨

    android:layout_marginTop="20dp"

变透明的方法

/**
 * 针对布局的工具
 */
public class ActivityUtil {

    /**
     * 全局window
     */
    public static Window globalWindow;

    /**
     * 设置华为手机底部导航栏透明
     */
    public static void setBottomNavbarTransparent(){
        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) {
            if (globalWindow!=null) {//FLAG_TRANSLUCENT_NAVIGATION // FLAG_TRANSLUCENT_STATUS
                globalWindow.addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_NAVIGATION);
            }
        }
    }
}
 @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        ActivityUtil.globalWindow = getWindow();//获取全局window
        ActivityUtil.setBottomNavbarTransparent();//设置华为手机底部透明
        initData();//初始化页面数据(应该读取上一次最后存储的数据)
  
        LogUtil.d(TAG,"onCreate  :");
    }

看效果图

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

测试手机是:Android 8.0.0 honor6X
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值