Советы по работе с пользовательским интерфейсом в системе Android для Surface Duo

Из этой статьи вы узнаете, как управлять строкой состояния и панелью навигации или обеспечить поддержку полноэкранного отображения для приложения.

Во весь экран

@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);

Дополнительные сведения см. в документации Android по полноэкранному режиму.

Строка состояния

Из документации по Android можно узнать, как затемнить или скрыть строку состояния.

window.statusBarColor = Color.TRANSPARENT;

Добавьте такие элементы в файле styles.xml в теме приложения:

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

Чтобы задать цвет, укажите в файле styles.xml ссылку на цвет:

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

Ссылка должна существовать в файле colors.xml (красный цвет в этом случае):

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

Строка состояния красного цвета

Совет

Приложения имеют одну строку состояния с приложением на другом экране (если только приложение не развернуто на оба экрана). В приложениях, запрашивающих весь экран или иным образом работающих со строкой состояния, такие параметры применяются в тех случаях, если они развернуты или являются активным приложением на одном из экранов. Если приложение отображается на одном экране, а фокус переходит на другой экран, применяются параметры пользовательского интерфейса приложения с фокусом. При этом строка состояния может отображаться в приложении, которое запрашивает весь экран.

Вы можете скрыть панель навигации.

Добавьте такие элементы в файле styles.xml в теме приложения:

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

Чтобы задать цвет, укажите в файле styles.xml ссылку на цвет:

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

Ссылка должна существовать в файле colors.xml (красный цвет в этом случае):

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

Панель навигации красного цвета