2

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

<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,应用程序不会崩溃。我猜是因为我没有为 ListView 添加属性 android:layout_gravity。 在此处输入图像描述这是一个快照,显示 layout_gravity 也没有出现在智能感知中

4

3 回答 3

13

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

最终,我对它进行了HARD TYPE d,并且在我完成输入后它变得可用

android:layout_gravity=

(值得一提的是我在 AS 2.1 上......也许有一个奇怪的错误)

于 2016-04-27T13:11:14.477 回答
4

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

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

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

更新

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

于 2015-04-12T16:25:57.237 回答
1

每件事似乎都没有问题。您可以将android:layout_gravity="start"android:layout_gravity="end"放入 ListView

更新

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

于 2015-04-12T16:20:19.710 回答