page.title=Bắt đầu @jd:body

Bài học này hướng dẫn bạn cách

  1. Áp dụng Chủ đề Material
  2. Thiết kế Bố trí của Bạn
  3. Quy định Độ cao trong Dạng xem của Bạn
  4. Tạo Danh sách và Thẻ
  5. Tùy chỉnh Hoạt hình của Bạn

Bạn cũng nên đọc

Để tạo ứng dụng với material design:

  1. Xem phần đặc tả phong cách material design.
  2. Áp dụng chủ đề material cho ứng dụng của bạn.
  3. Tạo bố trí của bạn theo hướng dẫn về material design.
  4. Quy định độ cao cho dạng xem của bạn để đổ bóng.
  5. Sử dụng widget hệ thống cho danh sách và thẻ.
  6. Tùy chỉnh hoạt hình trong ứng dụng của bạn.

Duy trì tính tương thích ngược

Bạn có thể thêm nhiều tính năng material design vào ứng dụng của mình trong khi vẫn duy trì tính tương thích với các phiên bản Android trước 5.0. Để biết thêm thông tin, hãy xem phần Duy trì Tính tương thích.

Cập nhật ứng dụng của bạn với material design

Để cập nhật một ứng dụng hiện tại bằng material design, hãy cập nhật các bố trí của bạn theo hướng dẫn về material design. Cũng nhớ kết hợp chiều sâu, phản hồi chạm và hoạt hình.

Tạo ứng dụng mới với material design

Nếu bạn tạo một ứng dụng mới với các tính năng của material design, hướng dẫn về material design cung cấp cho bạn một khuôn khổ thiết kế súc tích. Làm theo hướng dẫn đó và sử dụng chức năng mới trong khuôn khổ Android để thiết kế và phát triển ứng dụng của bạn.

Áp dụng Chủ đề Material

Để áp dụng chủ đề material trong ứng dụng của mình, hãy quy định một kiểu kế thừa từ android:Theme.Material:

<!-- res/values/styles.xml -->
<resources>
  <!-- your theme inherits from the material theme -->
  <style name="AppTheme" parent="android:Theme.Material">
    <!-- theme customizations -->
  </style>
</resources>

Chủ đề material cung cấp các widget hệ thống được cập nhật để bạn có thể đặt bảng màu và hoạt hình mặc định cho phản hồi chạm và chuyển tiếp hoạt động. Để biết thêm chi tiết, hãy xem phần Sử dụng Chủ đề Material.

Thiết kế Bố trí của Bạn

Bên cạnh việc áp dụng và tùy chỉnh chủ đề material, bố trí của bạn cần tuân thủ hướng dẫn về material design. Khi thiết kế bố trí của bạn, hãy đặc biệt chú ý tới điều sau đây:

Quy định Độ cao trong Dạng xem của Bạn

Dạng xem có thể đổ bóng và giá trị độ cao của một dạng xem xác định kích cỡ bóng và thứ tự vẽ của nó. Để đặt độ cao của một dạng xem, hãy sử dụng thuộc tính android:elevation trong bố trí của bạn:

<TextView
    android:id="@+id/my_textview"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="@string/next"
    android:background="@color/white"
    android:elevation="5dp" />

Thuộc tính translationZ mới cho phép bạn tạo những hoạt hình phản ánh các thay đổi tạm thời về độ cao của một dạng xem. Thay đổi về độ cao có thể hữu ích khi phản hồi lại các cử chỉ chạm.

Để biết thêm chi tiết, hãy xem phần Định nghĩa Đổ bóng và Dạng xem Cắt hình.

Tạo Danh sách và Thẻ

{@link android.support.v7.widget.RecyclerView} là một phiên bản dễ ghép nối hơn của {@link android.widget.ListView} có hỗ trợ các kiểu bố trí khác nhau và cung cấp những cải tiến về hiệu năng. {@link android.support.v7.widget.CardView} cho phép bạn hiện các mẩu thông tin bên trong thẻ với một diện mạo nhất quán giữa các ứng dụng. Ví dụ về mã sau đây minh họa cách thêm {@link android.support.v7.widget.CardView} vào bố trí của bạn:

<android.support.v7.widget.CardView
    android:id="@+id/card_view"
    android:layout_width="200dp"
    android:layout_height="200dp"
    card_view:cardCornerRadius="3dp">
    ...
</android.support.v7.widget.CardView>

Để biết thêm thông tin, hãy xem phần Tạo Danh sách và Thẻ.

Tùy chỉnh Hoạt hình của Bạn

Android 5.0 (API mức 21) bao gồm các API mới để tạo hoạt hình tùy chỉnh trong ứng dụng của bạn. Ví dụ, bạn có thể cho phép chuyển tiếp hoạt động và định nghĩa một chuyển tiếp ra bên trong một hoạt động:

public class MyActivity extends Activity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        // enable transitions
        getWindow().requestFeature(Window.FEATURE_CONTENT_TRANSITIONS);
        setContentView(R.layout.activity_my);
    }

    public void onSomeButtonClicked(View view) {
        getWindow().setExitTransition(new Explode());
        Intent intent = new Intent(this, MyOtherActivity.class);
        startActivity(intent,
                      ActivityOptions
                          .makeSceneTransitionAnimation(this).toBundle());
    }
}

Khi bạn bắt đầu một hoạt động khác từ hoạt động này, chuyển tiếp ra được kích hoạt.

Để tìm hiểu thêm về các API hoạt hình mới, hãy xem Định nghĩa Hoạt hình Tùy chỉnh.