【发布时间】:2018-09-24 23:30:33
【问题描述】:
我尝试了很长时间没有答案。我为该视图使用了 setContentView(view)。但是,我还有另一个 setContentView:
setContentView(R.layout.activity_main);//Buttons, Views from XML...
setContentView( mCustomDrawableView);//Custom Shape
问题是,它只显示 ONE 视图,形状。在XML 上定义的Buttons 消失了。基本上,最后调用的setContentView(view) 是唯一被绘制的View。我还尝试了许多其他方法来绘制形状,但没有有效的答案。
我已经看到多个setContentView 确实相互重叠,但这是部分起作用的唯一方式。有什么方法可以同时显示视图或另一种方式来绘制形状和我的XML Views?
编辑:
我的形状是用 java 制作的,而不是 XML
编辑 2:
这是我的customShape 班级:
public class CustomDrawableView extends View {
private ShapeDrawable mDrawable;
public CustomDrawableView(Context context) {
super(context);
int x = 10;
int y = 10;
mDrawable = new ShapeDrawable(new RectShape());
// If the color isn't set, the shape uses black as the default.
mDrawable.getPaint().setColor(0xff74AC23);
mDrawable.setBounds(x,y,x+10,y+10);
}
protected void onDraw(Canvas canvas) {
mDrawable.draw(canvas);
}
}
【问题讨论】:
-
@CodingM 您可以将画布添加到布局中,然后覆盖
onDraw()以对其进行编辑,这样您只显示布局,而不是画布。 -
@Jamie Corkhill 我过去曾使用过它,对我来说它确实有效。你能给我举个例子吗?
标签: java android view setcontentview