一般在刚开始开发android时,会犯一个错误,即在View的构造函数中获取getWidth()和getHeight(),当一个view对象创建时,android并不知道其大小,所以getWidth()和getHeight()返回的结果是0,真正大小是在计算布局时才会计算,所以会发现一个有趣的事,即在onDraw( ) 却能取得长宽的原因。
如何在构造函数中如何取得长宽。
width = activity.getWindowManager().getDefaultDisplay().getWidth();
height = activity.getWindowManager().getDefaultDisplay().getHeight();
以上选自网络,但是我在自定义的layout里边自定义一个View,初始化时候取得View的getWidth()一直为零,我自己认为是只有屏幕显示后才能取得屏幕的大小,然后getWidth()值才不为0,所以可以另起一个线程判断不为零时再做别的事.
分享到:
相关推荐
getWidth()获取的是这个view最终显示的大小,这个大小有可能等于原始的大小也有可能不等于原始大小。 1.getMeasuredWidth 从源码上来看,getMeasuredWidth()获取的是mMeasuredWidth的这个值。这个值是一个8位...
主要介绍了解决Bitmap通过getWidth和getHeight获取尺寸不符的问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
{ 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5 }, { 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5 }, { 5, 0, 0, 4, 4, 0, 0, 4, 4, 0, 0, 4, 4, 0, 0, 4, 4, 0, 0, 5 },...
”为 EditText 赋值时,可能这个自定义组合控件还未初始化完成,getWidth 得到的值会为0,建立的删除按钮就会不可见。那么为什么不在创建 EditText 的时候创建呢?我本着不浪费资源的原则,就要在我需要的时候才创建...
android中图像在画布上放大缩小时,图像的边框... matrix.postScale(canvas.getWidth()*1.01f/bmpBg.getWidth(), canvas.getHeight()*1.01f/bmpBg.getHeight(), bmpBg.getWidth() / 2, bmpBg.getHeight() / 2); matri
int bubbleBoundaryX = BubbleCanvas.sWidth - getWidth() / 2; int bubbleBoundaryY = BubbleCanvas.sHeight- getWidth() / 2; if (type > 0) { int tempY; int tempX; tempX = x + xSpeed; ...
width=bin->getWidth(); //左边主显示面板宽度与高度的获取 height=bin->getHeight(); width1=bin1->getWidth();//左边预测面板的宽度与高度的获取 height1=bin1->getHeight(); width2=bin2->getWidth();//...
if (noCollisionCount%2==0){ canvas.drawBitmap(player1, x1, y1, paint); } }else { canvas.drawBitmap(player1, x1, y1, paint); } /* if (Hp>=3){ canvas.drawBitmap(hp,0,h-hp.getHeight(),paint); ...
// 设置为true,才能获得焦点,其里面的空间才能响应事件 //true if the popup can be focused, false otherwise popupWindow = new PopupWindow(lv, et_qq.getWidth() / 5 * 4, et_qq.getWidth(), true); ...
Java将多张图片合成为一张,类似于PhotoShop中的合成图片,将两张图片合成输出为一张JPG,两幅图像叠加在一起,这是个比较基础的Java图像合成的例子。在JAVA中实现图片合成,本例的实现核心代码如下: InputStream...
// System.out.print(" ,x="+p3.getWidth()+" y="+p3.getHeight()); p.draw(next); } public void initp() { p.initmap(); while(!p.gameOver()) { p4.getScors(String.valueOf(p.count)+" ponit"); ...
src.left = bitmap.getWidth() / 4 * column; src.top = bitmap.getHeight() / 4 * line; src.right = src.left + bitmap.getWidth() / 4; src.bottom = src.top + bitmap.getHeight() / 4; det.left = ...
getWindowManager getDefaultDisplay getWidth ; dstTop centerView getTop height getWindowManager getDefaultDisplay getHeight ; dstWidth centerView getRight centerView getLeft width...
oldimg.Draw(newimg.GetDC(), 0, 0, nWidth, nHeight, 0, 0, oldimg.GetWidth(), oldimg.GetHeight()); newimg.ReleaseDC(); ::SetBrushOrgEx(newimg.GetDC(), 0, 0, NULL); newimg.ReleaseDC(); ::...
int w=c.getWidth(); float tran=1F; g2d.setRenderingHint(RenderingHints.KEY_ANTIALIASING,RenderingHints.VALUE_ANTIALIAS_ON); GradientPaint p1; GradientPaint p2; p1=new GradientPaint(0,0,new ...
int ix = m_pBmp->GetWidth(); int iy = m_pBmp->GetHeight(); Brush *brush = new SolidBrush(Color(0, 0, 0)); // 黑字 Font *font = new Font(L"宋体", 14); PointF ptf; ptf.X = 10; ptf.Y = iy - 30; // 显示...
本文实例讲述了Android利用BitMap获得图片...bit.getPixels(pixels,0,bit.getWidth(),0,0,bit.getWidth(),bit.getHeight()); for(int i = 0; i < pixels.length; i++){ int clr = pixels[i]; int red = (clr & 0x0
// 为位图文件头分配空间,并初始化为0 m_lpBmpFileHeader = (LPBITMAPFILEHEADER)new BYTE[sizeof(BITMAPFILEHEADER)]; memset(m_lpBmpFileHeader, 0, sizeof(BITMAPFILEHEADER)); // 读取位图文件头 int ...