2011-12-12 8 views
6

Tôi chỉ cần thực hiện một chín váAndroid chín vá không được công nhận trên thiết bị

http://i41.tinypic.com/f4fk35.png

nó được lưu như border.9.png từ công cụ vá vẽ 9.

trong trình chỉnh sửa bố cục Android của tôi, nó hiển thị như nó sẽ là một bản vá 9 đồ họa phù hợp, kéo dài ra nhưng chưa được pixelated.

http://i39.tinypic.com/28bsi69.png

nào về một thiết bị thực tế, nó chỉ cho thấy một người khổng lồ kéo dài hình ảnh, với các hướng dẫn 9patch thấy, có vẻ thực sự xấu

http://i42.tinypic.com/eoshe.png

whats going on ??? và làm thế nào để sửa chữa nó

xml của tôi:

<LinearLayout 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" 
     android:background="@drawable/border" 
     android:orientation="vertical" 
     android:padding="35dip" > 

Trả lời

6

Bạn có thể tìm thấy tất cả các thông tin cần thiết như thế nào để tạo ra một 9.patch here

nền của bạn nên được như thế này

nine patch background

Lưu ý: các điểm đánh dấu ở phía dưới và bên phải cần được vẽ thành các dòng hoàn chỉnh chứ không phải các dấu chấm đơn.

Chỉnh sửa
Dường như việc tải lên tệp 9.patch tại đây sẽ bị thay đổi và không thể được sử dụng làm 9.patch nữa.
Bạn có thể tải xuống phiên bản chức năng từ here

+0

Cảm ơn! Tôi nhận được nó ngay bây giờ, tôi đã phải tinh chỉnh nó một lần nữa nhưng nó đã làm việc cho tôi! – CQM

4

Điều này giống như tệp 9ptach không hợp lệ đối với tôi. Nên có các vùng rắn ở phía dưới và bên phải.

+2

+1 hoạt động cho tôi: các dấu chấm đơn làm điểm đánh dấu nội dung trông đẹp trong tiện ích 'draw9patch' và trong trình chỉnh sửa Bố cục ADT, nhưng để làm việc trên thiết bị, các đánh dấu nội dung (dưới cùng và/hoặc phải) cần được vẽ dòng hoàn chỉnh. – sulai

3

Như một phương sách cuối cùng, bất cứ khi nào bạn gặp khó khăn khi nhận được 9 bản vá được công nhận như vậy, tôi thấy tốt nhất là chỉ tạo một tệp hình ảnh BRAND MỚI trong phần mềm hình ảnh của bạn, sao chép tất cả ngoại trừ 4 Đường viền 1 pixel của hình ảnh gốc của bạn, sau đó dán vào tệp hình ảnh mới của bạn. Đôi khi không có vấn đề bao nhiêu bạn xóa đi 4 cạnh, thiết bị/giả lập vẫn không thể nhận ra nó như là một bản vá 9, mặc dù (và điều này có lẽ nên được quan tâm đến đội ngũ dev Android SDK) đó là một hoàn toàn tốt 9 -patch trong Giao diện đồ họa của Eclipse.

Cũng lưu ý, các đường màu đen ở cạnh phải và cạnh dưới là tùy chọn. Họ chỉ định "padding", đặc biệt là khu vực mà nội dung (con của cha mẹ với nền 9-patch) phù hợp.

10

Tôi vừa gặp vấn đề tương tự: mọi thứ hoạt động tốt trong Eclipse nhưng tất cả đều được cải thiện trên thiết bị. Tôi đã giải quyết nó bằng cách mở PNG trong Draw 9-patch tool. Chỉ cần mở png và lưu nó và thì đấy!

+2

+1. Đây chính xác là thứ đã xảy ra với tôi. Các PNG 10-bit mà tôi đã đưa ra không hoạt động đúng trên bộ mô phỏng/thiết bị cho đến khi tôi mở/lưu chúng trong công cụ Vẽ bản vá 9 (mặc dù chúng trông Ok trong trình bày bố cục GUI). Ma thuật. –

+0

điều này thật điên rồ ... nhưng nó giải quyết được vấn đề –

+0

lạ .. nhưng nó hoạt động, cảm ơn người đàn ông – Jakob

1

Tôi mất một vài giờ để tìm ra, tại sao bản vá chín của tôi không hiển thị đúng.

Lý do khá đơn giản.hình ảnh bản vá chín của tôi đã được lưu trữ dưới:

/res/drawable 

thay vì

/res/drawable-xxx