Кнопка на холсте
Я пытаюсь сделать простую игру, которая использует Canvas, и я хочу поместить что-то вроде кнопки в правом верхнем углу, которая позволяет вам приостановить игру. Каков был бы лучший способ сделать это?
Я думал о том, чтобы нарисовать эти две линии, которые символизируют паузу на холсте и паузу в игре после того, как игрок щелкает по локациям, но разве нет лучшего способа?
Я помещаю здесь также картинку, чтобы показать вам, как я хочу, чтобы она выглядела так:
1 ответ
Я использую относительное расположение, чтобы управлять всеми вещами.
1) найти относительное расположение
2) добавить что-то в свой RelativeLayout
3) добавить холст в свой RelativeLayout
Мой пример ниже рисует четыре кнопки простым циклом for и добавляет холст.
Пример:
RelativeLayout layout = (RelativeLayout)findViewById(R.id.bb);
for (int i=0; i<4; i++) {
Button btn = new Button(this);
btn.setId(i);
btn.setText("some_text");
btn.setHeight(i*100);
btn.setX(100*i);
btn.setY(100*i);
layout.addView(btn);
}
YourDesign abc=new YourDesign(this);
layout.addView(abc);
Вы можете считать "YourDesign" классом вашего холста.
Пример холста:
public class YourDesign extends View{
Bitmap picture;
int x=0;
public YourDesign(Context context) {
super(context);
picture=BitmapFactory.decodeResource(getResources(), R.drawable.ic_launcher);
}
@Override
protected void onDraw(Canvas canvas) {
// TODO Auto-generated method stub
super.onDraw(canvas);
canvas.drawBitmap(picture, x, 100, new Paint());
x++;
if(x>canvas.getWidth())
x=0;
invalidate();
}