몰입형은 사용자 입력을 소비하고 사용자를 만들 수 있는 더 많은 방법을 제공합니다 인터페이스에 추가되었습니다. 이렇게 하면 가장 큰 맞춤 환경을 만들 수 있습니다. 가장 많은 작업이 수반됩니다.
Glass용으로 처음 개발하는 경우 몰입 가이드 하세요. 이 문서에서는 완전한 Glass 소프트웨어의 빌드 방법을 다룹니다. 을 구현했습니다.
작동 방식
몰입형은 타임라인 외부에 표시되므로 완벽하게 제어할 수 있습니다. 사용자 환경을 개선할 수 있었습니다.
일반적인 Android 활동으로 몰입도를 구축합니다. UI 위젯, 나머지 Android 플랫폼의 기본 요소가 포함되어 있습니다 그런 다음 GDK를 사용하여 Glass 환경에 통합합니다. 예를 들어 음성 명령 통합, Glass 스타일 카드, 기타 등등
몰입도가 시작되면 타임라인 상단에 표시됩니다. 몰입을 마친 사용자는 아래로 스와이프하여 다시 바깥쪽으로 돌아옵니다
용도
몰입감은 사용자의 관심을 장기간 유지해야 하는 환경에 적합합니다. 이를 통해 타임라인 외부에 표시되는 특수한 UI를 만들 수 있습니다. 맞춤 환경을 더욱 깊이 있게 살펴볼 수 있습니다.
몰입형은 타임라인별 광고를 덮어써야 할 때도 필요합니다. 앞뒤로 스와이프하고 화면을 스와이프해서 화면 자동 잠금 시간
하지만 몰입은 필요한 경우에만 사용하세요. 구축하는 데 더 많은 시간과 더 많은 시간이 필요합니다. 라이브 카드로도 충분히 대부분의 Glass 소프트웨어에서 사용할 수 있습니다
몰입형 콘텐츠 제작하기
몰입형, 일반 이미지, 동영상 등의 Android 활동을 지원하지만 Glass용 활동을 작성할 때 다음 사항을 염두에 두세요.
- 640×360픽셀 화면에 맞게 UI를 디자인합니다.
- 포팅이 아닌 Glass에서 의미가 있는 상호작용 설계 다른 Android 기기의 활동보다 우선시해야 합니다.
- 복잡한 터치 동작이나 UI 패턴에 의존하지 마세요.
- 아래로 스와이프하면 사용자가 타임라인에 도달할 때까지 항상 활동 스택으로 돌아갑니다. 또한 스마트폰과 태블릿의 Android 뒤로 버튼과 매우 유사하게 작동합니다.
- 50 × 50픽셀 아이콘을 만들어
android:icon
속성에 지정합니다. Android 매니페스트에<activity>
요소를 추가합니다.android:label
의 텍스트도 지정합니다. 이를 통해 여러 Glass 소프트웨어와 연결된 음성 또는 터치 메뉴 항목을 통해 Glass 소프트웨어의 이름과 아이콘을 옵션으로 표시합니다. android:immersive="true"
지정 화면이 절전 모드일 때 몰입도에 포커스를 맞추도록<activity>
요소를 설정합니다. 깨어납니다.
메뉴 만들기 및 표시
Glass가 올바른 스타일을 표시함 - 표준 Android 메뉴로 빌드하는 경우 API에 액세스할 수 있습니다.
활동에 관한 메뉴를 표시하려면 메뉴 리소스를 생성한 다음 사용자 동작(예: 활동이 실행될 때 탭) 시 표시 초점을 맞추고 있습니다.
메뉴 리소스 만들기
메뉴 리소스를 생성하는 것은 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
클래스에는 메뉴 생성, 표시 및 해제를 처리하기 위해 재정의하는 콜백이 포함되어 있습니다.
onCreateOptionsMenu()
드림 XML 메뉴 리소스를 확장합니다.onPrepareOptionsMenu()
드림 필요한 경우 메뉴 항목을 표시하거나 숨깁니다. 예를 들어 다른 메뉴 항목을 표시할 수 있습니다. 사용자 활동에 따라 달라집니다.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
을 참조하세요.