将“wrap_content”或“-2”分配给维度

时间:2013-07-08 11:54:13

标签: android android-layout adt dimensions

我想创建一个等于'wrap_content'常量的维度。

所以根据developer.android.com Reference我写道:

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

但ADT说:

  

错误:不允许整数类型('horizo​​ntal_border_height',值为'-2')

Asigning'wrap_content'值也会产生错误。

我做错了什么?任何想法如何使它工作?

6 个答案:

答案 0 :(得分:32)

要使用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>

答案 1 :(得分:16)

使用它,它适用于我

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

答案 2 :(得分:15)

请在尺寸中使用“-2dp”而不是“-2” 也就是说,只需在-2之后添加dp。

答案 3 :(得分:5)

结帐app resources API guide 并且您可以查看维度值的受支持单位。 您不能使用维度将wrap_content作为Views维度传递。

答案 4 :(得分:1)

你可以这样做

<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>

答案 5 :(得分:0)

据我所知,你不能。以下是有效的维度类型:

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

  

以XML定义的维度值。使用数字后跟度量单位指定维度。例如:10px,2in,5sp

有效单位:

dp sp pt px mm

我只是将wrap_content直接放在我的xml布局或样式中,因为wrap_contentwrap_content您拥有的任何设备/配置。