Android中使用ScrollView实现滑动到底部显示加载更多
短信预约 -IT技能 免费直播动态提醒
这是效果
主要是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实现滑动距离监听器的方法Android ScrollView滑动实现仿QQ空间标题栏渐变android scrollview 滑动到顶端或者指定位置的实现方法Android中Toolbar随着ScrollView滑动透明度渐变效果实现Android编程开发ScrollView中ViewPager无法正常滑动问题解决方法Android HorizontalScrollView左右滑动效果Android开发控制ScrollView滑动速度的方法Android开发之ScrollView的滑动监听Android自定义控件ScrollView实现上下滑动功能
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341