1. 程式人生 > >android4.2.2修改狀態列透明

android4.2.2修改狀態列透明

首先找到android/frameworks/base/policy/src/com/android/internal/policy/impl中的PhoneWindowManager.java類

然後找到 public int getSystemDecorRectLw(Rect systemRect) 的方法

原來的方法內容是: 

public int getSystemDecorRectLw(Rect systemRect) {
        systemRect.left = mSystemLeft;
        systemRect.top = mSystemTop;
        systemRect.right = mSystemRight;
        systemRect.bottom = mSystemBottom;
        if (mStatusBar != null) return mStatusBar.getSurfaceLayer();
        if (mNavigationBar != null) return mNavigationBar.getSurfaceLayer();
        return 0;
    }

在這裡修改該方法為

public int getSystemDecorRectLw(Rect systemRect) {
        systemRect.left = mSystemLeft;
        systemRect.top = mSystemTop;
        systemRect.right = mSystemRight;
        systemRect.bottom = mSystemBottom;
        if (mStatusBar != null) return 0;
        if (mNavigationBar != null) return 0;
        return 0;
    }

這裡修改完畢以後,

進入android/frameworks/base/packages/SystemUI/res/layout目錄下

找到navigation_bar.xml和status_bar.xml檔案

然後把這個兩個佈局檔案的background屬性都修改為#00000000,

到此狀態列修改透明的步驟結束了,重新編譯frameworks或者編譯整個程式碼,燒如手機或平板,自己看吧,透明狀態列出現了,有不同的朋友可以隨時與我溝通。

http://blog.csdn.net/buhaixiang0923/article/details/9187861

相關推薦

android4.2.2修改狀態透明

首先找到android/frameworks/base/policy/src/com/android/internal/policy/impl中的PhoneWindowManager.java類 然後找到 public int getSystemDecorRectLw

flutter 修改狀態顏色 不透明透明

// 以下兩行 設定android狀態列為透明的沉浸。寫在元件渲染之後,是為了在渲染後進行set賦值,覆蓋狀態列,寫在渲染之前MaterialApp元件會覆蓋掉這個值。 void main() { runApp(new MyApp()); SystemUiOverlayStyle systemUiO

android沉浸式狀態、變色狀態透明狀態修改狀態顏色及透明

首先我要區分清楚沉浸式狀態列與變色狀態列。 沉浸式狀態列指的是,狀態列隱藏,在手指做了相關操作後,狀態列顯示出來,例如視訊播放器,在播放視訊時是隱藏狀態列的,但是點選螢幕的時候,狀態列會顯示出來,再例如文字閱讀器,在閱讀的時候是全屏的,然後從螢幕上方下滑或者下

Android 修改狀態狀態列為view的圖片的一部分)①

Android 修改狀態列,讓狀態列和佈局中view的第一個圖片重合 效果圖如下: 這個效果完全可以用style來達到效果 下面是根據stysle來改動 在res下新建一個values-v19 新建styles.xml <?xml version="1.

React native:(StatusBar)修改狀態背景及文字顏色

  在自定義導航欄得時候,狀態列得背景顏色和狀態列得顏色是不統一得,看起來很不協調,RN中文網找到了StatusBar,可以設定狀態列。https://reactnative.cn/docs/statusbar.html#docsNav 首先我定義了一些屬性得約束,狀態列只用到

修改狀態與導航欄顏色

1.修改狀態列 可進行自定義 public class StatusBarView extends View { private Context context; public StatusBarView(Context context) { this(con

Android實現修改狀態背景、字型和圖示顏色的方法

前言: Android開發,對於狀態列的修改,實在是不友好,沒什麼api可以用,不像ios那麼方便.但是ui又喜歡只搞ios一套.沒辦法.各種翻原始碼,寫反射.真的蛋疼. 需求場景: 當toolbar及狀態列需要為白色或淺色時(如簡書),狀態列由於用的Light風格Theme,字型,

iOS修改狀態的樣式和隱藏狀態

在iOS 7之前可以直接通過UIApplication物件來直接操作狀態列 [[UIApplication sharedApplication] setStatusBarStyle:style];

Recat native:(StatusBar)修改狀態背景及文字顏色

首先我定義了一些屬性得約束,狀態列只用到了:statusBar: PropTypes.shape(StatusBarShape) static propTypes={ tit

Android 讓頂部狀態透明,虛擬按鍵欄不透明的方法

@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); // 隱藏標題欄 getW

Android 狀態透明和圖示反色

public class BaseActivity extends Activity { @Override protected void onCreate(Bundle savedI

Android設定狀態透明與設定狀態字型顏色Mode

#1 概念: 變色狀態列(透明狀態列):指的是狀態列與導航欄顏色相同,或者透明 沉浸式狀態列:,狀態列隱藏,在手指做了相關操作後,狀態列顯示出來,例如視訊播放器,在播放視訊時是隱藏狀態列的,但是點選螢幕的時候,狀態列會顯示出來,再例如文字閱讀器,在閱讀的時候是全屏的,然後從

如何修改狀態Statusbar(SystemUI)圖示和字型顏色

前言 由於公司專案的歡迎頁是白色的,,修改狀態列顏色後,導致狀態列的白色字型完全被覆蓋了,聯想到之前在QQ、UC等一些app上都見到過狀態列的字型是深色的,想著,,必定有解決的方案。於是,有了本篇blog。 參考 下面是我在網上找到的兩篇文章 解決方

Android 修改狀態和沉浸式佈局總結

不多說獻上工具類。package com.yazhi1992.practice.immersion_status_bar; import android.app.Activity; import android.content.Context; import android

android 適配華為透明狀態 ,保留虛擬導航鍵,設定狀態透明,且設定狀態文字顏色為黑色

設定後狀態列不遮擋底部contentview裡的內容,但是狀態列上的圖示文字顏色和我的主題色白色混在一起了 public static void setTranslucentKeepVirtualNav(Activity activity) { if (Build.VERSIO

android系統修改狀態背景色以及文字顏色

修改狀態列的顏色一般是android系統5.1以上才支援,程式碼如下 activity.getWindow().setStatusBarColor(activity.getResources().getColor(R.color.custom_status_bar_c

Android修改狀態的背景顏色

一,概述 我相信很多初入Android開發的開發者都為自己開發的app的狀態列煩惱過,狀態列和自己的介面風格格格不入,但是不知道如何修改這個狀態列的顏色,感覺無從下手.我最近就是被這個狀態的預設風格搞得焦頭爛額,終於找到了相應的解決辦法.雖然程式碼不是我寫的,我也只能看懂一

設定狀態透明和Actionbar消失的方法

關鍵點是:設定後華為暢玩x5,下邊的狀態列也變透明瞭: 下面是各種控制元件的名字和顏色設定方法: <style name="BaseAppTheme" parent="AppTheme.Base"> <item name="colorPrimary

Ionic4沉浸式狀態透明懸浮

先上張圖看看效果 安裝外掛 $ ionic cordova plugin add cordova-plugin-statusbar $ npm install --save @ionic-nat

Android 4.4及以上版本實現狀態透明

參考了網上的很多方法,實現了狀態列透明,即狀態列和標題欄顏色一致。特此總結一下,以下方法適用於佈局裡沒有EditText控制元件的情況下: 1、values/styles中定義app基本主題AppTheme,適配4.4以下非透明狀態列 &