Погружения,Погружения

Погружения предоставляют вам больше возможностей для использования пользовательского ввода и создания пользовательских интерфейсов. Это позволяет вам создать наиболее настраиваемый интерфейс, но требует большей работы.

Если вы впервые разрабатываете для Glass, прочтите вместо этого руководство по погружению . В этом документе рассказывается, как создать полноценную стеклянную посуду с погружением, следуя нашим передовым методам проектирования.

Как они работают

Погружения отображаются за пределами временной шкалы, что дает вам полный контроль над взаимодействием с пользователем с момента запуска погружения в Glass.

Вы создаете погружение со стандартными действиями Android, макетами, виджетами пользовательского интерфейса и остальными элементами платформы Android. Затем вы используете GDK для интеграции в интерфейс Glass, например для интеграции голосовых команд, карточек в стиле Glass и многого другого.

Когда погружения начинаются, они появляются в верхней части временной шкалы. Когда пользователи завершают погружение, они отступают, проводя пальцем вниз.

Когда их использовать

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

Погружения также необходимы, когда вам нужно перезаписать функции, специфичные для временной шкалы, такие как пролистывание вперед и назад и управление тайм-аутом экрана.

Однако используйте погружения только в случае необходимости, потому что они требуют больше работы для создания и больше времени для хорошего проектирования. Живые карты предлагают достаточно функций и возможностей для большинства типов стеклянной посуды.

Создание погружений

Вы создаете погружения, используя стандартные активности Android , но при написании активностей для Glass помните следующее:

  • Создайте свои пользовательские интерфейсы для экрана 640 × 360 пикселей.
  • Создавайте взаимодействия, которые имеют смысл на Glass, вместо переноса действий с других устройств Android.
  • Не полагайтесь на сложные сенсорные жесты или шаблоны пользовательского интерфейса.
  • Смахивание вниз всегда возвращает в стек действий, пока пользователи не дойдут до временной шкалы. Она должна работать так же, как кнопка «Назад» Android на смартфонах и планшетах.
  • Создайте значок размером 50 × 50 пикселей и укажите его для атрибута android:icon элемента <activity> в манифесте Android. Также укажите текст для android:label . Это позволяет голосовому или сенсорному меню, связанному с несколькими изделиями из стекла, отображать имя и значок изделия из стекла в качестве опции.
  • Укажите android:immersive="true" для элемента <activity> , чтобы фокусировать погружение после сна и пробуждения экрана.

Создание и отображение меню

Glass отображает правильный стиль для меню, если вы создаете их с помощью стандартных API меню Android внутри действия.

Чтобы отобразить меню для действия, создайте ресурсы меню, а затем отобразите их при действии пользователя, например касании, когда ваше действие находится в фокусе.

Создание ресурсов меню

Создание ресурсов меню такое же, как и на платформе Android, но следуйте этим рекомендациям:

  • Для каждого пункта меню предоставьте значок пункта меню размером 50 × 50 пикселей. Значок меню должен быть белого цвета на прозрачном фоне. Загрузите значки меню Glass для использования или в качестве примера.
  • Используйте короткую фразу, которая описывает действие и находится в предложении. Повелительное наклонение работает хорошо (например, «Поделиться» или «Ответить всем»).

Вот простой, чтобы вы начали:

<menu xmlns:android="http://schemas.android.com/apk/res/android">
    <item
        android:id="@+id/reply_menu_item"
        android:title="@string/reply"                <!-- imperative verb -->
        android:icon="@drawable/icons_50_reply" />   <!-- white in color on
                                                     transparent background
                                                     -->
</menu>

Дополнительные сведения о создании меню Android см. в разделе Меню в документации Android SDK.

Обработка обратных вызовов меню

Класс Activity содержит обратные вызовы, которые вы переопределяете для управления созданием, отображением и удалением меню:

  1. onCreateOptionsMenu() увеличивает ресурс меню XML.
  2. onPrepareOptionsMenu() показывает или скрывает элементы меню, если это необходимо. Например, вы можете отображать различные пункты меню в зависимости от того, что делают пользователи.
  3. onOptionsItemSelected() обрабатывает выбор пользователя.

    public class MyActivity extends Activity {
    
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
        }
    
        @Override
        public boolean onCreateOptionsMenu(Menu menu) {
            MenuInflater inflater = getMenuInflater();
            inflater.inflate(R.menu.stopwatch, menu);
            return true;
        }
    
        @Override
        public boolean onPrepareOptionsMenu(Menu menu) {
            // Implement if needed
        }
    
        @Override
        public boolean onOptionsItemSelected(MenuItem item) {
            // Handle item selection. Menu items typically start another
            // activity, start a service, or broadcast another intent.
            switch (item.getItemId()) {
                case R.id.stop:
                    startActivity(new Intent(this,
                    StopStopWatchActivity.class));
                    return true;
                default:
                    return super.onOptionsItemSelected(item);
            }
        }
    }
    

Отображение меню

Чтобы отобразить меню, при необходимости вызовите openOptionsMenu() , например коснитесь сенсорной панели. В следующих примерах определяется жест касания действия, а затем вызывается openOptionsMenu() .

public class MainActivity extends Activity {
    // ...
    @Override
    public boolean onKeyDown(int keyCode, KeyEvent event) {
          if (keyCode == KeyEvent.KEYCODE_DPAD_CENTER) {
              openOptionsMenu();
              return true;
          }
          return super.onKeyDown(keyCode, event);
    }
}

Некоторые вспомогательные методы доступны для изменения внешнего вида и поведения меню. См. MenuUtils для получения дополнительной информации.

,

Погружения предоставляют вам больше возможностей для использования пользовательского ввода и создания пользовательских интерфейсов. Это позволяет вам создать наиболее настраиваемый интерфейс, но требует большей работы.

Если вы впервые разрабатываете для Glass, прочтите вместо этого руководство по погружению . В этом документе рассказывается, как создать полноценную стеклянную посуду с погружением, следуя нашим передовым методам проектирования.

Как они работают

Погружения отображаются за пределами временной шкалы, что дает вам полный контроль над взаимодействием с пользователем с момента запуска погружения в Glass.

Вы создаете погружение со стандартными действиями Android, макетами, виджетами пользовательского интерфейса и остальными элементами платформы Android. Затем вы используете GDK для интеграции в интерфейс Glass, например для интеграции голосовых команд, карточек в стиле Glass и многого другого.

Когда погружения начинаются, они появляются в верхней части временной шкалы. Когда пользователи завершают погружение, они отступают, проводя пальцем вниз.

Когда их использовать

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

Погружения также необходимы, когда вам нужно перезаписать функции, специфичные для временной шкалы, такие как пролистывание вперед и назад и управление тайм-аутом экрана.

Однако используйте погружения только в случае необходимости, потому что они требуют больше работы для создания и больше времени для хорошего проектирования. Живые карты предлагают достаточно функций и возможностей для большинства типов стеклянной посуды.

Создание погружений

Вы создаете погружения, используя стандартные активности Android , но при написании активностей для Glass помните следующее:

  • Создайте свои пользовательские интерфейсы для экрана 640 × 360 пикселей.
  • Создавайте взаимодействия, которые имеют смысл на Glass, вместо переноса действий с других устройств Android.
  • Не полагайтесь на сложные сенсорные жесты или шаблоны пользовательского интерфейса.
  • Смахивание вниз всегда возвращает в стек действий, пока пользователи не дойдут до временной шкалы. Она должна работать так же, как кнопка «Назад» Android на смартфонах и планшетах.
  • Создайте значок размером 50 × 50 пикселей и укажите его для атрибута android:icon элемента <activity> в манифесте Android. Также укажите текст для android:label . Это позволяет голосовому или сенсорному меню, связанному с несколькими изделиями из стекла, отображать имя и значок изделия из стекла в качестве опции.
  • Укажите android:immersive="true" для элемента <activity> , чтобы фокусировать погружение после сна и пробуждения экрана.

Создание и отображение меню

Glass отображает правильный стиль для меню, если вы создаете их с помощью стандартных API меню Android внутри действия.

Чтобы отобразить меню для действия, создайте ресурсы меню, а затем отобразите их при действии пользователя, например касании, когда ваше действие находится в фокусе.

Создание ресурсов меню

Создание ресурсов меню такое же, как и на платформе Android, но следуйте этим рекомендациям:

  • Для каждого пункта меню предоставьте значок пункта меню размером 50 × 50 пикселей. Значок меню должен быть белого цвета на прозрачном фоне. Загрузите значки меню Glass для использования или в качестве примера.
  • Используйте короткую фразу, которая описывает действие и находится в предложении. Повелительное наклонение работает хорошо (например, «Поделиться» или «Ответить всем»).

Вот простой, чтобы вы начали:

<menu xmlns:android="http://schemas.android.com/apk/res/android">
    <item
        android:id="@+id/reply_menu_item"
        android:title="@string/reply"                <!-- imperative verb -->
        android:icon="@drawable/icons_50_reply" />   <!-- white in color on
                                                     transparent background
                                                     -->
</menu>

Дополнительные сведения о создании меню Android см. в разделе Меню в документации Android SDK.

Обработка обратных вызовов меню

Класс Activity содержит обратные вызовы, которые вы переопределяете для управления созданием, отображением и удалением меню:

  1. onCreateOptionsMenu() увеличивает ресурс меню XML.
  2. onPrepareOptionsMenu() показывает или скрывает элементы меню, если это необходимо. Например, вы можете отображать различные пункты меню в зависимости от того, что делают пользователи.
  3. onOptionsItemSelected() обрабатывает выбор пользователя.

    public class MyActivity extends Activity {
    
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
        }
    
        @Override
        public boolean onCreateOptionsMenu(Menu menu) {
            MenuInflater inflater = getMenuInflater();
            inflater.inflate(R.menu.stopwatch, menu);
            return true;
        }
    
        @Override
        public boolean onPrepareOptionsMenu(Menu menu) {
            // Implement if needed
        }
    
        @Override
        public boolean onOptionsItemSelected(MenuItem item) {
            // Handle item selection. Menu items typically start another
            // activity, start a service, or broadcast another intent.
            switch (item.getItemId()) {
                case R.id.stop:
                    startActivity(new Intent(this,
                    StopStopWatchActivity.class));
                    return true;
                default:
                    return super.onOptionsItemSelected(item);
            }
        }
    }
    

Отображение меню

Чтобы отобразить меню, при необходимости вызовите openOptionsMenu() , например коснитесь сенсорной панели. В следующих примерах определяется жест касания действия, а затем вызывается openOptionsMenu() .

public class MainActivity extends Activity {
    // ...
    @Override
    public boolean onKeyDown(int keyCode, KeyEvent event) {
          if (keyCode == KeyEvent.KEYCODE_DPAD_CENTER) {
              openOptionsMenu();
              return true;
          }
          return super.onKeyDown(keyCode, event);
    }
}

Некоторые вспомогательные методы доступны для изменения внешнего вида и поведения меню. См. MenuUtils для получения дополнительной информации.