Dicas de interface do usuário do sistema Android para Surface Duo

Neste artigo, mostramos como controlar a barra de status e a barra de navegação ou dar suporte à exibição em tela inteira em seu aplicativo.

Tela inteira

@Override
public void onWindowFocusChanged(boolean hasFocus) {
    super.onWindowFocusChanged(hasFocus);
    if(hasFocus) {
        getWindow().getDecorView().setSystemUiVisibility(
              View.SYSTEM_UI_FLAG_LAYOUT_STABLE
            | View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN
            | View.SYSTEM_UI_FLAG_HIDE_NAVIGATION
            | View.SYSTEM_UI_FLAG_FULLSCREEN
            | View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY);

Confira o documento sobre tela inteira do Android para obter mais informações.

Barra de Status

Confira a documentação do Android para esmaecer ou ocultar a barra de status.

window.statusBarColor = Color.TRANSPARENT;

Em styles.xml, adicione estes elementos no tema do aplicativo:

<item name="android:windowTranslucentStatus">true</item>
<item name="android:statusBarColor">@android:color/transparent</item>

Para definir uma cor, o styles.xml deve conter uma referência de cor:

<item name="android:windowTranslucentStatus">false</item>
<item name="android:statusBarColor">@color/colorPillBar</item>

que deve existir em colors.xml (vermelho, nesse caso):

<color name="colorPillBar">#ff0000</color>

Barra de status vermelha

Dica

Os aplicativos compartilham a barra de status com o aplicativo na outra tela (exceto quando estendidos nas duas telas). Os aplicativos que solicitam tela inteira ou, de outra forma, manipulam a barra de status terão essas configurações respeitadas quando forem estendidos ou forem o aplicativo ativo em uma tela. Quando o aplicativo estiver em uma única tela e a outra tela ficar em foco, as configurações de interface do usuário do sistema do aplicativo de foco serão aplicadas e a barra de status poderá aparecer no aplicativo que solicitou tela inteira

Ocultar a barra de navegação.

Em styles.xml, adicione estes elementos no tema do aplicativo:

<item name="android:windowTranslucentNavigation">true</item>
<item name="android:navigationBarColor">@android:color/transparent</item>

Para definir uma cor, o styles.xml deve conter uma referência de cor:

<item name="android:windowTranslucentNavigation">false</item>
<item name="android:navigationBarColor">@color/colorPillBar</item>

que deve existir em colors.xml (vermelho, nesse caso):

<color name="colorPillBar">#ff0000</color>

Barra de navegação vermelha