将"wrap_content"或"-2"分配给维度

c00*_*web 26 android dimensions adt android-layout

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

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

<dimen name="horizontal_border_height">-2</dimen>
Run Code Online (Sandbox Code Playgroud)

但ADT说:

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

asigning'wrap_content'值也会产生错误.

我究竟做错了什么?任何想法如何使其工作?

Dan*_*kas 40

要使用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>
Run Code Online (Sandbox Code Playgroud)

然后你可以像这样简单地使用它:

<dimen name="layout_height">@dimen/match_parent</dimen>
<dimen name="layout_width">@dimen/wrap_content</dimen>
Run Code Online (Sandbox Code Playgroud)


小智 16

使用它,它适用于我

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


pat*_*tel 15

请在尺寸中使用"-2dp"而不是"-2".
也就是说,只需在-2之后添加dp即可.

  • 在密度不是mdpi(160 dpi)的屏幕中,返回的值将不同 (4认同)

小智 5

查看应用资源API指南 ,您可以查看维度值的受支持单位.您不能使用维度将wrap_content作为Views维度传递.


小智 5

你可以这样做

<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>
Run Code Online (Sandbox Code Playgroud)