2010-02-10 33 views
37

Tạo một bản vẽ hoàn toàn trống rỗng có vẻ như một nhu cầu chung, như một người giữ chỗ, trạng thái ban đầu, v.v., nhưng dường như không có cách nào tốt để làm điều này ... ít nhất là trong XML. Một số nơi đề cập đến tài nguyên hệ thống @android:drawable/empty nhưng theo như tôi có thể nói (nghĩa là, nó không có trong tài liệu tham chiếu, và aapt chokes nói rằng nó không thể tìm thấy tài nguyên) điều này không tồn tại.Tạo một bản vẽ trống trong Android

Có cách nào chung để tham chiếu một bản vẽ trống hoặc bạn có tạo một PNG trống giả cho mỗi dự án không?

Trả lời

84

Đối với tôi, tính năng này không hoạt động khi tôi cố gắng sử dụng @android:id/empty khi tạo hình trống. Đối với tôi, @android:color/transparent là một.

2

Kai, tôi không biết tại sao đây là trường hợp, nhưng tôi đã nhận được cùng một vấn đề. Tôi nghĩ rằng nó có thể liên quan đến phiên bản Android bạn đang biên soạn? Trong mọi trường hợp, tôi thấy rằng chỉ đơn giản bằng cách sử dụng @android: id/empty, nơi bạn sẽ sử dụng @android: drawable/empty hiện các trick.

3

Đối với tôi, sử dụng @android: drawable/empty sẽ hiển thị lỗi và ngăn biên dịch. Sử dụng @android: id/empty cố định lỗi và cho phép tôi biên dịch, nhưng cho thấy "NullPointerException: null" trong trình soạn thảo Layout của Eclipse. Tôi đã đổi nó thành @android: màu/trong suốt và bây giờ mọi thứ đều ổn.

Tôi chưa thể bỏ phiếu hoặc tôi đã trả lời câu trả lời của Emil.

9

tôi sử dụng một sản phẩm nào ShapeDrawable, ví dụ: tạo drawable của riêng tôi/empty.xml chứa chỉ <shape/>

3

@null trong XML có tác dụng tương tự như sử dụng một null như một Drawable trong Java.

+0

Tôi muốn này sẽ làm việc, nhưng nếu tôi sử dụng nó trong XML drawable và đó là thiết lập làm nền trong XML bố cục, tôi gặp lỗi "Thẻ yêu cầu thuộc tính 'có thể kéo' hoặc thẻ con xác định một đối tượng có thể vẽ" – user3175580

3
<shape /> 

tạo hình dạng trống và thực hiện thủ thuật cho tôi. Hoặc tạo tệp empty_drawable.xml có chứa:

<?xml version="1.0" encoding="utf-8"?> 
<shape xmlns:android="http://schemas.android.com/apk/res/android" /> 

để bạn có thể sử dụng ở nơi khác.

Bạn cũng có thể tạo ra một hình dạng biến mất khi nhìn nó được sử dụng trong không được kích hoạt bằng cách tạo my_disablable_view.xml:

<?xml version="1.0" encoding="utf-8"?> 
<selector xmlns:android="http://schemas.android.com/apk/res/android"> 
    <item android:state_enabled="true"> 
     <shape android:shape="oval"> 
      <size android:height="10dp" android:width="10dp" /> 
      <solid android:color="@android:color/white" /> 
     </shape> 
    </item> 
    <item android:state_enabled="false"> 
     <shape /> 
    </item> 
</selector> 
Các vấn đề liên quan