Skip to content

Most visited

Recently visited

navigation

Làm việc với Nội dung vẽ được

Những khả năng sau của nội dung vẽ được giúp bạn triển khai phong cách material design trong các ứng dụng của mình:

Bài học này cho bạn biết cách sử dụng những tính năng này trong ứng dụng của mình.

Nhuộm màu Tài nguyên Vẽ được

Với Android 5.0 (API mức 21) và cao hơn, bạn có thể nhuộm màu ảnh bitmap và ảnh chín miếng được định nghĩa làm mặt nạ alpha. Bạn có thể nhuộm chúng bằng tài nguyên màu hoặc những thuộc tính chủ đề nhằm phân giải thành các tài nguyên màu (ví dụ, ?android:attr/colorPrimary). Thông thường, bạn chỉ tạo những tài sản này một lần và tô màu tự động cho chúng để khớp với chủ đề của mình.

Bạn có thể áp dụng một màu nhuộm cho đối tượng BitmapDrawable hoặc NinePatchDrawable bằng phương thức setTint(). Bạn cũng có thể đặt màu nhuộm và chế độ trong bố trí của mình bằng các thuộc tính android:tintandroid:tintMode.

Trích xuất Màu Nổi bật từ một Hình ảnh

Thư viện Hỗ trợ Android r21 và cao hơn bao gồm lớp Palette, cho phép bạn trích xuất màu nổi bật từ một hình ảnh. Lớp này trích xuất những màu nổi bật sau:

Để trích xuất những màu này, hãy chuyển một đối tượng Bitmap cho phương thức tĩnh Palette.generate() trong luồng chạy ngầm nơi bạn tải hình ảnh của mình. Nếu bạn không thể sử dụng luồng đó, hãy gọi phương thức Palette.generateAsync() và cung cấp một trình nghe.

Bạn có thể truy xuất màu nổi bật từ hình ảnh bằng cách sử dụng các phương thức getter trong lớp Palette chẳng hạn như Palette.getVibrantColor.

Để sử dụng lớp Palette trong dự án của mình, hãy thêm Phần phụ thuộc Gradle sau vào mô-đun ứng dụng của bạn:

dependencies {
    ...
    compile 'com.android.support:palette-v7:21.0.0'
}

Để biết thêm thông tin, hãy xem tài liệu tham khảo API cho lớp Palette.

Tạo Nội dung vẽ được Véc-tơ

Video

Đồ họa Véc-tơ Android

Trong Android 5.0 (API mức 21) và cao hơn, bạn có thể định nghĩa nội dung vẽ được véc-tơ co giãn mà không làm mất độ sắc nét. Bạn chỉ cần một tệp tài sản cho một hình ảnh véc-tơ, đối lập với tệp tài sản cho từng mật độ màn hình trong trường hợp hình ảnh bitmap. Để tạo một hình ảnh véc-tơ, bạn định nghĩa chi tiết của hình ảnh trong phần tử XML <vector>.

Ví dụ sau định nghĩa hình ảnh véc-tơ có hình một trái tim:

<!-- res/drawable/heart.xml -->
<vector xmlns:android="http://schemas.android.com/apk/res/android"
    <!-- intrinsic size of the drawable -->
    android:height="256dp"
    android:width="256dp"
    <!-- size of the virtual canvas -->
    android:viewportWidth="32"
    android:viewportHeight="32">

  <!-- draw a path -->
  <path android:fillColor="#8fff"
      android:pathData="M20.5,9.5
                        c-1.955,0,-3.83,1.268,-4.5,3
                        c-0.67,-1.732,-2.547,-3,-4.5,-3
                        C8.957,9.5,7,11.432,7,14
                        c0,3.53,3.793,6.257,9,11.5
                        c5.207,-5.242,9,-7.97,9,-11.5
                        C25,11.432,23.043,9.5,20.5,9.5z" />
</vector>

Hình ảnh véc-tơ được biểu diễn trong Android dưới dạng đối tượng VectorDrawable . Để biết thêm thông tin về cú pháp pathData, hãy xem tham chiếu Đường dẫn SVG. Để biết thêm thông tin về việc tạo hiệu ứng hoạt hình các thuộc tính của nội dung vẽ được véc-tơ, hãy xem Tạo Hiệu ứng Hoạt hình Nội dung vẽ được Véc-tơ.

This site uses cookies to store your preferences for site-specific language and display options.

Get the latest Android developer news and tips that will help you find success on Google Play.

* Required Fields

Hooray!

Theo dõi Google Developers trên WeChat

Browse this site in ?

You requested a page in , but your language preference for this site is .

Would you like to change your language preference and browse this site in ? If you want to change your language preference later, use the language menu at the bottom of each page.

This class requires API level or higher

This doc is hidden because your selected API level for the documentation is . You can change the documentation API level with the selector above the left navigation.

For more information about specifying the API level your app requires, read Supporting Different Platform Versions.

Take a short survey?
Help us improve the Android developer experience. (Dec 2017 Android Platform & Tools Survey)