android中如何将Button"画"到canvas上?
1个回答
展开全部
现在我碰到个项目,要动态的添加Button(个数不定),所以想利用Button.onDraw(canvas)这个方法将new出来的Button绘制到SurfaceView里的Canvas上。但是试过几次,总不能成功(屏幕上无任何显示)。特来请教。
目前代码如下:
Button b=new Button(context);
b.setText("Text");
b.draw(canvas);
1.因为需求所定,肯定是不能用XML来添加Button的
2.也试过通过ScrollView里通过addView方法添加,但是也满足不了要求
b.setText("Text");
b.draw(canvas);
1. 你先试下在 lineLayout上加button试试
但是你说的方法就是我PS的第2项里说的,通过addView的方式添加的,这样会导致Button和Canvas在2个不同的层管理器里,所以也是不行的。 问题补充:我昨天晚上在代码里加入了
layout(l, t, r, b);
这个方法后,Button是能绘制到Canvas上了,但是新的问题有来了
这样绘制出来后,Button好像完全变成静态的“图片”了,设置了onTouchListenter也无法监听事件,而且按下这个“按钮”后,按钮的外观也没改变。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询