0
我想在画廊布局中显示一系列我自己的后代类视图,但当它显示时,画廊中的每个自定义视图都太大,即它们超过边界。放入画廊布局的自定义视图看起来太大
我已经设置了(以XML形式)每个视图的背景为"android:galleryItemBackground"
,并在我的派生View类中处理onMeasure()等,但由于某种原因,我的视图总是绘制得比背景大。
任何人都可以给我任何想法我需要在我的自定义视图类中实现什么?
感谢
的的onDraw()方法是在这里:当您从Adapter.getView()
方法得到他们
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;
}
试过了。我在那里设置了一个大小,它确实调整了我的自定义视图,但仍然大于背景 – Kerry
然后,LayoutParams上的数学算法错误,图库的背景大小与您预期的不同,或者绘制自定义视图时,它是绘图比你想象的要大。 – AedonEtLIRA
是的,我倾向于同意你的观点,但我不明白它是如何发生的。我的自定义视图吸引了包含组的内容。我只是困惑,为什么这是发生 – Kerry