列表视图中的滚动条

时间:2013-09-04 05:27:42

标签: java android

为什么列表视图中有滚动条,即使其中显示的数据不需要滚动? 这是我的xml文件

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:tools="http://schemas.android.com/tools"
     android:layout_width="match_parent"
     android:layout_height="match_parent"
     android:background="@drawable/background"
     android:orientation="vertical" >

   <ListView
      android:id="@+id/listview"
      android:layout_width="match_parent"
      android:layout_height="match_parent"
      android:divider="@null"
      android:dividerHeight="0dip" />

   <TextView
      android:id="@+id/empty"
      android:layout_width="match_parent"
      android:layout_height="match_parent"
      android:gravity="center"
      android:text="@string/no_result_text"
      android:visibility="gone" />

</LinearLayout>

4 个答案:

答案 0 :(得分:0)

在Runnable中将getLastVisiblePosition()getCount()进行比较,您将了解列表视图是否适合屏幕。还要检查最后一个可见行是否完全适合屏幕。

ListView listView;
Runnable fitsOnScreen = new Runnable() {
    @Override
    public void run() {
        int last = listView.getLastVisiblePosition();
        if(last == listView.getCount() - 1 && listView.getChildAt(last).getBottom() <= listView.getHeight()) {
           listView.setScrollContainer(false);
        }
        else {
            listView.setScrollContainer(true);
        }
    }
};

最后在ListView的Handler:onCreate()

listView.post(fitsOnScreen);

答案 1 :(得分:0)

您可以通过

执行此操作
listView.setScrollContainer(false);

了解更多请检查

How to get a non scrollable ListView?

答案 2 :(得分:0)

如果您不想永远隐藏滚动条。然后它会帮助你。  由于android:layout_height =“match_parent”在listView和TextView滚动条上出现。

 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:tools="http://schemas.android.com/tools"
     android:layout_width="match_parent"
     android:layout_height="match_parent"
     android:background="@drawable/background"
     android:orientation="vertical" >

     <ListView
        android:id="@+id/listview"
        android:layout_width="match_parent"
        android:layout_height="wrap_content" // change 1
        android:divider="@null"
        android:dividerHeight="0dip" />

     <TextView
        android:id="@+id/empty"
        android:layout_width="match_parent"
        android:layout_height="wrap_content" //change 2
        android:gravity="center"
        android:text="@string/no_result_text"
        android:visibility="gone" />

 </LinearLayout>

答案 3 :(得分:0)

机器人:滚动条= “无”

尝试将以上行放在xml中的listview中。