无法对 DrawerLayout 中的 ListView 使用 layout_gravity

Unable to use layout_gravity for ListView inside DrawerLayout

我正在尝试在我的应用程序中添加导航抽屉。这是代码:

<DrawerLayout 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"
    tools:context="com.example.abcxyz.properprojectdb.MyDrawerActivity">

    <FrameLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent"></FrameLayout>

    <ListView
        android:layout_width="240dp"
        android:layout_height="match_parent"
        android:id="@+id/listView"
        android:entries="@array/planets"></ListView>
</DrawerLayout>

我无法为 ListView 添加属性 android:layout_gravity。不知道为什么不能用(intellisense 完美,就是不显示layout_gravity)

我的应用程序在 运行 时崩溃,但如果我用 LinearLayout 替换 DrawerLayout,应用程序不会崩溃。 我猜是因为我没有为Lis​​tView添加属性android:layout_gravity。 这是一张快照,显示 layout_gravity 也没有出现在智能感知中

一切似乎都没有问题。您可以在 ListView

中放置 android:layout_gravity="start"android:layout_gravity="end"

更新

我看到了我的坏处。 @questioner 是对的。您必须将 DrawerLayout 更改为 android.support.v4.widget.DrawerLayout

替换: DrawerLayoutandroid.support.v4.widget.DrawerLayout

并将以下行添加到您的 build.gradle:

compile "com.android.support:support-v4:22.0.0"

更新

DrawerLayout 应该由 2 个视图组成,您似乎不能将 layout_gravity 设置为代表抽屉本身的视图。您始终可以将 ListView 包装在其他布局中,然后在 ListView.

上设置 layout_gravity

我遇到了同样的问题,我可能浪费了 2 个小时才找到解决方案。我尝试重新启动 IDE、失效、从 23 降级到 22,但没有任何效果。

最终,我 HARD TYPE 完成了它,在我完成输入后它就可用了

android:layout_gravity=

(值得一提的是我使用的是 AS 2.1 ...可能有一个奇怪的错误)