2010-12-11 65 views
0

这是我的布局XML。我在表中动态添加更多行。Android ScrollView:如何检测滚动视图的开始和结束

<?xml version="1.0" encoding="utf-8"?> 
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android" 
      xmlns:myapp="http://schemas.android.com/apk/res/com.tweets" 
      android:id="@+id/screen" 
      android:layout_width="fill_parent" 
      android:layout_height="fill_parent" 
      android:orientation="vertical" 
      android:background="#FFFFFF"> 

    <TableLayout xmlns:android="http://schemas.android.com/apk/res/android" 
       android:layout_width="fill_parent" 
       android:layout_height="fill_parent" 
       android:id="@+id/main" 
       android:background="#FFFFFF"> 

     <TableRow android:id="@+id/TableRow01" 
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content"> 

      <TextView android:id="@+id/TLocView01" 
         android:layout_width="wrap_content" 
         android:layout_height="wrap_content" 
         android:textSize="15px" 
         android:textStyle="bold" 
         android:textColor="#000000" 
         android:text="FatWallet Tweets:"> 
      </TextView> 

     </TableRow> 
    </TableLayout> 
</ScrollView> 

我想用scrollview实现分页。如果用户试图向后或向前滚动,那么我想做出上一页和下一页的请求。怎么做?任何暗示将不胜感激。谢谢。

回答

0

这里是解决这个问题

tl = (TableLayout) findViewById(R.id.main); 

    tl.setOnTouchListener(new OnTouchListener() { 
     public boolean onTouch(View v, MotionEvent event) { 
      int y = v.getHeight(); 
      int y1 = (int) event.getY(); 

      switch (event.getAction()) { 
      case MotionEvent.ACTION_DOWN: { 
       if (y1 + 50 >= y & more) { 
        //System.out.println("ACTION_DOWN " + bpg); 
        more(); 

       } 
       break; 
      } 

      case MotionEvent.ACTION_UP: { 
       if (y1 - 50 <= 100 & bpg > 1) { 
        //System.out.println("ACTION_UP"); 
        less(); 

       } 
       break; 
      } 
      case MotionEvent.ACTION_MOVE: { 
       //System.out.println("ACTION_MOVE " + bpg); 
       if (y1 - 50 <= 100 & bpg > 1) { 
        //System.out.println("ACTION_UP"); 
        less(); 

       } 
       break; 
      } 
      } 

      //System.out.println("Test " + y + " " + y1); 
      return true; 
     } 
    }); 

ACTION_DOWN事件正在处理一个页面,并ACTION_MOVE事件处理上一页一个肮脏的方式。我正在检查当前的Y几乎是在结束还是在开始时才行动。它不是干净的,而是使其工作的一种方式。

相关问题