2 jz726 jz726 于 2015.05.26 10:30 提问

android动态添加View并位置随机

图片说明

3个回答

danielinbiti
danielinbiti   Ds   Rxr 2015.05.26 11:03
已采纳

1、添加view直接采用addview就可以了
2、可以采用RelativeLayout或者framelayout布局方式,这上面添加的组件可以通过设置left和top或者设置leftmargin,topmargin也行,实现绝对定位
3、组件不重叠需要自己记录下来一个rect集合,在添加的时候进行判断添加的view是否会重叠。以及可以添加的坐标。

jz726
jz726 谢谢你的答案用Rect集合可以存储位置,并判断是否相交,已实现重叠算法虽然效率不高,但也够用,
2 年多之前 回复
danielinbiti
danielinbiti 回复jz726: 难点不在于添加子View,关键要解决重叠问题。如果没有规律可循,这重叠算法就比较复杂了。
2 年多之前 回复
jz726
jz726 在onLayout中对每个子View进行定位,可以添加的坐标很难用代码表现出来
2 年多之前 回复
danielinbiti
danielinbiti 回复jz726: 如果是oncreate中,是不行的。
2 年多之前 回复
jz726
jz726 请问是否是View通过getX( )与getY()得到坐标并根据View的width与height,还有margin的数据来new一个Rect
2 年多之前 回复
devmiao
devmiao   Ds   Rxr 2015.05.26 10:53
stringsdn
stringsdn 你知道位置 知道大小 重叠可以自己算啊
2 年多之前 回复
jz726
jz726 请问如何View之间不重叠呢
2 年多之前 回复
w83023448
w83023448   2015.05.28 10:32

从上面的图看起来好想并不是完全随机的view吧,都是一左一右的排布

jz726
jz726 打算每次进来位置都是随机的,当然了图片上只是一种情况,简单的说就是让子View在ViewGroup中位置随机,并且各子View不可有重叠部分
2 年多之前 回复
Csdn user default icon
上传中...
上传图片
插入图片