Samsung Galaxy S8 tryb pełnoekranowy

Najnowszy smartfon Samsunga ma ciekawą funkcję o nazwie full screen (lub w kategoriach marketingowych Infinity display ). W tym trybie aplikacja obejmuje również część wyświetlacza, gdzie znajdują się przyciski home/back. Zwykłe aplikacje nie pokrywają tego obszaru, pozostawiając go czarnym. Ale rodzime Samsunga obejmują ten obszar.

Pytanie: jak osiągnąć ten efekt? Chodzi mi o to, jakiego rodzaju deklaracji manifestu lub wywołania programowego (ewentualnie starszego API Samsunga) powinienem użyć?

Author: barmaley, 2017-04-29

3 answers

Aby włączyć obsługę nowego ekranu Samsung Galaxy S8 i LG G6 dodać do AndroidManifest.xml pod elementem <application>:

<meta-data android:name="android.max_aspect" android:value="2.1" />

Gdzie wartość 2.1 to współczynnik proporcji 18.5: 9(Domyślnie aplikacja domyślnie ustawia maksymalny współczynnik dla 16: 9 - 1.86). Więcej informacji w: Android Blog .

Alternatywnie możesz ustawić następujący atrybut dla aplikacji lub aktywności:

android:resizeableActivity="true"

Ponieważ dokumentacje stanowią (link):

Nie musisz ustawiać maksymalny współczynnik proporcji, jeśli działanie jest android: atrybut resizeableActivity jest ustawiony na true. Jeśli Twoja aplikacja cele poziomu API 24 lub wyższego, domyślnie ten atrybut ma wartość true.

 27
Author: Maris B.,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-06-05 13:31:01

Aby uzyskać pełnoekranowy obrazek, należy przejrzeć metodę onWindowFocusChanged i utworzyć obiekt decorView i dodać do niego flagi System_UI..

@Override
    public  void onWindowFocusChanged(boolean  hasFocus){
        super.onWindowFocusChanged(hasFocus);
        View decorView = getWindow().getDecorView();
        if(hasFocus){

        decorView.setSystemUiVisibility(View.SYSTEM_UI_FLAG_LAYOUT_STABLE
                    |View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY  // this flag do=Semi-transparent bars temporarily appear and then hide again
                    |View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN  // Make Content Appear Behind the status  Bar
                    |View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION  // it Make Content Appear Behind the Navigation Bar
                    |View.SYSTEM_UI_FLAG_FULLSCREEN  // hide status bar
                    |View.SYSTEM_UI_FLAG_HIDE_NAVIGATION);
        }
    }
 1
Author: Abubakar,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-04-29 11:31:41

Można go wyłączyć. Użyłem tego samouczka dla mojego S8

Jak włączyć aplikacje pełnoekranowe na Galaxy S8 / S8 +

 -5
Author: Zunair Nasir,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-05-08 11:33:44