@ dimen / activity错误,试图找出原因

时间:2018-03-14 18:06:10

标签: android xml android-layout

我正在通过udacity参加一个Android初学者课程。我只是为应用程序复制并粘贴了此代码,但它已经有错误而没有任何编辑。它应该马上工作。主要问题似乎是xml中的这些行。 。

android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context=".MainActivity">

我对@dimen/activity不熟悉,所以我们将不胜感激。

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    android:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    tools:context=".MainActivity">

    <TextView
        android:id="@+id/menu_item_1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Mango sorbet"
        android:textAppearance="?android:textAppearanceMedium" />

    <TextView
        android:id="@+id/menu_item_2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginTop="8dp"
        android:text="Blueberry pie"
        android:textAppearance="?android:textAppearanceMedium"
        android:textSize="18sp" />

    <TextView
        android:id="@+id/menu_item_3"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginTop="8dp"
        android:text="Chocolate lava cake"
        android:textAppearance="?android:textAppearanceMedium"
        android:textSize="18sp" />

    <Button
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginTop="8dp"
        android:onClick="printToLogs"
        android:text="Print menu to logs" />
</LinearLayout>

1 个答案:

答案 0 :(得分:3)

您需要在项目的dimens.xml文件夹中包含values文件。 dimens.xml文件的内容可能如下所示。

<resources>
    <dimen name="activity_horizontal_margin">16dp</dimen>
    <dimen name="activity_vertical_margin">16dp</dimen>
</resources>

dimens.xml文件通常包含您将在项目中使用的不同维度的常量值。您也可以通过以下方式编写上述行。

android:paddingBottom="16dp"
android:paddingLeft="16dp"
android:paddingRight="16dp"
android:paddingTop="16dp"
tools:context=".MainActivity"

这也可行。您将值放在dimens.xml文件中,以便以更具可读性和更有意义的方式使用它们。

更新

要在values文件夹中创建dimens.xml文件,请转到项目文件夹。找到res文件夹,然后找到values文件夹。如果values文件夹不存在,则创建一个。

然后右键单击values文件夹,然后按New,然后按Values Resource File

enter image description here

输入资源文件的名称dimens.xml,然后按“确定”。将上述内容粘贴到dimens.xml文件中。

enter image description here