我想一个视图添加到一个ViewGroup上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
}
};
被添加到ViewGroup中来看,吐司显示在每一个更大的浏览次数触摸关闭事件,但ViewGroup中的屏幕上未显示视图。
我在StackOverflow上看到过相关的问题,但我的问题是独一无二的。
请指导我如何解决这个问题,高度赞赏任何帮助。
P.S:我也尝试在将View添加到ViewGroup之前设置视图的Layout参数,但获得的结果相同。在将ViewGroup添加到ViewGroup中之后,我还在LogCat中打印了视图的宽度和高度,并且它始终显示0.我认为问题出现在视图宽度和高度设置的某处。
实现onLayout方法 – pskink
请详细说明一下,我应该在'onLayout(...)'方法做什么实现? –
只是看到现有的ViewGroup.onLayout。实现 – pskink