import java.util.Random;
public class MainActivity extends AppCompatActivity {
private MyView myView;
Random random = new Random();
//....//
public void onClick (View v) {
switch (v.getId()) {
case R.id.button:
int x = random.nextInt(myView.getWidth());
int y = random.nextInt(myView.getHeight());
int r = (random.nextInt(3) + 1) * 100;
myView.setCircleX(x);
myView.setCircleY(y);
myView.setCircleR(r);
myView.invalidate();
break;
}
}
}
public class MyView extends View {
int circleX;
int circleY;
int circleR;
int x, y, r;
private View myView;
//
.
.
//
@Override
protected void onDraw(Canvas canvas) {
super.onDraw(canvas);
canvas.drawColor(Color.YELLOW);
Paint pnt = new Paint();
pnt.setColor(Color.CYAN);
canvas.drawCircle(circleX, circleY, circleR, pnt);
}
}
<mobilestudio.MyView
android:id="@+id/myView"
android:layout_width="match_parent"
android:layout_height="0dp"
</androidx.constraintlayout.widget.ConstraintLayout>
x,y,r를 랜덤으로 받아서 화면상에 랜덤으로 위치를 뜨게 하고 싶은데 안되네요.. 그리고 랜덤으로 받을 때 myview상의 높이와 넓이를 벗어나지 않게 하고 싶은데 어떻게 해야할까요?