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

Android編程獲取組件尺寸大小的方法

 更新時(shí)間:2017年03月27日 14:09:59   作者:xueyangshipin  
這篇文章主要介紹了Android編程獲取組件尺寸大小的方法,結(jié)合實(shí)例形式分析了Android繪制組件之前獲取該組件大小的3種常見(jiàn)操作技巧,需要的朋友可以參考下

本文實(shí)例講述了Android編程獲取組件尺寸大小的方法。分享給大家供大家參考,具體如下:

在oncreate()中利用view.getWidth()或是view.getHeiht()來(lái)獲取view的寬和高,看似沒(méi)有問(wèn)題,其實(shí)他們?nèi)サ弥凳?,并不是你想要的結(jié)果?

這是為什么呢?

在調(diào)用oncreate()方法時(shí),界面處于不可見(jiàn)狀態(tài),內(nèi)存加載組件還沒(méi)有繪制出來(lái),你是無(wú)法獲取他的尺寸。

那如何在繪制組件之前能獲取到該組件的尺寸大小呢?

這里有三種方法,經(jīng)過(guò)驗(yàn)證的:

方法一 :

//測(cè)量方法
int width =View.MeasureSpec.makeMeasureSpec(0,View.MeasureSpec.UNSPECIFIED);
int height =View.MeasureSpec.makeMeasureSpec(0,View.MeasureSpec.UNSPECIFIED);
view.measure(width,height);
int height=view.getMeasuredHeight();
int width=view.getMeasuredWidth();

方法二 :

//增加組件繪制之前的監(jiān)聽(tīng)
ViewTreeObserver vto =view.getViewTreeObserver();
vto.addOnPreDrawListener(new ViewTreeObserver.OnPreDrawListener() {
  @Override public ooleanonPreDraw() {
    int height =view.getMeasuredHeight();
    int width =view.getMeasuredWidth();
  }
});

方法三 :

//增加整體布局監(jiān)聽(tīng)
ViewTreeObserver vto = view.getViewTreeObserver();
vto.addOnGlobalLayoutListener(new OnGlobalLayoutListener(){
  @Override public voidonGlobalLayout() {
   view.getViewTreeObserver().removeGlobalOnLayoutListener(this);
  int height =view.getMeasuredHeight();
  int width =view.getMeasuredWidth();
  }
});

那么,在activity進(jìn)入運(yùn)行期時(shí),組件的尺寸獲取方法就很簡(jiǎn)單了,直接getWidth()和getHeight().

更多關(guān)于Android相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《Android開(kāi)發(fā)入門與進(jìn)階教程》、《Android調(diào)試技巧與常見(jiàn)問(wèn)題解決方法匯總》、《Android基本組件用法總結(jié)》、《Android視圖View技巧總結(jié)》、《Android布局layout技巧總結(jié)》及《Android控件用法總結(jié)

希望本文所述對(duì)大家Android程序設(shè)計(jì)有所幫助。

相關(guān)文章

  • Android miniTwitter登錄界面開(kāi)發(fā)實(shí)例

    Android miniTwitter登錄界面開(kāi)發(fā)實(shí)例

    這篇文章主要為大家詳細(xì)介紹了Android miniTwitter登錄界面開(kāi)發(fā)實(shí)例,感興趣的小伙伴們可以參考一下
    2016-04-04
  • Android 中添加水平線和垂直線方法總結(jié)

    Android 中添加水平線和垂直線方法總結(jié)

    這篇文章主要介紹了Android 中添加水平線和垂直線方法總結(jié)的相關(guān)資料,需要的朋友可以參考下
    2017-02-02
  • 分享Android仿刮獎(jiǎng)效果控件

    分享Android仿刮獎(jiǎng)效果控件

    這篇文章主要為大家分享了Android仿刮獎(jiǎng)效果控件,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2016-09-09
  • flutter仿微信底部圖標(biāo)漸變功能的實(shí)現(xiàn)代碼

    flutter仿微信底部圖標(biāo)漸變功能的實(shí)現(xiàn)代碼

    這篇文章主要介紹了flutter仿微信底部圖標(biāo)漸變功能,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-04-04
  • Android AOP基本用法全面詳解

    Android AOP基本用法全面詳解

    這篇文章主要為大家介紹了Android AOP基本用法全面詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-09-09
  • Android MVP模式實(shí)戰(zhàn)教程

    Android MVP模式實(shí)戰(zhàn)教程

    這篇文章主要為大家詳細(xì)介紹了Android MVP模式實(shí)戰(zhàn)教程,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-05-05
  • Android識(shí)別NFC芯片制造商的方法

    Android識(shí)別NFC芯片制造商的方法

    這篇文章介紹了Android識(shí)別NFC芯片制造商的方法,文中通過(guò)示例代碼介紹的非常詳細(xì)。對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2021-11-11
  • android TextView不用ScrollViewe也可以滾動(dòng)的方法

    android TextView不用ScrollViewe也可以滾動(dòng)的方法

    這篇文章主要介紹了android TextView不用ScrollViewe也可以滾動(dòng)的方法,很簡(jiǎn)單實(shí)用的代碼,大家參考使用吧
    2013-11-11
  • go語(yǔ)言之美迅速打rpm包實(shí)現(xiàn)詳解

    go語(yǔ)言之美迅速打rpm包實(shí)現(xiàn)詳解

    這篇文章主要為大家介紹了go語(yǔ)言之美迅速打rpm包實(shí)現(xiàn)詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-02-02
  • 詳解Android的網(wǎng)絡(luò)數(shù)據(jù)存儲(chǔ)

    詳解Android的網(wǎng)絡(luò)數(shù)據(jù)存儲(chǔ)

    LeanCloud是一種簡(jiǎn)單高效的數(shù)據(jù)和文件存儲(chǔ)服務(wù),本文主要介紹了利用LeanCloud來(lái)進(jìn)行網(wǎng)絡(luò)數(shù)據(jù)的存儲(chǔ)的實(shí)現(xiàn)方法。具有很好的參考價(jià)值,需要的朋友一起來(lái)看下吧
    2016-12-12

最新評(píng)論