我正在尝试在 ViewGroup 的 onTouchEvent 上向 ViewGroup 添加一个视图,以下是代码:
ViewGroup mDrawingCanvas = new ViewGroup(mContext)
{
@Override
public boolean isFocused() {
// TODO Auto-generated method stub
Log.d(TAG, "View's On focused is called !");
return super.isFocused();
}
@Override
public boolean onTouchEvent(MotionEvent event) {
// TODO Auto-generated method stub
switch (event.getAction()) {
case MotionEvent.ACTION_DOWN:
View vv = new View(mContext);
vv.setBackgroundColor(Color.GREEN);
vv.setLayoutParams(new LayoutParams(200, 200));
this.addView(vv);
Toast.makeText(mContext, "Views child count = "+this.getChildCount(), Toast.LENGTH_SHORT).show();;
break;
return true;
}
@Override
protected void onLayout(boolean changed, int l, int t, int r,
int b) {
// TODO Auto-generated method stub
}
};
视图被添加到视图组中,Toast 在每个 Touch Down 事件中显示更多的视图计数,但视图没有显示在视图组中的屏幕上。
我在 StackOverflow 上看到过相关问题,但我的问题是独一无二且不同的。
请指导我如何解决这个问题,非常感谢任何帮助。
PS:我还尝试在将视图添加到 ViewGroup 之前设置视图的布局参数,但得到的结果相同。在将视图添加到 ViewGroup 后,我还在 LogCat 中打印了视图的宽度和高度,它始终显示为 0。我认为问题出在视图的宽度和高度设置的某个地方。