Android导航抽屉中的ListView内容未排成一行

时间:2015-09-30 22:48:04

标签: android listview

我跟进了android docs,在我的应用主要活动上构建了一个导航抽屉。但是内容是在我的主要活动java代码中的字符串数组中。列表视图元素没有排列。enter image description here

如何让它们排成一行,使它们与屏幕左侧的距离相等?我也想在纵向和布局模式下这种行为。 这是我的xml文件。

<?xml version="1.0" encoding="utf-8"?>
<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" >

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

    <fragment
        android:id="@+id/map"
        android:name="com.google.android.gms.maps.SupportMapFragment"
        android:layout_width="fill_parent"
        android:layout_height="match_parent" />

    <LinearLayout
        android:id="@+id/adla"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="vertical" >

        <TextView
            android:id="@+id/tvan"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="center"
            android:textColor="@color/blue"
            android:textSize="@dimen/abc_action_bar_default_height_material"
            android:text="@string/app_name" />

        <AutoCompleteTextView
            android:id="@+id/acgetd"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:ems="10"
            android:gravity="center_horizontal" />

        <requestFocus />
    </LinearLayout>

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_gravity="bottom">
        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:orientation="horizontal"
            android:layout_gravity="bottom" >

            <Button
                android:id="@+id/bgetd"
                android:layout_width="0dp"
                android:layout_height="wrap_content"
                android:layout_weight="1"
                android:background="@drawable/skimmy"
                android:text="@string/bgetd" />

            <Button
                android:id="@+id/brejec"
                android:layout_width="0dp"
                android:layout_height="wrap_content"
                android:layout_weight="1"
                android:background="@drawable/skimmy"
                android:text="@string/reject" />
        </LinearLayout>
    </LinearLayout>
</FrameLayout>
    <ListView
        android:id="@+id/MList"
        android:layout_width="240dp"
        android:layout_height="match_parent"
        android:layout_gravity="left"
        android:choiceMode="singleChoice"
        android:divider="@android:color/transparent"
        android:dividerHeight="0dp"
        android:background="#111">
    </ListView>
</android.support.v4.widget.DrawerLayout>

4 个答案:

答案 0 :(得分:1)

在您分享的链接中,有一个布局R.layout.drawer_list_item。有一个名为drawer_list_item.xml的XML布局。这是负责listView中所有项目的文件。 检查XML中的gravity并将其删除或将属性设置为alignParentLeft

答案 1 :(得分:0)

您可以发布活动和列表视图项的xml文件吗?

我怀疑你在列表的TextView中使用android:gravity =“center”而不是android:gravity =“center_vertical”。

很抱歉发布此答案。我没有50个回复点发表评论。

答案 2 :(得分:0)

您不应该自己创建,而应该使用AppCompat提供的NavigationLayout。

这是为了使用menu.xml文件为您设置这一切,并且使用此控件将确保您的抽屉完全符合准则。

http://developer.android.com/reference/android/support/design/widget/NavigationView.html

答案 3 :(得分:0)

我认为你的ListView文本与中心对齐,

android:layout_gravity="center

根据您的要求将其改为右侧或左侧 这可能会有所帮助