在Listview中删除滚动

时间:2017-02-23 10:28:09

标签: android listview

我的列表视图中只有两个项目,它覆盖了屏幕的一半,但listview仍显示滚动它。我已将高度设置为wrap_content

enter image description here

布局代码如下:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >
    <ListView
        android:id="@+id/listLikeWhatsapp"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_margin="10dp"
        android:divider="@android:color/transparent"
        android:dividerHeight="10.0sp"
        />    

</LinearLayout>

我不希望滚动显示在列表视图上,因为它只有两个项目而且不需要显示。我不确定导致滚动出现的原因。

任何帮助都将受到高度赞赏。

提前感谢你

更新

这是我的行项目xml:

<RelativeLayout 
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:padding="10dp"

    android:background="@drawable/roundedshape"
    android:alpha="0.7">

    <ImageView
        android:id="@+id/icon"
        android:layout_width="50dp"
        android:layout_height="50dp"
        android:contentDescription="desc"
        android:paddingLeft="10dp"
        android:paddingRight="10dp"
        android:src="@drawable/ic_insert_emoticon_black_48dp"

        />


    <TextView
        android:id="@+id/title"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginTop="10dp"
        android:layout_toRightOf="@+id/icon"
        android:paddingBottom="5dp"
        android:text="Assignments"
        android:textStyle="bold"
        android:textSize="18sp"
        android:textColor="#000"/>

    <TextView
        android:id="@+id/last_date"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignLeft="@+id/title"
        android:layout_below="@+id/title"
        android:text="Last Update : 01-01-2017"
        android:textSize="13sp"
        android:textColor="#696969"/>



    <TextView
        android:id="@+id/unread_count"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignBaseline="@+id/title"
        android:layout_alignBottom="@+id/title"
        android:layout_alignParentRight="true"
        android:text="04"
        android:textSize="12sp"
        android:background="@drawable/shape_circular"
        android:padding="5dp"
        android:textColor="#FFF"
        android:textStyle="bold"
        android:layout_marginRight="5dp"
        />
</RelativeLayout>

6 个答案:

答案 0 :(得分:1)

试试这个:

隐藏滚动条

<ListView
    android:id="@+id/listLikeWhatsapp"
    android:layout_width="match_parent"
    android:scrollbars="none"     // add this
    android:layout_height="wrap_content"
    android:layout_margin="10dp"
    android:divider="@android:color/transparent"
    android:dividerHeight="10.0sp"
    />    

或在您的代码中:

yourlistView.setVerticalScrollBarEnabled(false);

要禁用listview项目的滚动,请尝试:

    listView.setOnTouchListener(new OnTouchListener() {

    public boolean onTouch(View v, MotionEvent event) {
        if (event.getAction() == MotionEvent.ACTION_MOVE) {
            return true; //  Action will not be forwarded
        }
        return false;
    }
});

OR

yourListView.setScrollContainer(false);

答案 1 :(得分:1)

<ListView
...
android:scrollbars="none"
...
/>

答案 2 :(得分:1)

尝试添加:

 android:scrollbars="none"

答案 3 :(得分:1)

用户android:scrollbar =“none”就像这样;

  <ListView
    android:id="@+id/list_view_meals_list"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:scrollbars="none" />

答案 4 :(得分:1)

使用此代码.....

for (x=c-1; x>=0; (x=x-1), (++i))

答案 5 :(得分:1)

我知道这是一个老问题,我正在寻找解决方案,我记得我在另一个项目中使用了它,而我忘记了该解决方案的所有者,因此代码如下:

public static void justifyListViewHeightBasedOnChildren (ListView listView) {

        ListAdapter adapter = listView.getAdapter();

        if (adapter == null) {
            return;
        }
        ViewGroup vg = listView;
        int totalHeight = 0;
        for (int i = 0; i < adapter.getCount(); i++) {
            View listItem = adapter.getView(i, null, vg);
            listItem.measure(0, 0);
            totalHeight += listItem.getMeasuredHeight();
        }

        ViewGroup.LayoutParams par = listView.getLayoutParams();
        par.height = totalHeight + (listView.getDividerHeight() * (adapter.getCount() - 1));
        listView.setLayoutParams(par);
        listView.requestLayout();
    }