包含drawable xml-file时出错

时间:2015-01-14 17:40:08

标签: android xml eclipse

Hello社区,
我想在我的activity_main.xml中添加不同的可绘制xml文件 但是,当我想包括以下代码时:

  <?xml version="1.0" encoding="utf-8" ?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
  <item>
    <shape>
      <size
         android:layout_height="110dp" />
    </shape>
  </item>
</selector>

名称是button_height.xml到我的主文件中:

<Button
                android:id="@+id/cmda1"
                 android:layout_width="110dp"
                android:layout_height="@drawable/button_height" />

它不起作用,Eclipse只说:

  

您必须提供layout_height属性。   和
  XML文件中的错误:中止构建。

我在互联网上搜索了一个答案,但没有找到答案。 但我认为这很多人都在做错。

所以,我希望得到有用的答案 对不起我糟糕的英语。

1 个答案:

答案 0 :(得分:2)

你对drawable,selector和dimension的整个想法搞砸了。不能将高度放在选择器和选择器(可绘制)中作为高度。

这样做。

如果您想使用xml获取高度

在res文件夹中添加名为 res / values / dimens.xml 的文件,并在其中添加此行

<resources>
    <integer name="btn_cmda_height" >110dp</integer>
</resources>

并将按钮cmda1高度属性更改为

android:layout_height="@dimen/btn_cmda_height" 

通过创建包含不同值的文件,使其适用于各种屏幕尺寸。虽然这是旧的方式。

详细了解执行此操作的新方法here

res/values/dimens.xml    
res/values-small/dimens.xml    
res/values-normal/dimens.xml    
res/values-xlarge/dimens.xml

如果您不想使用xml获取高度

只需在按钮android:layout_height="110dp"高度属性

中执行此操作cmda1

注意: 您的选择器代码错误,根本不需要。选择器用于定义视图的背景状态