android状态栏样式修改(1)

server/2025/2/7 15:14:57/

设置状态栏背景效果

package com.cy.translucentparent;

import android.app.Activity;

import android.os.Build;

import android.view.View;

import android.view.Window;

import android.view.WindowManager;

/**

  • Created by lenovo on 2017/4/25.

*/

public class StatusNavUtils {

/**

  • 状态栏透明去阴影(5.0以上)

  • @param activity

  • @param color

*/

public static void setStatusBarColor(Activity activity, int color) {

Window window = activity.getWindow();

if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {

window.clearFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS | WindowManager.LayoutParams.FLAG_TRANSLUCENT_NAVIGATION);

window.getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN | View.SYSTEM_UI_FLAG_LAYOUT_STABLE);

window.addFlags(WindowManager.LayoutParams.FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS);

window.setStatusBarColor(color);

return;

}

if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) {

window.addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS);

}

}

/**

  • 导航栏全透明去阴影(5.0以上)

  • @param activity

  • @param color

*/

public static void setNavigationBarColor(Activity activity, int color) {

Window window = activity.getWindow();

if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {

window.clearFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS | WindowManager.LayoutParams.FLAG_TRANSLUCENT_NAVIGATION);

window.getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN | View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION | View.SYSTEM_UI_FLAG_LAYOUT_STABLE);

window.addFlags(WindowManager.LayoutParams.FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS);

window.setNavigationBarColor(color);

return;

}

if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) {

window.addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_NAVIGATION);

}

}

/**

  • 状态栏、导航栏全透明去阴影(5.0以上)

  • @param activity

  • @param color_status

  • @param color_nav

*/

public static void setStatusNavBarColor(Activity activity, int color_status, int color_nav) {

Window window = activity.getWindow();

if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {

window.clearFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS | WindowManager.LayoutParams.FLAG_TRANSLUCENT_NAVIGATION);

window.getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN | View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION | View.SYSTEM_UI_FLAG_LAYOUT_STABLE);

window.addFlags(WindowManager.LayoutParams.FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS);

window.setStatusBarColor(color_status);

window.setNavigationBarColor(color_nav);

return;

}

if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) {

window.addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS);

window.addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_NAVIGATION);

}

}

}

activity

package com.cy.statusnavigationtrans;

import android.os.Bundle;

import android.view.View;

import com.cy.translucentparent.StatusNavUtils;

public class Status5Activity extends BaseActivity {

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_status5);

StatusNavUtils.setStatusBarColor(this,0x33000000);

}

@Override

public void onClick(View v) {

}

}

xml

<?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:layout_width=“match_parent”

android:layout_height=“match_parent”

style=“@style/transparent_statusbar_fit”

android:background=“@color/colorPrimary”

android:orientation=“vertical”>

<RelativeLayout

android:layout_width=“match_parent”

android:layout_height=“48dp”


http://www.ppmy.cn/server/165699.html

相关文章

MySQL----case的用法

在 MySQL 中&#xff0c;CASE 表达式是一个用于条件判断的功能&#xff0c;可以根据不同的条件返回不同的结果。CASE 表达式通常用于 SELECT 查询语句中&#xff0c;可以在 SQL 中灵活地进行条件判断和数据转换。CASE 有两种基本的语法形式&#xff1a; 简单 CASE 表达式&…

【分布式架构理论3】分布式调用(2):API 网关分析

文章目录 一、API 网关的作用1. 业务层面&#xff1a;简化调用复杂性2. 系统层面&#xff1a;屏蔽客户端调用差异3. 其他方面&#xff1a; 二、API 网关的技术原理1. 协议转换2. 链式处理3. 异步请求机制1. Zuul1&#xff1a;同步阻塞处理2. Zuul2&#xff1a;异步非阻塞处理 三…

毕业设计:基于卷积神经网络的鲜花花卉种类检测算法研究

目录 前言 课题背景和意义 实现技术思路 一、算法理论基础 1.1 卷积神经网络 1.2目标检测算法 二、 数据集 2.1 数据集 2.2 数据扩充 三、实验及结果分析 3.1 实验环境搭建 3.2 模型训练 最后 前言 &#x1f4c5;大四是整个大学期间最忙碌的时光,一边要忙着备考或…

用C编程语言实现经典算法:从理论到实践

文章目录 引言一、快速排序算法实现与优化1.1 算法原理1.2 基础实现1.3 优化策略1.3.1 三数取中法1.3.2 尾递归优化1.4 性能对比二、Dijkstra最短路径算法2.1 算法原理2.2 C语言实现2.3 优先队列优化三、0-1背包动态规划3.1 算法思想3.2 C语言实现3.3 空间优化(滚动数组)四、…

uniapp使用uv-popup弹出框隐藏底部导航tabbar方法

uniapp中使用uv-popup 弹出框隐藏底部导航tabbar 弹出层代码&#xff1a; <text class"userlogin" click"openPopup">请登录></text> <!-- 弹出层 --><uv-popup ref"popupRef" mode"bottom" border-radius…

Sentinel的安装和做限流的使用

一、安装 Release v1.8.3 alibaba/Sentinel GitHubA powerful flow control component enabling reliability, resilience and monitoring for microservices. (面向云原生微服务的高可用流控防护组件) - Release v1.8.3 alibaba/Sentinelhttps://github.com/alibaba/Senti…

Pytorch与大模型有什么关系

PyTorch 是 深度学习领域最流行的框架之一&#xff0c;在大模型的训练、推理、优化等方面发挥了重要作用。 大模型&#xff08;如 GPT、LLaMA、Stable Diffusion&#xff09;大多是基于 PyTorch 进行开发和训练的。 1. PyTorch 在大模型中的作用 大模型&#xff08;如 ChatGP…

网络面试题(第一部分)

一、ARP工作原理 首先ARP工作在数据链路层&#xff0c;功能是将IP地址转换成MAC地址。例如主机A想向主机B发送消息&#xff0c;首先会查看自己ARP表中是否有主机B对应的MAC地址&#xff0c;如果有则按照ARP表中对应的MAC地址表发送&#xff0c;否则就以广播的形式发送数据包&a…