Android FullScreen

0

Witam wszystkich,

Czy ktoś z Was wie, jak ustawić w Androidzie tryb FullScreen bez widoczności dolnej belki z przyciskami back, home itp.? Stworzyłam sobie na dzień dobry prymitywną aplikację "Hello Word", lecz udało mi się jedynie pozbyć górnego paska z godziną:

708b9e4a1b.png

Jak zrobić pełen FullScreen?

Do AndroidManifestu dopisałam poniższą linijkę:

 
<application
        ...
        android:theme="@android:style/Theme.NoTitleBar" 
        ...
</application>

Do mojego activity dwie poniższe:

 
    android:theme="@android:style/Theme.NoTitleBar.Fullscreen"
    android:background="@android:color/background_light"

A w klasie, zmodyfikowałam metodę onCreate w następujący sposób:

 @Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		
        requestWindowFeature(Window.FEATURE_NO_TITLE);
        getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, 
                                WindowManager.LayoutParams.FLAG_FULLSCREEN); 
		
		setContentView(R.layout.activity_main);
	}

Z góry dziękuję za pomoc/wskazówki!

Pozdrawiam.

--EDIT

Udało mi się uzyskać coś takiego:
31696cb0e1.png

Użyłam w tym celu niepolecanej (deprecated) stałej View.STATUS_BAR_HIDDEN:

 getWindow().getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_FULLSCREEN
        		|View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN
        		|View.STATUS_BAR_HIDDEN);

Mimo wszystko belka dalej jest. Jak się jej pozbyć całkowicie? :) Przecież np w grach fullscreen nie mamy kropek (hidden status bar), tylko tej belki po prostu nie ma. To znaczy, że się da, tylko nie wiem jak taki efekt osiągnąć...

Pomożecie? Dzięki! :)

0

Dzięki! To jest prawie to, czego szukam:

1e40e173c9.png

Tylko niestety na klik w dowolnym miejscu ekranu wszystko mi się wysuwa:

877010673e.png

Masz może jakiś pomysł jak się przed tym zabezpieczyć?

0

There is a limitation: because navigation controls are so important, the least user interaction will cause them to reappear immediately. When this happens, both this flag and SYSTEM_UI_FLAG_FULLSCREEN will be cleared automatically, so that both elements reappear at the same time.

Z dokumentacji..

Wydaje mi się, że jednak to co chcesz osiągnąć nie jest możliwe. Możesz podać przykład gry? Bo właśnie uruchomiłem dwie gry działające full screen i obie mają navigation bar..

0

Kurczę, masz rację :D Też sprawdziłam właśnie i action bar jest (tylko nie zwraca się na to uwagi w trakcie gry).

To generalnie mam problem, bo muszę napisać aplikację, z której nie będzie można wyjść wciskając np przycisk home, tylko mój przycisk w aplikacji ma robić powrót do pulpitu. Pierwszą myślą było więc zrobić moją aplikację jako launcher:

 <category android:name="android.intent.category.LAUNCHER" />
                <category android:name="android.intent.category.HOME" />
                <category android:name="android.intent.category.DEFAULT" />

Wówczas wciśnięcie home powoduje powrót do mojej aplikacji, więc użytkownik z niej nie wyjdzie bez mojego przycisku. Ale tu pojawił się problem, bo w obsłudze przycisku wychodzenia z aplikacji musiałam podmienić launchera z mojej aplikacji na tą domyślną androida:

 	public void onExitPressed(View view){
		
		Intent intent = new Intent(this, ExitToast.class);
		
		startActivityForResult(intent, 1);
		
		
		
		}
	
	@Override
	protected void onActivityResult(int requestCode, int resultCode, Intent data) {
		super.onActivityResult(requestCode, resultCode, data);
		
		if (data.getStringExtra(KEY_PASSWORD).equals("exit")){
			getPackageManager().clearPackagePreferredActivities(getPackageName());
			
			final Intent intent=new Intent();
			intent.setAction(Intent.ACTION_MAIN);
			intent.addCategory(Intent.CATEGORY_HOME);
			intent.setPackage("com.android.launcher");
			startActivity(intent);
		}
	}

Wtedy efekt jest taki, że przy pierwszym ponownym uruchomieniu mojej aplikacji, na wciśnięcie home system pyta się, której aplikacji użyć: program uruchamiający (domyślny androida), czy mój. Muszę wybrać swoją app z opcją "zawsze" i wtedy dopiero jest ok. Nie wiem jak pominąć ten etap wyboru aplikacji, więc pomyślałam o całkowitym pozbyciu się przycisku home z ekranu, ale tu też są problemy... Może Ty będziesz mieć jakieś pomysły? Da to się w ogóle zrobić - bez roota? :)

0

Niektóre telefony (np. mój Samsung S II mini) mają fizyczny przycisk, którym można zminimalizować aplikację i powrócić do ekranu głównego.
Myślę więc, że nie ma takiej opcji.

1 użytkowników online, w tym zalogowanych: 0, gości: 1