为什么应用程序名称空间没有';我的Android项目布局中没有自动完成功能吗?

为什么应用程序名称空间没有';我的Android项目布局中没有自动完成功能吗?,android,xml,kotlin,Android,Xml,Kotlin,当我在main_activity.xml中放置“app:”时,自动完成不起作用,它只显示1个选项: appNs 但当我在另一个xml(如fragment_owl.xml)中执行此操作时,它将为我提供应用程序名称空间的所有属性。 我有xmlns:app=”http://schemas.android.com/apk/res-auto在这两种情况下 这是我的XML activity\u main.xml:(具有应用程序名称空间属性的自动完成) 但在这另一方面: <?xml vers

当我在main_activity.xml中放置“app:”时,自动完成不起作用,它只显示1个选项:

   appNs
但当我在另一个xml(如fragment_owl.xml)中执行此操作时,它将为我提供应用程序名称空间的所有属性。 我有xmlns:app=”http://schemas.android.com/apk/res-auto在这两种情况下

这是我的XML

activity\u main.xml:(具有应用程序名称空间属性的自动完成)


但在这另一方面:

<?xml version="1.0" encoding="utf-8"?>

<layout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    >

        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:orientation="vertical"
            >

            <fragment

                android:id="@+id/navHostFragment"
                android:name="androidx.navigation.fragment.NavHostFragment"
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                app:navGraph="@navigation/navigation"
                app:defaultNavHost="true"
                app <- NO AUTOCOMPLETION :(


                />
        </LinearLayout>

</layout>


在做了一些挖掘之后,我发现了以下几点

LinearLayout
更改为
ConstraintLayout
可以解决您的问题,但为什么

ConstraintLayout
来自一个库(您可以通过build.gradle
androidx.ConstraintLayout:ConstraintLayout:*.*.
导入它)

Commonware在这里解释了这一点

考虑到这一点,Android Studio可能不理解属于Android平台的布局(如
LinearLayout
)的
app
名称空间,因为它们是
Android
名称空间的一部分


这是我的解释,希望它能回答你的问题

在做了一些挖掘之后,我发现了以下内容

LinearLayout
更改为
ConstraintLayout
可以解决您的问题,但为什么

ConstraintLayout
来自一个库(您可以通过build.gradle
androidx.ConstraintLayout:ConstraintLayout:*.*.
导入它)

Commonware在这里解释了这一点

考虑到这一点,Android Studio可能不理解属于Android平台的布局(如
LinearLayout
)的
app
名称空间,因为它们是
Android
名称空间的一部分

这是我的解释,希望能回答你的问题

<?xml version="1.0" encoding="utf-8"?>

<layout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    >

        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:orientation="vertical"
            >

            <fragment

                android:id="@+id/navHostFragment"
                android:name="androidx.navigation.fragment.NavHostFragment"
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                app:navGraph="@navigation/navigation"
                app:defaultNavHost="true"
                app <- NO AUTOCOMPLETION :(


                />
        </LinearLayout>

</layout>