2011-08-23 40 views
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; 
    } 

回答

1

試着給你的自定義視圖一個LayoutParams

+0

試過了。我在那裏設置了一個大小,它確實調整了我的自定義視圖,但仍然大於背景 – Kerry

+0

然後,LayoutParams上的數學算法錯誤,圖庫的背景大小與您預期的不同,或者繪製自定義視圖時,它是繪圖比你想象的要大。 – AedonEtLIRA

+0

是的,我傾向於同意你的觀點,但我不明白它是如何發生的。我的自定義視圖吸引了包含組的內容。我只是困惑,爲什麼這是發生 – Kerry