Android 计算控件尺寸
来源:互联网 发布:ims医药数据库查询 编辑:程序博客网 时间:2024/04/30 06:49
onMeasure方法在控件的父元素正要放置它的子控件时调用。它会问一个问题,“你想要用多大地方啊?”,然后传入两个参数——widthMeasureSpec和heightMeasureSpec。它们指明控件可获得的空间以及关于这个空间描述的元数据。比返回一个结果要好的方法是你传递View的高度和宽度到setMeasuredDimension方法里。
接下来的代码片段给出了如何重写onMeasure。注意,调用的本地空方法是来计算高度和宽度的。它们会译解widthHeightSpec和heightMeasureSpec值,并计算出合适的高度和宽度值。
Java代码:
@Override
protectedvoidonMeasure(intwidthMeasureSpec,intheightMeasureSpec){
intmeasuredHeight=measureHeight(heightMeasureSpec);
intmeasuredWidth=measureWidth(widthMeasureSpec);
setMeasuredDimension(measuredHeight,measuredWidth);
}
privateintmeasureHeight(intmeasureSpec){
//高度测量窗口的回归.
}
privateintmeasureWidth(intmeasureSpec){
//还测量窗口的宽度.
}
边界参数——widthMeasureSpec和heightMeasureSpec,效率的原因以整数的方式传入。在它们使用之前,首先要做的是使用MeasureSpec类的静态方法getMode和getSize来译解,如下面的片段代码所示:
Java代码:
intspecMode=MeasureSpec.getMode(measureSpec);
intspecSize=MeasureSpec.getSize(measureSpec);
接下来的框架代码给出了处理View测量的典型实现:
Java代码:
@Override
protectedvoidonMeasure(intwidthMeasureSpec,intheightMeasureSpec){
intmeasuredHeight=measureHeight(heightMeasureSpec);
intmeasuredWidth=measureWidth(widthMeasureSpec);
setMeasuredDimension(measuredHeight,measuredWidth);
}
privateintmeasureHeight(intmeasureSpec){
intspecMode=MeasureSpec.getMode(measureSpec);
intspecSize=MeasureSpec.getSize(measureSpec);
//如果没有限制默认大小是指定的.
intresult=500;
if(specMode==MeasureSpec.AT_MOST)
{
//你理想的大小的计算
//在这个最大值控制.
//如果你能控制的充满可用
//外太空返回束缚.
result=specSize;
}
elseif(specMode==MeasureSpec.EXACTLY)
{
//如果你的控制能符合这些界限返回那个价值.
result=specSize;
}
returnresult;
}
privateintmeasureWidth(intmeasureSpec){
intspecMode=MeasureSpec.getMode(measureSpec);
intspecSize=MeasureSpec.getSize(measureSpec);
//如果没有限制默认大小是指定的.
intresult=500;
if(specMode==MeasureSpec.AT_MOST)
{
//理想尺寸的计算你的控制
//在这个最大的尺寸。
//如果你的控制填充的可用空间
//返回外面的束缚。
result=specSize;
}
elseif(specMode==MeasureSpec.EXACTLY)
{
//如果你的控制能符合这些界限返回那个价值.
result=specSize;
}
returnresult;
}
- Android 计算控件尺寸
- Android 计算控件尺寸
- Android 计算控件尺寸
- 计算控件尺寸
- 计算控件尺寸
- 计算控件尺寸
- 计算控件尺寸
- 【view】计算控件尺寸
- Android 计算屏幕尺寸
- Android手机屏幕尺寸计算
- 文本显示尺寸计算(关于控件的尺寸定义)
- Android平台根据分辨率计算屏幕尺寸
- Android计算手机真正的物理尺寸
- 计算尺寸
- android自定义控件(七) onMeasure() 测量尺寸
- android自定义控件(七) onMeasure() 测量尺寸
- android自定义控件(七) onMeasure() 测量尺寸
- Android在onCreate()中获得控件尺寸
- Android 手机震动功能实现
- char、nvarchar和varchar区别
- shell 为jar文件,编写可执行启动脚本
- Android View中的setMeasuredDimension方法
- Android 应用程序版本(versionCode, versionName)
- Android 计算控件尺寸
- Matlab 三角函数输入
- sgu132
- Android getWidth和getMeasuredWidth 及 layout_weight
- WindowManager.LayoutParams
- 单向散列函数
- mysql 本机登录错误提示及解决方法
- Pinvolve:模仿Pinterest风格看Facebook新闻动态
- Java中文件选择器JFileChooser使用(如何设置默认文件名,并在框中显示)小结