最佳答案
在这种情况下,您应该考虑 AbsoluteLayout ,这会更有意义。由于这种方式,您可以为每个 child 随机生成 x
和 y
位置。
网上有很多例子,here是通过谷歌搜索找到的第一个。要点是这样的:
在屏幕上绘制这样的东西:
您可以在 Activity xml
文件中声明这样的 AbsoluteLayout
:
<AbsoluteLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<!-- Declare your shapes -->
</AbsoluteLayout>
然后在您的 Activity
或 Fragment
中,您将在随机位置添加您的 Shape
对象,例如:
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
// ...
// Establish the working area
DisplayMetrics displayMetrics = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(displayMetrics);
int widthArea = displayMetrics.widthPixels;
int heightArea = displayMetrics.heightPixels;
//Init the random generator
Random r = new Random();
// Then for each Shape
// ...
AbsoluteLayout.LayoutParams pos =
(AbsoluteLayout.LayoutParams)shape.getLayoutParams();
pos.x = r.nextInt(widthArea);
pos.y = r.nextInt(heightArea);
shape.setLayoutParams(pos);
// ...
}
}
关于android - 在运行时在相对布局内的随机位置添加图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45417338/