Android獲取LinearLayout的寬度和高度示例代碼
android獲取LinearLayout的寬度和高度
由于Android程序的運行機制決定了無法再組件類外部使用getWidth和getHeight方法獲得高度和寬度(在自定義組件類中可以實現),必須使用View.getMeasuredWidth和View.getMeasureHeight方法獲得當前組件的寬度和高度,在調用這兩個方法之前,必須調用View.measure方法先測量組件寬度和高度。如果想直接獲取在布局文件中定義的組件的寬度和高度,可以直接使用View.getLayoutParams().width和View.getLayoutParams().height
代碼如下:
View view = getLayoutInflater().inflate(R.layout.activity_main, null); LinearLayout linearlayout = (LinearLayout)view.findViewById(R.id.linearlayout); //measure方法的參數值都設為0即可 linearlayout.measure(0,0); //獲取組件寬度 int width = linearlayout.getMeasuredWidth(); //獲取組件高度 int height = linearlayout.getMeasuredHeight();
補充:Android-獲取窗口的寬度與高度
在開發(fā)的過程中,有時候需要獲取窗口的大小,在OnCreate中由于窗口還未繪制因此通過GetWidth()與GetHeight()得到的寬高都為0,那應該如何獲取窗口的大小呢,上代碼:
LinearLayout layout = (LinearLayout) findViewById(R.id.layout);
layout.getViewTreeObserver().addOnGlobalLayoutListener(new OnGlobalLayoutListener(){@SuppressWarnings("deprecation")@Override public void onGlobalLayout() { ? ? ? ? ? ?
layout.getViewTreeObserver().removeGlobalOnLayoutListener(this); ? ? ? ? ? ?int width = layout.getMeasuredWidth();int height = layout.getMeasuredHeight();} ?
});到此這篇關于android獲取LinearLayout的寬度和高度的文章就介紹到這了,更多相關android獲取LinearLayout寬度和高度內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
Android 7.0 SEAndroid app權限配置方法
今天小編就為大家分享一篇Android 7.0 SEAndroid app權限配置方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-07-07
淺析KJFrameForAndroid框架如何高效加載Bitmap
Bitmap是Android系統(tǒng)中的圖像處理的最重要類之一。用它可以獲取圖像文件信息,進行圖像剪切、旋轉、縮放等操作,并可以指定格式保存圖像文件。本文主要是從KJFrameForAndroid框架中分析高效加載Bitmap的方法2014-07-07
解決Android Studio XML編輯界面不顯示下面的Text和Design選項卡
這篇文章主要介紹了解決Android Studio XML編輯界面不顯示下面的Text和Design選項卡,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-03-03

