我已经在笔记本电脑上安装了Android Studio 2.2.2。然后我最近更新了它。但是,当我创建一个空项目时,该项目上没有dimens.xml。而当我使用Android Studio 2.2.2时,有一个dimens目录(带有2 dimens.xml)。我的Android Studio会怎样?

最佳答案

您的Android Studio很好。从2.3开始,默认的“ Activity ”布局模板将ConstraintLayout作为其根元素,并且未应用任何边距。在旧模板中,它以前是RelativeLayout,其边距设置为dimens.xml中的资源值。由于这些值不再位于默认布局文件中,因此默认情况下不会在项目中创建空的dimens.xml

如果需要dimens.xml,则只需在res/values文件夹下使用New -> Values resource file创建一个。

作为引用,使用了dimens资源的旧默认布局:

<?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:id="@+id/activity_main"
    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.example.package.MainActivity">

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

</LinearLayout>

而新的默认设置则不会:
<?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:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context="com.example.package.MainActivity">

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

</android.support.constraint.ConstraintLayout>

09-12 03:41