【问题标题】:How to Place a Image at the center of Screen using Canvas如何使用 Canvas 将图像放置在屏幕中心
【发布时间】:2011-09-28 07:15:30
【问题描述】:

我正在使用画布在 Android 中显示图像。无论屏幕大小如何,我都希望此图像占据屏幕的中心。那么我该如何实现呢。

这是我试过的sn-p,也请告诉我你的想法。

@Override
        protected void onDraw(Canvas canvas) {
        ..........
            ..........
            sampleImage.draw(canvas,getWidth(),getHeight()); // This moves the image to right end of the view.
            ..........
            ..........

非常感谢任何形式的帮助。

谢谢。

【问题讨论】:

    标签: android image canvas


    【解决方案1】:
    sampleImage.draw(
          canvas,
          getWidth()/2 - imageWidth/2,
          getHeight()/2 - imageHeight/2
    ); 
    

    ;)

    【讨论】:

    • 我也觉得应该重载view的OnSizeChanged,然后保存view的宽高。
    • 嗨 Lukas,感谢您的回复,我尝试了以下方式,但仍然没有得到正确的解决方案。 movie.draw(canvas,getWidth()/2 - BitmapFactory.decodeResource(getResources(), R.drawable.loader).getWidth()/2,getHeight()/2 - BitmapFactory.decodeResource(getResources(), R.drawable .loader).getHeight()/2);
    • 它仍然在右侧的某个地方。不完全在我的观点的中心。如果您有任何想法,请提供帮助。谢谢...
    • 尝试从您将要绘制的实际位图而不是从资源中获取大小(解码一次)。它会工作得更快。什么是“电影”?
    • 谢谢 lukas,我会试试的,让我知道状态。
    猜你喜欢
    • 1970-01-01
    • 2014-05-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多