Sống động

Tính năng nhập vai cung cấp cho bạn nhiều cách hơn để sử dụng dữ liệu do người dùng nhập và tạo giao diện người dùng. Điều này cho phép bạn tạo trải nghiệm tùy chỉnh nhất, nhưng liên quan đến nhiều công việc nhất.

Nếu đây là lần đầu tiên bạn phát triển ứng dụng Glass, hãy đọc Hướng dẫn về nhập vai. Tài liệu đó trình bày cách tạo một Glassware hoàn chỉnh bằng cách ngâm mình 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 nội dung sống động xuất hiện bên ngoài dòng thời gian, giúp bạn có toàn quyền kiểm soát trải nghiệm người dùng kể từ lúc Glass được nhúng.

Bạn có thể sử dụ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ẽ sử dụng GDK để tích hợp vào trải nghiệm Glass như tích hợp lệnh thoại, thẻ có kiểu Glass và nhiều chức năng khác.

Khi bắt đầu được nhúng, chúng sẽ xuất hiện ở đầu dòng thời gian. Khi người dùng bị chìm đắm trong một video, họ sẽ quay lại bằng cách vuốt xuống.

Thời điểm nên sử dụng thành phần địa điểm của đơn vị liên kết

Mang đến trải nghiệm sống động cho những trải nghiệm cần sự chú ý của người dùng 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 dòng thời gian để người dùng có thể tìm hiểu sâu hơn về trải nghiệm tuỳ chỉnh.

Bạn cũng cần nhập vai khi cần ghi đè chức năng của dòng thời gian cụ thể, chẳng hạn như vuốt tiến và lùi cũng như kiểm soát thời gian chờ màn hình.

Tuy nhiên, bạn chỉ nên sử dụng mô hình nhúng khi cần thiết, vì chúng yêu cầu nhiều công việc xây dựng hơn và có nhiều thời gian thiết kế hơn. Thẻ trực tiếp cung cấp đủ tính năng và khả năng cho hầu hết các loại Glassware.

Tạo video nhúng

Bạn có thể sử dụng các hoạt động nhúng tiêu chuẩn bằng cách sử dụng hoạt động Android tiêu chuẩn, nhưng hãy lưu ý những điều sau khi viết hoạt động cho Glass:

  • Thiết kế giao diện người dùng cho màn hình 640 x 360 pixel.
  • Thiết kế các hoạt động tương tác phù hợp trên Glass thay vì chuyển đổi các hoạt động từ những thiết bị Android khác.
  • Đừng dựa vào các cử chỉ chạm hoặc mẫu giao diện người dùng phức tạp.
  • Thao tác vuốt luôn quay lại trong ngăn xếp hoạt động cho đến khi người dùng đạt đến tiến trình. Chức năng này 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 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. Ngoài ra, hãy chỉ định văn bản cho android:label. Điều này cho phép một mục trong trình đơn thoại hoặc cảm ứng liên kết với nhiều Glassware để hiển thị tên và biểu tượng của Glassware dưới dạng một tuỳ chọn.
  • Chỉ định android:immersive="true" cho phần tử <activity> để tập trung vào việc đắm chìm sau khi màn hình ngủ và thức dậy.

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 API trình đơn Android tiêu chuẩn bên trong một hoạt động.

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

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

Quá trình tạo tài nguyên trình đơn giống như trên nền tảng Android, nhưng tuân theo các nguyên tắc sau:

  • Đố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. Biểu tượng trình đơ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 để sử dụng hoặc làm ví dụ.
  • Sử dụng một cụm từ ngắn mô tả hành động và có viết hoa đầu câu. Một động từ bắt buộc phải hoạt động hiệu quả (ví dụ: "Chia sẻ" hoặc "Trả lời tất cả").

Sau đây là cách đơ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 chủ đề Trình đơn trong tài liệu về SDK Android.

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

Lớp Activity 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 của trình đơn XML.
  2. onPrepareOptionsMenu() hiển thị hoặc ẩn các mục trong trình đơn nếu cần. Ví dụ: bạn có thể hiển thị nhiều mục trong trình đơn dựa trên hành động của người dùng.
  3. onOptionsItemSelected() sẽ 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);
            }
        }
    }
    

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. Những ví dụ sau đây phát hiện một 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);
    }
}

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