在Android中如何測量View的寬度和高度

Android如何測量View的寬度和高度

手動去測量view的寬度和高度在開發(fā)時候會經(jīng)常使用,在此介紹個比較簡單的也是很常用的,其他方式暫不討論,以textview為例

        int widthSpec = View.MeasureSpec.makeMeasureSpec(0, View.MeasureSpec.UNSPECIFIED);
        int heightSpec = View.MeasureSpec.makeMeasureSpec(0, View.MeasureSpec.UNSPECIFIED);
        View.MeasureSpec.makeMeasureSpec(0, View.MeasureSpec.UNSPECIFIED);
        textView.measure(widthSpec, heightSpec);
        int measuredHeight = textView.getMeasuredHeight();//測量得到的textview的高
        int measuredWidth = textView.getMeasuredWidth();//測量得到的textview的寬

我們點擊View.MeasureSpec.UNSPECIFIED源碼會看到值0,在View.MeasureSpec.UNSPECIFIED測量模式下,makeMeasureSpec()后widthSpec和heightSpec都是0

在測量的時候只需要textView.measure(0, 0)就測量可以了

可以簡化的寫法

        textView.measure(0,0);
        int measuredHeight = textView.getMeasuredHeight();//測量得到的textview的高
        int measuredWidth = textView.getMeasuredWidth();//測量得到的textview的寬

也歡迎大家掃描二維碼注我的微信訂閱號,Android,java,kotlin,架構等技術討論,共同進階為Android高級開發(fā),甚至資深Android開發(fā)


秦小怪.jpg
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

友情鏈接更多精彩內容