android 自定义View为什么在添加的时候会覆盖 只能显示第一个添加的自定义View

只重写了这个publicvoidonDraw(Canvascanvas){//TODOAuto-generatedmethodstubsuper.onDraw(canva... 只重写了这个
public void onDraw(Canvas canvas) { // TODO Auto-generated method stub super.onDraw(canvas); Bitmap b=((BitmapDrawable)this.getResources().getDrawable(R.drawable.flat)).getBitmap(); Paint p=new Paint(); // canvas.drawCircle(x, y, 20, p); canvas.drawBitmap(b, x-30, y-30, p); }
展开
 我来答
恒山派掌窗
2014-01-13 · 超过30用户采纳过TA的回答
知道答主
回答量:45
采纳率:0%
帮助的人:45.3万
展开全部
呵呵 ,因为你没有重写onMesure方法呀,所以在布局里占位的时候,他是占满父布局的位置的,所以你看到的只有第一个。第二个被挤到屏外,当然也就看不到了
岌岌可危1
2014-01-13 · TA获得超过236个赞
知道答主
回答量:35
采纳率:0%
帮助的人:42.9万
展开全部
canvas.drawBitmap(b, x-30, y-30, p);你所有的控件都画在这个位置的啊,所以后面画的肯定覆盖前面画的bitmap,而且两次画的图片一样大会连先画的图片都看不见,被完全覆盖了,图片不一样大还稍微能看见点边角。要想不覆盖得改变下画的位置。
追问
我把 x y用随机数了 但是还只显示一个
追答
你想在一个view中显示多个bitmap,得循环添加啊。有多少bitmap在onDraw中就循环添加多少次。每次添加的位置改变下。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
Cool_微笑
2014-01-13
知道答主
回答量:54
采纳率:0%
帮助的人:20.6万
展开全部
我也想问下这个问题
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式