Android Студийная игра не использует весь дисплей android - PullRequest
0 голосов
/ 06 апреля 2020

После запуска игры игра не использует весь экран android. Это происходит только с самой игрой, показанной изображением, поскольку пользователь не может достичь нижней части экрана. Я пытался найти решение, но все попытки, которые я пробовал, похоже, не работают. Не уверены, какой код предоставить, и поэтому не хотите предоставлять большой объем кода. Дайте мне знать, какой код для публикации. Любая помощь будет оценена.

Образ игры

package com.example.spaceattack;

import androidx.appcompat.app.AppCompatActivity;

import android.os.Bundle;
import android.os.Handler;

import java.util.Timer;
import java.util.TimerTask;

public class MainActivity extends AppCompatActivity
{
    private SpaceShipView gameView;
    private Handler handler = new Handler();
    private final static long Interval = 30;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

        gameView = new SpaceShipView(this);
        setContentView(gameView);

        Timer timer = new Timer();
        timer.schedule(new TimerTask() {
            @Override
            public void run()
            {
                handler.post(new Runnable() {
                    @Override
                    public void run()
                    {
                        gameView.invalidate();

                    }
                });
            }
        }, 0, Interval);

    }
}

1 Ответ

0 голосов
/ 06 апреля 2020

Вам нужно скрыть статус / систему, открыв окно вашего приложения и установив следующие флаги:

Больше от Документация

// hide status bar
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN) {
    getWindow().getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_FULLSCREEN);

} else {
    getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);
}

Так в вашем код:

public class MainActivity extends AppCompatActivity
{
    private SpaceShipView gameView;
    private Handler handler = new Handler();
    private final static long Interval = 30;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

        gameView = new SpaceShipView(this);
        setContentView(gameView);

        // hide status bar
        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN) {
            mUiOptions = View.SYSTEM_UI_FLAG_FULLSCREEN;
            getWindow().getDecorView().setSystemUiVisibility(mUiOptions);
        } else {
            getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);
        }

        Timer timer = new Timer();
        timer.schedule(new TimerTask() {
            @Override
            public void run()
            {
                handler.post(new Runnable() {
                    @Override
                    public void run()
                    {
                        gameView.invalidate();

                    }
                });
            }
        }, 0, Interval);

    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...