Android:从xml资源到布局文件的整数

时间:2017-10-08 17:07:36

标签: android xml

我为主页面创建了一个布局。在那个页面中,我使用了几行来分隔出一些部分。由于这些线都是相同的厚度,我决定使用整数制作一个res文件,我可以使用它并以更简单的方式更改。问题是,如果我使用该res,我的程序将不会加载。

以下是有效的代码:

 <View
        android:layout_width="fill_parent"
        android:layout_height="3dp"
        android:background="#C0C0C0" />

以下是使用res文件的代码:(不加载)

<View
        android:layout_width="fill_parent"
        android:layout_height="@string/line_thickness"
        android:background="#C0C0C0" />

这是res文件:

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <integer name="layout_line">3</integer> //Integer used for xml
    <string name="line_thickness">3dp</string> // string used for xml
</resources>

我尝试以不同的方式使用res文件。首先我尝试使用和整数。这根本不起作用,甚至不让我加载应用程序。使用该字符串允许我加载应用程序但它在启动时崩溃。

我在这里做错了什么? Android显示了如何使用这些res文件,但在这种情况下它们似乎不起作用。

1 个答案:

答案 0 :(得分:1)

android:layout_height不接受整数。它需要维度值或维度资源ID。

变化:

<string name="line_thickness">3dp</string>

为:

<dimen name="line_thickness">3dp</dimen>

并在布局中将其称为@dimen/line_thickness