如何在随机屏幕位置显示按钮

mur*_*urr 6 random android button relativelayout

如何在android中的随机屏幕位置显示按钮?例如,我有一个名为GO的按钮.当我点击GO时,它会将我带到第二个屏幕.第二个屏幕将在随机屏幕位置显示另一个按钮(不是START按钮).我怎样才能做到这一点?

MDM*_*lik 6

对于第二个屏幕使用absolute layout,但X = 0上的按钮,Y = 0

一旦你的第二个屏幕被激活.onCreate方法

Button button = (Button)findViewById(R.id.my_button);
AbsoluteLayout.LayoutParams absParams = 
    (AbsoluteLayout.LayoutParams)button.getLayoutParams();

DisplayMetrics displaymetrics = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(displaymetrics);
int width = displaymetrics.widthPixels;
int height = displaymetrics.heightPixels;


Random r = new Random();

absParams.x =  r.nextInt(width ) ;
absParams.y =  r.nextInt(height );
button.setLayoutParams(absParams);
Run Code Online (Sandbox Code Playgroud)

编辑用户想知道如何编写AbsoluteLayout

<AbsoluteLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent" >
  <Button
        android:id="@+id/my_button"
        android:layout_width="100dp"
        android:layout_height="wrap_content"
        android:layout_x="0dp"
        android:layout_y="0dp"
        android:text="Yes" />
</AbsoluteLayout>
Run Code Online (Sandbox Code Playgroud)