2013-07-08 30 views
20

Tôi muốn tạo thứ nguyên sẽ bằng hằng số 'wrap_content'.Chỉ định 'wrap_content' hoặc '-2' cho thứ nguyên

Vì vậy, theo developer.android.com Reference tôi viết:

<dimen name="horizontal_border_height">-2</dimen> 

Nhưng ADT nói:

Error: Integer types not allowed (at 'horizontal_border_height' with value '-2')

giá trị Asigning 'wrap_content' tạo ra lỗi quá.

Tôi đang làm gì sai? Bất kỳ ý tưởng làm thế nào để làm cho nó hoạt động?

+0

Trong tài liệu được liên kết, 'horizontal_border_height' không được đề cập. –

Trả lời

5

Khám phá app resources API guide và bạn có thể xem các đơn vị được hỗ trợ cho giá trị thứ nguyên. Bạn không thể sử dụng thứ nguyên để truyền tham số wrap_content làm thứ nguyên Chế độ xem.

+0

có vẻ như tôi đã hiểu sai tài liệu tham khảo theo một cách nào đó ... , hãy tìm giải pháp khác –

+0

bạn cần hoàn thành những gì? –

+0

Tôi nghĩ rằng tôi sẽ chỉ là một giá trị nhúng vào nó. Cảm ơn sự hỗ trợ –

0

Theo như tôi biết bạn không thể. Dưới đây là loại kích thước hợp lệ:

http://developer.android.com/guide/topics/resources/more-resources.html#Dimension

A dimension value defined in XML. A dimension is specified with a number followed by a unit of measure. For example: 10px, 2in, 5sp

đơn vị hợp lệ:

dp, sp, pt, px, mm, trong

Tôi chỉ cần đặt wrap_content trực tiếp vào bố cục xml hoặc kiểu của tôi vì wrap_contentwrap_content bất kỳ thiết bị/cấu hình nào bạn có.

13

Vui lòng sử dụng "-2dp" trong thứ nguyên thay vì "-2".
Tức là, chỉ cần thêm dp sau -2.

+0

Đây phải là câu trả lời được chấp nhận. –

+1

Trong màn hình có mật độ khác mdpi (160 dpi), giá trị trả lại sẽ khác nhau – Gilian

15

Sử dụng này, nó làm việc cho tôi

<integer name="custom_wrap_content">-2</integer>
<dimen name="horizontal_border_height">@integer/custom_wrap_content</dimen>

+0

giá trị này hoạt động cho tôi –

+0

đây là giải pháp tốt nhất – starkej2

+0

@ số nguyên/custom_wrap_content

21

Để sử dụng wrap_content hoặc match_parent bạn cần phải tạo ra các mục sau đây trong dimens.xml file:

<item name="match_parent" format="integer" type="dimen">-1</item> 
<item name="wrap_content" format="integer" type="dimen">-2</item> 

Sau đó, bạn chỉ có thể sử dụng nó như thế này:

<dimen name="layout_height">@dimen/match_parent</dimen> 
<dimen name="layout_width">@dimen/wrap_content</dimen> 
0

Bạn có thể làm như thế này

<item name="match_parent" format="integer" type="dimen">-1</item> 

<item name="wrap_content" format="integer" type="dimen">-2</item> 

<dimen name="layout_height">@dimen/wrap_content</dimen>