【问题标题】:Error by including drawable xml-file包含可绘制 xml 文件时出错
【发布时间】:2015-01-14 17:40:08
【问题描述】:

大家好,
我想将不同的可绘制 xml 文件包含到我的 activity_main.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 文件中的错误:正在中止构建。

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

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

【问题讨论】:

  • @drawable/button_height 将是可绘制类型,您必须像在 layout_width 中那样传入类似于“110dp”的字符串

标签: android xml eclipse


【解决方案1】:

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

这样做。

如果要使用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获取高度

只需在按钮cmda1 高度属性中执行此操作android:layout_height="110dp"

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

【讨论】:

  • 感谢您的快速回答,但我知道如何将其直接写入我的 xml 文件。但是对于不同的显示尺寸,您的解决方案是动态的吗?
猜你喜欢
  • 2012-02-03
  • 2015-05-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多