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