欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Android中獲取狀態(tài)欄高度的兩種方法分享

 更新時(shí)間:2017年02月10日 14:27:19   投稿:daisy  
在android應(yīng)用中,有時(shí)需要計(jì)算個(gè)View的位置,導(dǎo)致需要計(jì)算狀態(tài)欄高度。為以后方便,在此做個(gè)簡(jiǎn)單記錄。下面這篇文章主要介紹了Android中獲取狀態(tài)欄高度的兩種方法,兩種方法分別給出了示例代碼,有需要的朋友可以參考借鑒。

前言

最近在做一個(gè)關(guān)于FAB的功能的時(shí)候需要獲取狀態(tài)欄的高度,在網(wǎng)上查了很多種方法,下面是選出的比較合理的兩個(gè)方法。主要參考stackoverflow的這篇問(wèn)答:http://stackoverflow.com/questions/3407256/height-of-status-bar-in-android

方法一:

private double getStatusBarHeight(Context context){
  double statusBarHeight = Math.ceil(25 * context.getResources().getDisplayMetrics().density);
  return statusBarHeight;
 }

這種方法很簡(jiǎn)單,只有一行代碼,查過(guò)參考手冊(cè)后可以翻譯一下:

狀態(tài)欄高度=取大于其的最小整數(shù)(25*上下文_獲取應(yīng)用包的資源實(shí)例_獲取當(dāng)前屏幕尺寸_屏幕密度比例)

其中density并不是真實(shí)的屏幕密度,而是一個(gè)相對(duì)密度,基準(zhǔn)密度為160dpi,比如我測(cè)試的手機(jī)為HTC one m8,查的屏幕密度為441dpi,相對(duì)160為2.75,density就取為3。各分辨率的density取值為:

  1. ldpi (dpi=120,density=0.75)
  2. mdpi (dpi=160,density=1)
  3. hdpi (dpi=240,density=1.5)
  4. xhdpi (dpi=320,density=2)
  5. xxhdpi (dpi=480,density=3)

所以得到的狀態(tài)欄高度為25*3=75

由這種方法得到的狀態(tài)欄高度具有較大局限性,比如因?yàn)槟撤N需要去掉狀態(tài)欄或本身沒(méi)有狀態(tài)欄,此時(shí)狀態(tài)欄高度應(yīng)為0,但是該方法依然能夠得到一個(gè)非零的狀態(tài)欄高度。

方法二:

private 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;
 }

這里我們用到了getIdentifier()的方法來(lái)獲取資源的ID,其中第一個(gè)參數(shù)是要獲取資源對(duì)象的名稱,比如我們要獲取狀態(tài)欄的相關(guān)內(nèi)容,這里填入"status_bar_height";第二個(gè)參數(shù)是我們要獲取什么屬性,我們要獲取高度內(nèi)容,所以填入"dimen";第三個(gè)是包名,狀態(tài)欄是系統(tǒng)內(nèi)容,故填入“android”。

另外一個(gè)用到的辦法是getDimensionPixelSize() ,由函數(shù)名就能知道是根據(jù)資源ID獲得資源像素尺寸,這里就直接獲得狀態(tài)欄的高度。

這種方法在狀態(tài)欄不存在的時(shí)候就會(huì)獲得其高度為0.

總結(jié)

以上就是這篇文章的全部?jī)?nèi)容了,希望本文的內(nèi)容對(duì)各位Android開發(fā)者們能帶來(lái)一定的幫助,如果有疑問(wèn)大家可以留言交流。

相關(guān)文章

  • Kotlin協(xié)程基礎(chǔ)元素梳理分析

    Kotlin協(xié)程基礎(chǔ)元素梳理分析

    這篇文章我們來(lái)講協(xié)程的基礎(chǔ)元素,畢竟協(xié)程是一個(gè)很強(qiáng)大的設(shè)計(jì)模式,深入了解需要花很多的時(shí)間,我們先從簡(jiǎn)單開始,其實(shí)學(xué)會(huì)了簡(jiǎn)單的使用,基本已經(jīng)可以滿足我們平時(shí)的開發(fā)需要了,話不多說(shuō),開始
    2022-11-11
  • Flutter 全局點(diǎn)擊空白處隱藏鍵盤實(shí)戰(zhàn)

    Flutter 全局點(diǎn)擊空白處隱藏鍵盤實(shí)戰(zhàn)

    這篇文章主要介紹了Flutter 全局點(diǎn)擊空白處隱藏鍵盤實(shí)戰(zhàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-09-09
  • Android實(shí)現(xiàn)日夜間模式的深入理解

    Android實(shí)現(xiàn)日夜間模式的深入理解

    相信Android的日間/夜間模式切換相信大家在平時(shí)使用 APP 的過(guò)程中都遇到過(guò),比如知乎、簡(jiǎn)書中就有相關(guān)的模式切換。實(shí)現(xiàn)日間/夜間模式切換的方案也有許多種,趁著今天有空來(lái)講一下日間/夜間模式切換的幾種實(shí)現(xiàn)方案,也可以做一個(gè)橫向的對(duì)比來(lái)看看哪種方案最好。
    2016-09-09
  • DrawerLayout結(jié)合Tollbar實(shí)現(xiàn)菜單側(cè)滑效果

    DrawerLayout結(jié)合Tollbar實(shí)現(xiàn)菜單側(cè)滑效果

    這篇文章主要為大家詳細(xì)介紹了DrawerLayout結(jié)合Tollbar實(shí)現(xiàn)菜單側(cè)滑效果,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-12-12
  • Flutter開發(fā)技巧RadialGradient中radius計(jì)算詳解

    Flutter開發(fā)技巧RadialGradient中radius計(jì)算詳解

    這篇文章主要為大家介紹了Flutter小技巧RadialGradient?中?radius?的計(jì)算詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-01-01
  • Android ViewPager制作新手導(dǎo)航頁(yè)(動(dòng)態(tài)加載)

    Android ViewPager制作新手導(dǎo)航頁(yè)(動(dòng)態(tài)加載)

    這篇文章主要為大家詳細(xì)介紹了Android ViewPager制作新手導(dǎo)航頁(yè),了解什么是動(dòng)態(tài)加載指示器,感興趣的小伙伴們可以參考一下
    2016-05-05
  • Android布局之幀布局FrameLayout詳解

    Android布局之幀布局FrameLayout詳解

    這篇文章主要為大家詳細(xì)介紹了Android布局之幀布局FrameLayout ,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-10-10
  • 靈活使用Android中ActionBar和ViewPager切換頁(yè)面

    靈活使用Android中ActionBar和ViewPager切換頁(yè)面

    這篇文章主要介紹了如何靈活使用Android中ActionBar和ViewPager切換頁(yè)面,感興趣的小伙伴們可以參考一下
    2015-12-12
  • Eclipse下配置Ant腳本并自動(dòng)打包帶簽名的Android apk

    Eclipse下配置Ant腳本并自動(dòng)打包帶簽名的Android apk

    這篇文章主要介紹了Eclipse下配置Ant腳本并自動(dòng)打包帶簽名的Android apk的相關(guān)資料,需要的朋友可以參考下
    2016-03-03
  • android傳送照片到FTP服務(wù)器的實(shí)現(xiàn)代碼

    android傳送照片到FTP服務(wù)器的實(shí)現(xiàn)代碼

    這篇文章主要為大家詳細(xì)介紹了android傳送照片到FTP服務(wù)器的實(shí)現(xiàn)代碼,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-06-06

最新評(píng)論