0

表示されているデータがスクロールを必要としない場合でも、リスト ビューにスクロール バーがあるのはなぜですか? ここに私の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

4 に答える 4

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>
于 2013-09-04T05:37:48.013 に答える
0

あなたはこれを行うことができます

listView.setScrollContainer(false);

詳しくはチェックしてください

スクロールできないListViewを取得するには?

于 2013-09-04T05:36:48.377 に答える
0

android:scrollbars="なし"

上記の行をxmlのリストビューに入れてみてください。

于 2013-09-04T06:07:11.580 に答える
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 のハンドラ: onCreate()

listView.post(fitsOnScreen);
于 2013-09-04T05:32:55.013 に答える