我为主页面创建了一个布局。在那个页面中,我使用了几行来分隔出一些部分。由于这些线都是相同的厚度,我决定使用整数制作一个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文件,但在这种情况下它们似乎不起作用。
答案 0 :(得分:1)
android:layout_height
不接受整数。它需要维度值或维度资源ID。
变化:
<string name="line_thickness">3dp</string>
为:
<dimen name="line_thickness">3dp</dimen>
并在布局中将其称为@dimen/line_thickness
。