`
zhanglfat
  • 浏览: 91432 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

getWidth()为0

 
阅读更多
一般在刚开始开发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,所以可以另起一个线程判断不为零时再做别的事.
分享到:
评论

相关推荐

    解决Bitmap通过getWidth和getHeight获取尺寸不符的问题

    如果在hdpi设备上加载了放在mdpi目录的图片,那么BitmapFactory会将图片按1.5倍的比例缩放,这就是为什么通过getWidth和getHeight获取到的尺寸与实际图片尺寸不符的原因。 为了解决这个问题,我们可以采取以下两种...

    android图片处理总结

    LinearGradient gradient = new LinearGradient(0, 0, bitmap.getWidth(), 0, new int[]{Color.RED, Color.BLUE}, null, Shader.TileMode.CLAMP); paint.setShader(gradient); canvas.drawRect(new RectF(0, 0, ...

    Android高级应用源码-圆形,圆角图片,已经封装好的方法,直接调用!.zip

    final Rect rect = new Rect(0, 0, bitmap.getWidth(), bitmap.getHeight()); paint.setAntiAlias(true); canvas.drawARGB(0, 0, 0, 0); paint.setColor(color); canvas.drawCircle(output.getWidth() / 2, ...

    android中将图片转化成黑白

    src.getPixels(pixels, 0, src.getWidth(), 0, 0, src.getWidth(), src.getHeight()); for (int i = 0; i ; i++) { int gray = getGrayValue(pixels[i]); if (gray > threshold) { pixels[i] = Color.WHITE; ...

    vc2005将256图像转换为灰度图

    graphics.DrawImage(imgOriginal, 0, 0, imgOriginal->GetWidth(), imgOriginal->GetHeight(), 0, 0, imgOriginal->GetWidth(), imgOriginal->GetHeight(), &attr); ``` 3. **直接操作像素数组**:如果你不依赖...

    Android范例

    { 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 },...

    imageview 展示原形图片

    final Rect rect = new Rect(0, 0, bitmap.getWidth(), bitmap.getHeight()); paint.setAntiAlias(true); canvas.drawARGB(0, 0, 0, 0); paint.setColor(color); if (bitmap.getWidth() > bitmap.getHeight()...

    自定义组合控件之删除文本框

    ”为 EditText 赋值时,可能这个自定义组合控件还未初始化完成,getWidth 得到的值会为0,建立的删除按钮就会不可见。那么为什么不在创建 EditText 的时候创建呢?我本着不浪费资源的原则,就要在我需要的时候才创建...

    mfc 实现窗口背景换为图片的视频

    memDC.StretchBlt(0, 0, image.GetWidth(), image.GetHeight(), &image, 0, 0, image.GetWidth(), image.GetHeight(), SRCCOPY); // 绘制位图到内存DC // 用StretchBlt或BitBlt将内存DC的内容复制到窗口DC dc....

    Android自定义TextView带圆角边框颜色(动态更改边框颜色)

    path.addRoundRect(new RectF(getPaddingLeft(), getPaddingTop(), getWidth() - getPaddingRight(), getHeight() - getPaddingBottom()), mCornerRadius, mCornerRadius, Path.Direction.CW); canvas.clipPath...

    java 如何将彩色图转化为灰度图

    在图像处理领域,将彩色图像转换为灰度图像是一种常见的操作。在 Java 中,我们可以使用 Java AWT 和 Swing 库中的方法来实现这个功能。以下是一个详细的步骤和知识点讲解: 1. **理解彩色图像和灰度图像** - **...

    Android Xfermode 实战实现圆形、圆角图片

    final Rect rect = new Rect(0, 0, bitmap.getWidth(), bitmap.getHeight()); paint.setAntiAlias(true); canvas.drawARGB(0, 0, 0, 0); paint.setColor(color); canvas.drawCircle(output.getWidth() / 2, ...

    J2ME手机游戏打泡泡开源教程,源码

    int bubbleBoundaryX = BubbleCanvas.sWidth - getWidth() / 2; int bubbleBoundaryY = BubbleCanvas.sHeight- getWidth() / 2; if (type > 0) { int tempY; int tempX; tempX = x + xSpeed; ...

    圆形,圆角图片,直接调用!

    final Rect rect = new Rect(0, 0, bitmap.getWidth(), bitmap.getHeight()); paint.setAntiAlias(true); canvas.drawARGB(0, 0, 0, 0); paint.setColor(color); canvas.drawCircle(bitmap.getWidth() / 2, ...

    qt学习之路之时钟带背景图片

    width=bin->getWidth(); //左边主显示面板宽度与高度的获取 height=bin->getHeight(); width1=bin1->getWidth();//左边预测面板的宽度与高度的获取 height1=bin1->getHeight(); width2=bin2->getWidth();//...

    Android裁剪图片为圆形图片Demo

    在Android开发中,将图片裁剪为圆形是常见的需求,特别是在设计用户头像或者需要圆形展示的界面元素时。这个"Android裁剪图片为圆形图片Demo"提供了实现这一功能的实例代码,帮助开发者理解并应用到自己的项目中。...

    android 自定义圆形imageview

    canvas.drawRoundRect(new RectF(0, 0, bitmap.getWidth(), bitmap.getHeight()), bitmap.getWidth() / 2f, bitmap.getHeight() / 2f, paint); } paint.setXfermode(new PorterDuffXfermode(PorterDuff.Mode.SRC_...

Global site tag (gtag.js) - Google Analytics