防止Listview项重叠

时间:2015-07-23 06:26:51

标签: android android-listview

我有一个ListView - 当我在布局中添加项目时,当项目到达底部时 - 重叠一些按钮我放在视图的底部。
看这个截图

screenshot

我想使用按钮上方的所有可用空间将项目添加到我的ListView,因为这些是最后的视图(防止显示用户赢得的项目)。

Listview设置:

<RelativeLayout
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:id="@+id/parentPanel"
    android:layout_gravity="start">

    <ListView
        android:id="@+id/log_drawer"
        android:layout_width="fill_parent"
        android:layout_height="match_parent"
        android:layout_gravity="start"
        android:background="@color/log_drawer_color"
        android:divider="@android:color/transparent"
        android:cacheColorHint="@android:color/transparent"
        android:dividerHeight="0.0dip"
        android:typeface="monospace"
        android:scrollingCache="false"
        />

    <RelativeLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:background="@color/grey19"
        android:layout_alignParentBottom="true">

        <Button
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:drawableTop="@drawable/ic_delete"
            android:clickable="true"
            android:background="@drawable/textview_state_config"
            android:text="@string/clear_log"
            android:onClick="onClick"
            android:id="@+id/clear_log"
            android:paddingTop="5dp"
            android:layout_alignParentTop="true"
            android:layout_alignParentLeft="true"
            android:layout_alignParentStart="true"
            android:layout_marginLeft="41dp"
            android:layout_marginStart="41dp" />


        <Button
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:drawableTop="@drawable/ic_share"
            android:clickable="true"
            android:id="@+id/share_log"
            android:text="@string/share_log"
            android:onClick="onClick"
            android:paddingTop="5dp"
            android:layout_alignParentTop="true"
            android:background="@drawable/textview_state_config"
            android:layout_toRightOf="@+id/clear_log"
            android:layout_toEndOf="@+id/clear_log"
            android:layout_marginLeft="73dp"
            android:layout_marginStart="73dp" />

    </RelativeLayout>
</RelativeLayout>

如果需要,可以提供更多信息。感谢。

4 个答案:

答案 0 :(得分:1)

您可以将以下属性添加到ListView:

android:scrollbars="vertical"

将使其可滚动并且不会覆盖其他元素。

或者,您可以以编程方式执行此操作:

listView.setVerticalScrollBarEnabled(true);

答案 1 :(得分:0)

我认为你应该使用LinearLayout来解决你的问题。

考虑以下代码

   /alfresco/service/api/workflow-instances/{workflow_instance_id}?forced={forced?}

答案 2 :(得分:0)

使用单个RelativeLayout进行简单设计 ListView将保持高于按钮。

<RelativeLayout
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:id="@+id/parentPanel"
    android:layout_gravity="start"
    >
    <Button
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:drawableTop="@drawable/ic_delete"
        android:clickable="true"
        android:background="@drawable/textview_state_config"
        android:text="@string/clear_log"
        android:onClick="onClick"
        android:id="@+id/clear_log"
        android:paddingTop="5dp"
        android:layout_alignParentBottom="true"
        android:layout_alignParentLeft="true"
        android:layout_alignParentStart="true"
        android:layout_marginLeft="41dp"
        android:layout_marginStart="41dp"
    />
    <Button
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:drawableTop="@drawable/ic_share"
        android:clickable="true"
        android:id="@+id/share_log"
        android:text="@string/share_log"
        android:onClick="onClick"
        android:paddingTop="5dp"
        android:layout_alignParentBottom="true"
        android:background="@drawable/textview_state_config"
        android:layout_toRightOf="@+id/clear_log"
        android:layout_toEndOf="@+id/clear_log"
        android:layout_marginLeft="73dp"
        android:layout_marginStart="73dp"
    />
    <ListView
        android:id="@+id/log_drawer"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_gravity="start"
        android:layout_above="@id/clear_log"
        android:background="@color/log_drawer_color"
        android:divider="@android:color/transparent"
        android:cacheColorHint="@android:color/transparent"
        android:dividerHeight="0.0dip"
        android:typeface="monospace"
        android:scrollingCache="false"
    />
</RelativeLayout>

答案 3 :(得分:0)

对于在不久的将来遇到这类问题的人来说,这就是我解决的问题 我添加到我的listview

android:layout_above="@+id/layout_id "
 android:scrollbars="true"