2

フレームレイアウトにカスタムgridViewとボタンがあります。コードは次のとおりです

<RelativeLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent">
     <GridView
        android:id="@+id/gridview"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_alignParentBottom="true"
        android:layout_below="@+id/Rel_Spinner"
        android:layout_centerHorizontal="true"
        android:gravity="center"
        android:numColumns="auto_fit"
        android:stretchMode="columnWidth" >
    </GridView>


    <FrameLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_alignParentBottom="true"
        android:layout_alignParentLeft="true" >


        <Button
            android:id="@+id/btnLoadMore"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:text="Load More" />

    </FrameLayout>

</RelativeLayout>

アダプターから画像とテキストをロードします。図に示すように

ここに画像の説明を入力してください

今私が欲しいのは、GridViewスクロールの最終位置に達したときにボタンが表示され、そうでない場合は再び消えるはずです。図に示すように。

ここに画像の説明を入力してください

4

1 に答える 1

0

これを行うには、GridViewのsetOnScrollListenerを次のように使用します。

gridview.setOnScrollListener(new OnScrollListener() {

   @Override
    public void onScroll(AbsListView view, int firstVisibleItem,
              int visibleItemCount, int totalItemCount) {

      }

    @Override
    public void onScrollStateChanged(AbsListView view, int scrollState) {
            // TODO Auto-generated method stub
      switch(scrollState) {
        case 2: // SCROLL_STATE_FLING 
        //hide button here
        break;

        case 1: // SCROLL_STATE_TOUCH_SCROLL 
        //hide button here
        break;

        case 0: // SCROLL_STATE_IDLE 
        //show button here
        break;

            default:
             //show button here
        break;
           }
        }
     });
于 2012-12-20T05:20:54.157 に答える