无法在DrawerLayout中对ListView使用layout_gravity

时间:2015-04-12 16:11:49

标签: android listview navigation-drawer android-appcompat layout-gravity

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

<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。 enter image description here这是一个快照,显示layout_gravity doe不会出现在intellisense中

3 个答案:

答案 0 :(得分:9)

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

最终,我 HARD TYPE d它在我完成输入后变得可用

android:layout_gravity=

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

答案 1 :(得分: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

答案 2 :(得分:1)

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

<强>更新

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