2012-04-14 35 views
12

Tôi muốn tạo hình vẽ cho nút Android của mình, được định nghĩa là có thể vẽ được. Tôi thấy tôi có thể thiết lập tất cả các biên giới bằng cách sử dụng một hình chữ nhật, nhưng tôi đã kinda bị mắc kẹt khi tôi muốn nó trên ba mặt. Tôi muốn ví dụ có một trong hai đầu hoặc cuối mở.Tạo đường viền trên chế độ xem android trong xml có thể vẽ được, trên 3 mặt?

Có ai có thể chỉ cho tôi cách thực hiện việc này không?

Trả lời

25

Cố gắng làm điều này, mặc dù tôi thấy nó trên một số bài khác

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

<item> 
<shape android:shape="rectangle" > 
    <solid android:color="#FFFFFF" /> 
    <padding 
     //android:bottom="10dp" Remove this to avoid seeing the bottom border 
     android:left="10dp" 
     android:right="10dp" 
     //android:top="10dp" Remove this to avoid seeing the top border 
    /> 

    <corners android:radius="5dp" /> 
</shape> 
</item> 
<item> 
<shape android:shape="rectangle" > 
    <padding 
     android:bottom="5dp" 
     android:left="5dp" 
     android:right="5dp" 
     android:top="5dp" /> 

    <solid android:color="#666666" /> 
</shape> 
</item> 
</layer-list> 

https://stackoverflow.com/a/10133434/1244489

+2

Điều này "hoạt động" nhưng nó không phải là giải pháp tốt nhất vì nó tạo ra overdraw – Navarr

6

Nếu có ai đang chạy vào các vấn đề liên quan đến đệm có hiệu lực trong câu trả lời được chấp nhận, hãy thử dùng một cái nhìn tại địa chỉ: https://stackoverflow.com/a/11006931 . Giải pháp đó sử dụng các thuộc tính vị trí trên các thẻ để đạt được hiệu quả tương tự.

Tôi gặp sự cố khi sử dụng câu trả lời được chấp nhận ở đây trong khi tạo drawables để sử dụng trong ActionBar và cách tiếp cận được liên kết hoạt động với tôi.

Các vấn đề liên quan