2011-11-21 11 views
20

Tôi muốn tạo một shape drawable để bắt chước chủ đề holographic mới (Android> = 3.0) trên các phiên bản Android cũ hơn.Tạo kiểu xem EditText với hình dạng có thể vẽ để trông tương tự như chủ đề ba chiều mới cho Android <3.0

Đó là khá dễ dàng để vẽ một đường ở phía dưới với

<?xml version="1.0" encoding="utf-8"?> 
    <layer-list xmlns:android="http://schemas.android.com/apk/res/android" > 
     <item> 
      <shape > 
       <solid android:color="@color/border" /> 
      </shape> 
     </item> 

     <!-- main color --> 
     <item android:bottom="1.5dp"> 
      <shape > 
       <solid android:color="@color/background" /> 
      </shape> 
     </item> 
    </layer-list> 

Nhưng làm thế nào để vẽ ranh giới đánh dấu trái và bên phải như trong theme holo slide from talk about android ui at Google I/O 2011

+0

Bạn có đạt được những gì bạn đang cố gắng làm không? –

+0

Có. Đó là đủ. Như được viết bên dưới giải pháp là thiếu hiệu ứng ánh sáng cho trường đã chọn. – Rodja

Trả lời

29

Đó là một ít hack, nhưng trừ khi bạn tìm thấy một cái gì đó tốt hơn, theo cách này nó sẽ là có thể.

<?xml version="1.0" encoding="utf-8"?> 
<layer-list xmlns:android="http://schemas.android.com/apk/res/android" > 
    <item> 
     <shape > 
      <solid android:color="@color/border" /> 
     </shape> 
    </item> 

    <!-- main color --> 
    <item android:bottom="1.5dp" 
     android:left="1.5dp" 
     android:right="1.5dp"> 
     <shape > 
      <solid android:color="@color/background" /> 
     </shape> 
    </item> 

    <!-- draw another block to cut-off the left and right bars --> 
    <item android:bottom="15.0dp"> 
     <shape > 
      <solid android:color="@color/background" /> 
     </shape> 
    </item> 
</layer-list> 
+0

Điều đó hoạt động như mong đợi! Tôi đoán việc tạo ra một trạng thái phát sáng cho trạng thái được chọn không phải là dễ dàng ... – Rodja

+1

Một cách tiếp cận hoàn toàn khác (không sử dụng hình dạng drawables), là sử dụng .9.png (hoặc chín hình ảnh vá) ... khá dễ dàng, nhưng tôi không biết lý do của bạn để ở lại với hình dạng drawables. http://developer.android.com/guide/developing/tools/draw9patch.html – Entreco

+2

Hình dạng có thể kéo được là người phân giải độc lập. Khi sử dụng chín bản vá, tôi cần quản lý một loạt tài sản. Nếu đó không phải là một vấn đề, chín bản vá lỗi là một giải pháp tốt, quá. – Rodja

9

Tôi đã tìm thấy trang web này sẽ tạo bản vẽ theo chủ đề Holo cho tiện ích cho bất kỳ màu nào bạn chọn: http://android-holo-colors.com/. Nó tạo ra 9 bản vá cho bạn, bạn chỉ cần dán chúng vào ứng dụng của bạn.

+0

Nhưng, cảm ơn vì liên kết! Thật tuyệt khi nhanh chóng có được một số drawables và có quyền viết mã – Entreco