我有两个布局,第一个布局包含一些文本视图和其他视图,第二个布局位于第一个布局内是空的,我想将画布添加到第二个布局并在该画布上添加一些位图和文本。
您只能向布局添加 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);
}
然后将其添加到您的布局中。
源