无法运行Hello world

时间:2017-08-04 20:18:23

标签: android xml

我正在学习关于下载android studio以及如何设置它的课程,我已经为我的手机下载了正确的驱动程序,但是当我尝试运行我的hello world程序时,我遇到了问题。

请记住,课程本身建议我更新名为activity_main.xml的文件。这是文件的先前内容:

<?xml version="1.0" encoding="utf-8"?>
<android.support.constraint.ConstraintLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/activity_main"
android:layout_width="match_parent"
 android:layout_height="match_parent"
 tools:context="com.udacity.myapplication.MainActivity">

<TextView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="Hello World!"
    app:layout_constraintLeft_toLeftOf="@+id/activity_main"
    app:layout_constraintTop_toTopOf="@+id/activity_main"
    app:layout_constraintRight_toRightOf="@+id/activity_main"
    app:layout_constraintBottom_toBottomOf="@+id/activity_main" />

    </android.support.constraint.ConstraintLayout>

这段代码必须更新才能与视频保持一致。新细分:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
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: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="com.udacity.myapplication.MainActivity">

<TextView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="Hello World!" />
  </RelativeLayout>

当我尝试在手机上运行应用程序时,我得到的是:

Error:(7, 28) No resource found that matches the given name (at ‘paddingBottom’ with value ‘@dimen/activity_vertical_margin’).
Error:(8, 26) No resource found that matches the given name (at ‘paddingLeft’ with value ‘@dimen/activity_horizontal_margin’).
Error:(9, 27) No resource found that matches the given name (at ‘paddingRight’ with value ‘@dimen/activity_horizontal_margin’).
Error:(10, 25) No resource found that matches the given name (at ‘paddingTop’ with value ‘@dimen/activity_vertical_margin’).
Error:Execution failed for task ‘:app:processDebugResources’.

任何帮助?

3 个答案:

答案 0 :(得分:6)

从RelativeLayout中删除这些行:

 android:paddingBottom="@dimen/activity_vertical_margin"
 android:paddingLeft="@dimen/activity_horizontal_margin"
 android:paddingRight="@dimen/activity_horizontal_margin"
 android:paddingTop="@dimen/activity_vertical_margin"

或更改值:

 android:paddingBottom="16dp"
 android:paddingLeft="16dp"
 android:paddingRight="16dp"
 android:paddingTop="16dp"

@dimen/...是对res / values / dimens.xml文件中维度值的引用。您可能没有任何值,这就是您收到此错误的原因。

答案 1 :(得分:4)

你有两种方式:

一,创建这样的资源:

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

这样设置两个自定义值:

android:paddingBottom="10dp"
 android:paddingLeft="10dp"
 android:paddingRight="10dp"
 android:paddingTop="10dp"

答案 2 :(得分:0)

使用这样的属性,您可以引用名为dimen的{​​{1}}资源:

activity_horizontal_margin

但是,此维度资源未声明且编译器失败。

您可以通过在android:paddingLeft="@dimen/activity_horizontal_margin" 文件中创建缺少的维度来修复此问题:

res/values/dimens.xml

或者您对这些值进行硬编码:

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