android:ScrollView滑动到底部显示加载更多

Posted 甄情

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了android:ScrollView滑动到底部显示加载更多相关的知识,希望对你有一定的参考价值。

这是效果

技术分享

主要是onTouchListener监听事件,监视什么时候滑到底部

同时要理解getMeasuredHeight和getHeight的区别

getMeasuredHeight:全部的长度 包括隐藏的

getHeight:在布局中展示出来的长度

布局文件:

<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent">

    <ScrollView
        android:id="@+id/scrollview"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:scrollbars="none" >

        <TextView
            android:id="@+id/text"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content" />
    </ScrollView>

    <Button
        android:id="@+id/next"
        android:layout_gravity="bottom|center_horizontal"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:visibility="invisible"
        android:text="点击加载更多" />

</FrameLayout>

MainActivity

package com.example.scrollview;

import android.opengl.Visibility;
import android.os.Bundle;
import android.app.Activity;
import android.support.v4.app.NotificationCompat.Action;
import android.util.Log;
import android.view.Menu;
import android.view.MotionEvent;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.View.OnTouchListener;
import android.view.Window;
import android.widget.Button;
import android.widget.ScrollView;
import android.widget.TextView;
import android.widget.Toast;

public class MainActivity extends Activity {
	
	private ScrollView scroll;
	private TextView text;
	private Button button;

	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		requestWindowFeature(Window.FEATURE_NO_TITLE);
		setContentView(R.layout.activity_main);
		scroll=(ScrollView) findViewById(R.id.scrollview);
		text=(TextView) findViewById(R.id.text);
		button=(Button) findViewById(R.id.next);
		text.setText(getResources().getString(R.string.lyric));
		button.setOnClickListener(new OnClickListener() {
			
			@Override
			public void onClick(View v) {
				// TODO Auto-generated method stub
				text.append(getResources().getString(R.string.lyric));
				button.setVisibility(View.INVISIBLE);
			}
		});
		scroll.setOnTouchListener(new OnTouchListener() {
			
			@Override
			public boolean onTouch(View v, MotionEvent event) {
				// TODO Auto-generated method stub
				switch(event.getAction()){
					case MotionEvent.ACTION_MOVE:{
						break;
					}
					case MotionEvent.ACTION_DOWN:{
						break;
					}
					case MotionEvent.ACTION_UP:{
						//当文本的measureheight 等于scroll滚动的长度+scroll的height
						if(scroll.getChildAt(0).getMeasuredHeight()<=scroll.getScrollY()+scroll.getHeight()){
							button.setVisibility(View.VISIBLE);
						}else{
							
						}
						break;
					}
				}
				return false;
			}
		});
	}


}

突然感觉自己不小了。父母都在关心自己的婚事了

可是我的她又在哪里 。











以上是关于android:ScrollView滑动到底部显示加载更多的主要内容,如果未能解决你的问题,请参考以下文章

笔记-移动端滑动到底部自动加载下一页内容

android ScrollView+GridView GridView不滚动

js实现滚动条滑动到底部

android scrollview 嵌套listview 不滑动

Android ScrollView去掉右侧滑动条

ios tableview 滑动到底部