在hardwareAcceleration设置为false的情况下,在自定义视图中获取画布大小

时间:2017-11-30 12:37:10

标签: java android android-canvas android-view android-custom-view

当我使用falseAndroidManifest.xml中的硬件加速设置为hardwareAccelerated="false"时,方法canvas.getWidth()canvas.getHeight()会回归到奇怪的行为:

@Override
protected void onDraw(Canvas canvas) {
    int h = canvas.getHeight();
    int w = canvas.getWidth();
}
  • 如果硬件加速 h =视图高度& w =视图宽度(例如500x500)

  • 如果硬件加速关闭h =屏幕高度& w =屏幕宽度(例如1080x1920)

如果hardwareAccelerationfalse

,如何获取视图的尺寸?

1 个答案:

答案 0 :(得分:1)

  

如果hardwareAccelerationfalse

,如何获取视图的尺寸?

画布大小与View的大小无关。如果您想在onDraw()中获得视图的大小,可以使用getMeasuredWidth() / getMeasuredHeight()