为什么listview不在相对布局中滚动

时间:2016-01-14 07:08:25

标签: android listview android-listview scrollview android-framelayout

我正在尝试滚动列表,其id为list.I尝试几乎所有的解决方案,但注意为我工作。我尝试将相对布局放在滚动视图中,但它也不适合我。我也尝试将listview放在滚动视图中但它也不起作用。

<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:id="@+id/chat_layout"
android:layout_width="match_parent"
android:layout_height="match_parent"
>
<RelativeLayout
    android:layout_width="fill_parent"
    android:layout_height="wrap_content">
<RelativeLayout
    android:id="@+id/head"
    android:background="@color/primary_dark"
    android:layout_width="fill_parent"
    android:layout_height="75dp">

    <TextView
        android:padding="15dp"
        android:id="@+id/grp_heading"
        android:textStyle="bold"
        android:textSize="18sp"
        android:textColor="@android:color/white"
        android:maxLines="1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content" />

</RelativeLayout>

<ListView
    android:layout_below="@+id/head"
    android:id="@+id/list"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:divider="@color/white"
    android:dividerHeight="@dimen/pad_5dp"
    android:fastScrollEnabled="true"
    android:paddingBottom="@dimen/pad_10dp"
    android:paddingTop="@dimen/pad_10dp"
    tools:listitem="@layout/chat_item_rcv" >
</ListView>
</RelativeLayout>
<com.github.ksoichiro.android.observablescrollview.ObservableListView
    android:id="@+id/list_view"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    />

<android.support.design.widget.FloatingActionButton
    android:id="@+id/fab"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_gravity="bottom|end"
    android:layout_marginBottom="32dp"
    android:layout_marginRight="32dp"
    android:src="@drawable/ic_add_white_24dp"
    app:borderWidth="0dp"
    app:fabSize="normal"
    app:rippleColor="@color/primary"
    />

     <com.example.covite.chat_layout.BottomSheetLayout
    android:id="@+id/bottom_sheet"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_gravity="bottom"
    app:ft_container_gravity="center"
    app:ft_color="@color/primary">

    <ListView
        android:id="@+id/list_menu"
        android:background="@color/primary"
        android:divider="@null"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"/>

</com.valuevision.covite.chat_layout.BottomSheetLayout>
<LinearLayout
    android:id="@+id/send_message_layout"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_alignParentBottom="true"
    android:layout_gravity="bottom"
    android:background="#ffdddddd"
    android:gravity="center_vertical"
    android:orientation="horizontal">

    <ImageView
        android:id="@+id/iv_image"
        android:layout_width="40dp"
        android:layout_height="40dp"
        />

    <EditText
        android:id="@+id/message"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_weight="1" />

    <Button
        android:id="@+id/sendMessageButton"
        android:layout_width="48dp"
        android:layout_height="48dp"
        />

</LinearLayout>

2 个答案:

答案 0 :(得分:1)

你应该试试

我假设FrameLayout创建了这个问题。

  1. 使用RelativeLayout代替FrameLayout

  2. ListView

  3. 旁边拨打RelativeLayout

    希望这有帮助。

答案 1 :(得分:0)

将包含listview的布局高度更改为fill_parent

<RelativeLayout
    android:layout_width="fill_parent"
    android:layout_height="fill_parent">

你的listview高度为match_parent

<ListView
    android:layout_below="@+id/head"
    android:id="@+id/list"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
....

还要确保您提供给列表视图的列表项足够长,以便滚动。希望这会有所帮助。

编辑: 我不确定BottomSheetLayout是什么,但尝试将其布局高度设置为match_parent。

<com.example.covite.chat_layout.BottomSheetLayout
    android:id="@+id/bottom_sheet"
    android:layout_width="wrap_content"
    android:layout_height="match_parent"
    android:layout_gravity="bottom"
    app:ft_container_gravity="center"
    app:ft_color="@color/primary">

或者,如果可能的话,将listview从BottomSheetLayout中移出,并将其作为RelativeLayout的子项。