android中如何将Button"画"到canvas上?

2025-04-14 01:47:30
推荐回答(1个)
回答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也无法监听事件,而且按下这个“按钮”后,按钮的外观也没改变。