Sống động

Dữ liệu nhập vai mang đến cho bạn thêm nhiều cách để xem thông tin do người dùng nhập và tạo người dùng giao diện. Nhờ đó, bạn có thể tạo ra trải nghiệm phù hợp nhất, nhưng lại tốn nhiều công sức nhất.

Nếu đây là lần đầu tiên bạn phát triển cho Glass, hãy đọc Hướng dẫn tham gia thay thế. Tài liệu đó giới thiệu cách chế tạo một Đồ thuỷ tinh hoàn chỉnh cho trải nghiệm nhập vai bằng cách làm theo các phương pháp hay nhất về thiết kế của chúng tôi.

Cách hoạt động

Các mục nhập hiển thị bên ngoài dòng thời gian để bạn có toàn quyền kiểm soát qua trải nghiệm người dùng từ thời điểm Glass bắt đầu trải nghiệm người dùng.

Bạn tạo ra trải nghiệm nhập vai bằng các hoạt động tiêu chuẩn trên Android, bố cục, tiện ích giao diện người dùng và phần còn lại của nền tảng Android. Sau đó, bạn sử dụng GDK để tích hợp vào trải nghiệm Glass chẳng hạn như tích hợp lệnh thoại, thẻ kiểu Glass, và nhiều lợi ích khác.

Khi chế độ chìm bắt đầu, chế độ này sẽ xuất hiện ở đầu dòng thời gian. Khi người dùng đã hoàn tất việc tham gia, họ quay lại bằng cách vuốt xuống.

Khi nào nên sử dụng tiện ích vị trí đơn vị liên kết

Kỹ thuật nhúng rất phù hợp với những trải nghiệm cần người dùng chú ý trong thời gian dài. Chúng cho phép bạn tạo một giao diện người dùng chuyên biệt xuất hiện bên ngoài tiến trình, để người dùng có thể tìm hiểu sâu hơn về trải nghiệm tuỳ chỉnh.

Việc nhúng cũng cần thiết khi bạn cần ghi đè các dòng thời gian cụ thể chẳng hạn như vuốt tới và vuốt ngược, đồng thời điều khiển thời gian chờ khoá màn hình.

Tuy nhiên, chỉ nên sử dụng mô hình đắm mình khi bạn bắt buộc phải làm vậy vì chúng đòi hỏi nhiều công sức hơn để xây dựng và nhiều thời gian hơn để thiết kế tốt. Thẻ trực tiếp có thể cung cấp đủ các tính năng và khả năng của hầu hết các loại Đồ thuỷ tinh.

Tạo video nhập vai

Bạn tạo video nhập vai bằng Hoạt động trên Android, nhưng giữ nguyên sau đây khi viết hoạt động cho Glass:

  • Thiết kế giao diện người dùng cho màn hình 640 × 360 pixel.
  • Thiết kế các hình thức tương tác phù hợp trên Glass thay vì chuyển số so với hoạt động từ các thiết bị Android khác.
  • Đừng dựa vào các cử chỉ chạm phức tạp hoặc mẫu giao diện người dùng.
  • Thao tác vuốt xuống luôn quay lại ngăn xếp hoạt động cho đến khi người dùng đến tiến trình. Phải hoạt động giống như nút quay lại của Android trên điện thoại thông minh và máy tính bảng.
  • Tạo biểu tượng có kích thước 50 × 50 pixel và chỉ định biểu tượng đó cho thuộc tính android:icon của phần tử <activity> trong tệp kê khai Android. Đồng thời chỉ định văn bản cho android:label. Điều này cho phép một mục trình đơn cảm ứng hoặc giọng nói được liên kết với nhiều Đồ thuỷ tinh hiển thị tên và biểu tượng của Glassware dưới dạng tuỳ chọn.
  • Chỉ định android:immersive="true" cho phần tử <activity> để đắm chìm sau khi màn hình chuyển sang chế độ ngủ và tỉnh giấc.

Tạo và hiển thị trình đơn

Glass hiển thị đúng kiểu cho trình đơn nếu bạn tạo trình đơn bằng trình đơn Android tiêu chuẩn API bên trong một hoạt động.

Để hiển thị trình đơn cho một hoạt động, hãy tạo các tài nguyên trình đơn rồi sau đó hiển thị chúng trên hành động của người dùng, chẳng hạn như nhấn khi hoạt động của bạn có trọng tâm.

Đang tạo tài nguyên trình đơn

Việc tạo tài nguyên trình đơn giống như trên nền tảng Android, nhưng hãy làm theo nguyên tắc:

  • Đối với mỗi mục trong trình đơn, hãy cung cấp biểu tượng mục trong trình đơn có kích thước 50 × 50 pixel. Thực đơn phải có màu trắng trên nền trong suốt. Tải các biểu tượng trình đơn Glass xuống để sử dụng hoặc làm ví dụ.
  • Hãy dùng một cụm từ ngắn mô tả hành động và viết hoa đầu câu. Động từ bắt buộc hoạt động tốt (ví dụ: "Chia sẻ" hoặc "Trả lời tất cả").

Dưới đây là một bài viết đơn giản để giúp bạn bắt đầu:

<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>

Để biết thêm thông tin về cách tạo trình đơn Android, hãy xem Trình đơn trong chủ đề Tài liệu về SDK Android.

Xử lý lệnh gọi lại trình đơn

Activity lớp chứa các lệnh gọi lại mà bạn ghi đè để xử lý việc tạo, hiển thị và chia nhỏ trình đơn:

  1. onCreateOptionsMenu() tăng cường tài nguyên trình đơn XML.
  2. onPrepareOptionsMenu() hiện hoặc ẩn các mục trong trình đơn nếu cần. Ví dụ: bạn có thể hiện nhiều mục trong trình đơn dựa vào hoạt động của người dùng.
  3. onOptionsItemSelected() xử lý lựa chọn của người dùng.

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

Đang hiện trình đơn

Để hiển thị trình đơn, hãy gọi openOptionsMenu() khi cần, chẳng hạn như nhấn vào bàn di chuột. Các ví dụ sau đây phát hiện cử chỉ nhấn vào một hoạt động rồi gọi 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);
    }
}

Bạn có thể sử dụng một số phương thức trợ giúp để sửa đổi giao diện và hoạt động của trình đơn. Xem MenuUtils để biết thêm thông tin.