2013-07-08 2 views
20

Я хочу создать измерение, которое будет равно константе 'wrap_content'.Назначение 'wrap_content' или '-2' для измерения

Так по developer.android.com Reference я пишу:

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

Но ADT говорит:

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

Asigning 'wrap_content' значение генерирует ошибку тоже.

Что я делаю неправильно? Любые идеи, как заставить его работать?

+0

В связанной документации 'horizontal_border_height' не упоминается. –

ответ

5

Отъезд app resources API guide , и вы можете видеть, что поддерживаемые объединяются для значения измерения. Вы не можете использовать измерение, чтобы передать wrap_content как измерение Views.

+0

Кажется, я пропустил ссылку в некотором роде ... ну, ища другое решение –

+0

что вам нужно сделать? –

+0

Я думаю, что я просто призову к нему значение. Спасибо за помощь –

0

Насколько я знаю, вы не можете. Вот допустимые типы измерений:

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

Допустимые единицы:

дп, зр, пт, точек, мм, в

Я бы просто положил wrap_content прямо в мой макет или стиль xml, так как wrap_content - wrap_content любое устройство/конфигурация, которые у вас есть.

13

Пожалуйста, используйте «-2dp» в размере вместо «-2».
То есть, просто добавьте dp после -2.

+0

Это должен быть принятый ответ. –

+1

В экранах с плотностью, отличной от mdpi (160 dpi), возвращаемое значение будет отличаться. – Gilian

15

Используйте это, она работает для меня

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

+0

это работает для меня –

+0

это лучшее решение – starkej2

+0

@ integer/custom_wrap_content

21

Чтобы использовать wrap_content или match_parent вам необходимо создать следующие элементы в dimens.xml файле:

<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/match_parent</dimen> 
<dimen name="layout_width">@dimen/wrap_content</dimen> 
0

Вы можете сделать так:

<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> 
Смежные вопросы