Tôi đang cố sử dụng VectorDrawable
trong một LayerList
mà không cần chia tỷ lệ vectơ. Ví dụ:Cách căn giữa vector có thể vẽ được trong danh sách lớp mà không cần chia tỷ lệ
<layer-list>
<item android:drawable="@color/grid_item_activated"/>
<item android:gravity="center" android:drawable="@drawable/ic_check_white_48dp"/>
</layer-list>
Các drawable ic_check_white_48dp
id định nghĩa là:
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="48dp"
android:height="48dp"
android:viewportWidth="24.0"
android:viewportHeight="24.0">
<path
android:fillColor="#FFFFFFFF"
android:pathData="M9,16.17L4.83,12l-1.42,1.41L9,19 21,7l-1.41,-1.41z"/>
</vector>
Hiệu quả mong muốn là biểu tượng kiểm tra để được tập trung trong drawable lớp, mà không cần mở rộng quy mô. Vấn đề là, danh sách lớp ở trên làm cho biểu tượng dấu kiểm được thu nhỏ để vừa với kích thước lớp.
tôi thể sản xuất hiệu quả mong muốn nếu tôi thay thế drawable vector với PNG cho mỗi mật độ và sửa đổi các lớp-list như vậy:
<layer-list>
<item android:drawable="@color/grid_item_activated"/>
<item>
<bitmap android:gravity="center" android:src="@drawable/ic_check_white_48dp"/>
</item>
</layer-list>
Có cách nào tôi có thể làm điều này bằng cách sử dụng VectorDrawable
?
Dường như đây có thể chỉ là lỗi trong API 21/22. Tôi vừa thử nghiệm trên thiết bị API 23 và vector có thể vẽ được chính xác ở giữa. – ashughes
Bạn nên trả lời câu hỏi của riêng mình và chấp nhận câu hỏi đó. Bằng cách đó, nó hiển thị rõ hơn và câu hỏi không hiển thị như chưa được trả lời. –
Tôi chưa trả lời câu hỏi của mình vì tôi chưa có câu trả lời cho việc cần làm trên API 21/22. Giải pháp tạm thời của tôi là sử dụng PNG thay vì vectơ. Hy vọng vẫn tìm cách làm cho vectơ hoạt động được. – ashughes