android canvas view重绘 我在一个activity中调用了canvas。在canvas中我点击事件需要重新绘制当前view
调用publicvoidonCreate(BundlesavedInstanceState){super.onCreate(savedInstanceState);set...
调用
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mGameView = new Bao(this);
setContentView(mGameView);
}
canvas类:
public void onDraw(Canvas canvas) {
super.onDraw(canvas);
/* 设置画布的颜色 */
moren(canvas);
}
在onTouchEvent中我需要像执行moren(canvas)那样重新绘制界面,该怎么做?
网上搜的好像需要重绘线程了什么了,没看明白。 展开
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mGameView = new Bao(this);
setContentView(mGameView);
}
canvas类:
public void onDraw(Canvas canvas) {
super.onDraw(canvas);
/* 设置画布的颜色 */
moren(canvas);
}
在onTouchEvent中我需要像执行moren(canvas)那样重新绘制界面,该怎么做?
网上搜的好像需要重绘线程了什么了,没看明白。 展开
展开全部
除了SurfaceView,其它的都必须通过调用View.invalidate方法刷新View
所以不能直接执行moren(canvas),需要在onTouchEvent调用invalidate
所以不能直接执行moren(canvas),需要在onTouchEvent调用invalidate
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你可以再View类里面加一个reDraw方法,这方法里面去重新调用一下onDraw。在你activity中要重画时去调用reDraw方法。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
额,看不懂啊
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询