如何将画布添加到空布局(线性或相对)



我有两个布局,第一个布局包含一些文本视图和其他视图,第二个布局位于第一个布局内是空的,我想将画布添加到第二个布局并在该画布上添加一些位图和文本。

您只能向布局添加 View 秒。您无法添加画布。
但每View都有它的画布。您可以做的是创建自己的自定义类

public class MyCanvasView extends View {
...
}

覆盖它的protected void onDraw(Canvas canvas) {,并绘制它的Canvas

protected void onDraw(Canvas canvas) {
   super.onDraw(canvas);
   // Draw the shadow
   canvas.drawOval(
           mShadowBounds,
           mShadowPaint
   );
   // Draw the label text
   canvas.drawText(mData.get(mCurrentItem).mLabel, mTextX, mTextY, mTextPaint);
   // Draw the pie slices
   for (int i = 0; i < mData.size(); ++i) {
       Item it = mData.get(i);
       mPiePaint.setShader(it.mShader);
       canvas.drawArc(mBounds,
               360 - it.mEndAngle,
               it.mEndAngle - it.mStartAngle,
               true, mPiePaint);
   }
   // Draw the pointer
   canvas.drawLine(mTextX, mPointerY, mPointerX, mPointerY, mTextPaint);
   canvas.drawCircle(mPointerX, mPointerY, mPointerSize, mTextPaint);
}

然后将其添加到您的布局中。

最新更新