DrawerLayout上的底部项目

时间:2013-09-16 18:07:53

标签: android drawerlayout

我试图做同样的事情@lnamdar在这个问题(Drawer layout with fixed menu item)中问道。我试图更好地解释他们的解决方案。

我正在尝试这个:

<android.support.v4.widget.DrawerLayout
xmlns:android="http://schemas.android.com/apk/res/android"   
android:id="@+id/drawer_layout"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@android:color/black">

<!-- The main content view -->
<FrameLayout
    android:id="@+id/content_frame"
    android:layout_width="match_parent"
    android:layout_height="match_parent" />

<RelativeLayout
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:layout_gravity="start"
    android:background="@android:color/transparent">
    <TextView
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_alignParentBottom="true"
        android:background="@color/black"
        android:text="This is the footer text"/>

</RelativeLayout>

<!-- The navigation drawer -->
<ListView
    android:id="@+id/left_drawer"
    android:layout_width="300dp"
    android:layout_height="match_parent"
    android:layout_gravity="start"
    android:choiceMode="singleChoice"
    android:background="@android:color/black"/>

但这导致列表视图无法显示,当我切换打开/关闭时,我看到的唯一内容就是页脚。 我试图将listView和页脚textView放在RelativeLayout中,但随后它在Drawer Layout类上使用的Layout Params上发生了ClassCastException崩溃。

感谢您的帮助!

1 个答案:

答案 0 :(得分:0)

他们对RelativeLayout的尝试给出了意想不到的结果,因为它不在内容框架内。解释非常简单,因为RelativeLayout是ListView的父级,它保存菜单项,我们将重力移动到它,而不是使用具有相同重力的ListView。  这是我做的:

    

<ListView
    android:id="@+id/left_drawer"
    android:layout_width="240dp"
    android:layout_height="match_parent"
    android:background="#111"
    android:choiceMode="singleChoice"
    android:divider="@android:color/transparent"
    android:dividerHeight="0dp" />

    <TextView

        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:background="?android:attr/activatedBackgroundIndicator"
        android:gravity="center_vertical"
        android:id="@+id/logout_item"
        android:minHeight="?android:attr/listPreferredItemHeightSmall"
        android:paddingLeft="16dp"
        android:paddingRight="16dp"
        android:text="@string/logout"
        android:textAppearance="?android:attr/textAppearanceListItemSmall"
        android:textColor="#fff" />

</FrameLayout>
</RelativeLayout>

不要忘记运行HierarchyViewer以摆脱不必要的ViewGroup。