Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> 關於Android編程 >> Android監聽ScrollView滑動到頂端和底部

Android監聽ScrollView滑動到頂端和底部

編輯:關於Android編程

package cn.testscrollview;
import android.os.Bundle;
import android.view.MotionEvent;
import android.view.View;
import android.view.View.OnTouchListener;
import android.widget.ScrollView;
import android.app.Activity;
/**
 * Demo描述:
 * 監聽ScrollView滑動到頂端和底部
 * 
 * 注意事項:
 * 1 mScrollView.getChildAt(0).getMeasuredHeight()表示:
 *   ScrollView所占的高度.即ScrollView內容的高度.常常有一
 *   部分內容要滑動後才可見,這部分的高度也包含在了
 *   mScrollView.getChildAt(0).getMeasuredHeight()中
 *   
 * 2 view.getScrollY表示:
 *   ScrollView頂端已經滑出去的高度
 *   
 * 3 view.getHeight()表示:
 *   ScrollView的可見高度
 *   
 */
public class MainActivity extends Activity {
    private ScrollView mScrollView;
	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.main);
		init();
	}
    private void init(){
    	mScrollView=(ScrollView) findViewById(R.id.scrollView);
    	mScrollView.setOnTouchListener(new TouchListenerImpl());
    }
    private class TouchListenerImpl implements OnTouchListener{
		@Override
		public boolean onTouch(View view, MotionEvent motionEvent) {
			switch (motionEvent.getAction()) {
			case MotionEvent.ACTION_DOWN:

				break;
			case MotionEvent.ACTION_MOVE:
				 int scrollY=view.getScrollY();
				 int height=view.getHeight();
				 int scrollViewMeasuredHeight=mScrollView.getChildAt(0).getMeasuredHeight();
				 if(scrollY==0){
	                	System.out.println("滑動到了頂端 view.getScrollY()="+scrollY);
	                }
	             if((scrollY+height)==scrollViewMeasuredHeight){
	                    System.out.println("滑動到了底部 scrollY="+scrollY);
	                	System.out.println("滑動到了底部 height="+height);
	                	System.out.println("滑動到了底部 scrollViewMeasuredHeight="+scrollViewMeasuredHeight);
	                }
				break;

			default:
				break;
			}
			return false;
		}
    	
    };
}
<RelativeLayout 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"
    >
    <ScrollView
        android:id="@+id/scrollView"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content" >
    <TextView
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:text="@string/hello_world"/>
    </ScrollView>
</RelativeLayout>

 

  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved