Android笔记之View未显示前获得控件宽高
来源:互联网 发布:2017网络十大英语热词 编辑:程序博客网 时间:2024/06/05 11:26
要想在View未在界面上显示之前就获得它的宽高,我们需要这样做
/** * 目前该方法只支持预计算宽高设置为准确值或wrap_content的情况, * 不支持match_parent的情况,因为view的父view还未预计算出宽高 * @param v 要预计算的view */ private void measureView(View v) { ViewGroup.LayoutParams lp = v.getLayoutParams(); if (lp == null) { return; } int width; int height; if (lp.width > 0) { // xml文件中设置了该view的准确宽度值,例如android:layout_width="150dp" width = View.MeasureSpec.makeMeasureSpec(lp.width, View.MeasureSpec.EXACTLY); } else { // xml文件中使用wrap_content设定该view宽度,例如android:layout_width="wrap_content" width = View.MeasureSpec.makeMeasureSpec(0, View.MeasureSpec.UNSPECIFIED); } if (lp.height > 0) { // xml文件中设置了该view的准确高度值,例如android:layout_height="50dp" height = View.MeasureSpec.makeMeasureSpec(lp.height, View.MeasureSpec.EXACTLY); } else { // xml文件中使用wrap_content设定该view高度,例如android:layout_height="wrap_content" height = View.MeasureSpec.makeMeasureSpec(0, View.MeasureSpec.UNSPECIFIED); } v.measure(width, height); }
将要预算的view传入measureView方法,再调用getMeasuredWidth()、getMeasuredHeight()就可以获得将来实际显示的宽高了。
0 0
- Android笔记之View未显示前获得控件宽高
- Android获得控件的宽高
- 获得Android控件的真实宽高:
- Android酱油笔记之自定义View的宽高
- Android基础学习之怎么在Activity启动时获得View的宽高
- android获得屏幕宽高和控件宽高
- android-----在Activity启动时获得View宽高
- Android中正确获得View控件的宽和高——使用篇
- Android自定义View之高仿卫星发散控件
- android获得view的宽和高
- Android 获得view的宽和高
- Android 获得view的宽和高
- Android 获得view的宽和高
- Android 获得view的宽和高
- Android 获得View的宽和高
- Android 获得view的宽和高
- Android 获得view的宽和高
- Android setVisibility(View.VISIBLE)代码已被执行控件未显示再界面上原因分析
- iOS- CALayer之position、anchorPoint
- 输入整型数组和排序标识,对其元素按照升序或降序进行排序
- poj 1004 Financial Management
- LayoutAnimation简单使用
- eclipse运行报java.lang.OutOfMemoryError: PermGen space解决方法
- Android笔记之View未显示前获得控件宽高
- 在一个应用中,如何针对不同的外部客户系统,使用不同的数字证书?
- SequenceInputStream合并流
- java学习笔记代码块和继承
- 关于Unity3d中的LayerMask使用 .
- how to check if license is downloaded fully
- BasicExcel另存为中文文件名出错的解决
- Android BluetoothProfile之AVRCP
- Openstack 中cinder backup三种backend的对比