Android 放置在库布局中的自定义视图看起来太大

Android 放置在库布局中的自定义视图看起来太大,android,Android,我想在库布局中显示一系列我自己的子类视图,但显示时,库中的每个自定义视图都太大,即超出了边框 在我的子视图类中,我将每个视图的背景设置为“”android:galleryItemBackground”,并将handle onMeasure()等,但由于某些原因,我的视图总是绘制得比背景大 有人能告诉我在自定义视图类中还需要实现什么吗 谢谢 onDraw()方法如下所示: protected void onDraw(Canvas canvas){ /* Draw dial sc

我想在库布局中显示一系列我自己的子类视图,但显示时,库中的每个自定义视图都太大,即超出了边框

在我的子视图类中,我将每个视图的背景设置为“
”android:galleryItemBackground”
,并将handle onMeasure()等,但由于某些原因,我的视图总是绘制得比背景大

有人能告诉我在自定义视图类中还需要实现什么吗

谢谢

onDraw()方法如下所示:

protected void onDraw(Canvas canvas){


        /* Draw dial scale-arc */
        canvas.drawArc(scaleArcRect, scaleArcStart, scaleArcSweep, false, scaleArcPaint);
        canvas.drawArc(innerScaleArcRect, scaleArcStart, scaleArcSweep, false, innerScaleArcPaint);
        /* Draw the scale-arc ticks */
        drawScaleTicks(canvas);

        /* Add text to dial */
        //canvas.drawText(scaleFactorText, sFactorTextRect.left, sFactorTextRect.bottom, scaleTextPaint);

        drawScaleLegend(canvas);

        /*Draw the pointer */
        canvas.save();
        canvas.rotate(drawAngle,this.viewWidth/2,this.viewHeight/2);
        canvas.drawPath(pointerPath, pointerPaint);
        canvas.restore();


        //canvas.drawText(scaleFactorText, sFactorTextRect.left,this.viewHeight/2, scaleTextPaint);

        /* Update position feedback variables */
        actualAngle = drawAngle;

        /* signal to compute thread that the position has been updated */
        isCommanded  = false;
    }

当您从
适配器.getView()
方法接收自定义视图时,尝试为它们提供一个
布局参数。

尝试过。我在那里设置了一个大小,它确实调整了我的自定义视图的大小,但它仍然大于背景。然后LayoutParams上的数学错误,库的背景大小与您预期的不同,或者在绘制自定义视图时,这幅画比你想象的要大。是的,我倾向于同意你的观点,但我不明白它是怎么发生的。我的自定义视图绘制到包含组所告知的内容。我只是不明白为什么会这样。你画过画布吗?是的,我画过。在onDraw()方法中,我画出了我想要显示的内容(一些弧、线、文本等)。我非常确定我在使用从onSizechanged()方法设置的大小参数时遵守了那里的大小限制。