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; } }); } }

以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持脚本之家!

时间: 2024-09-24 06:09:06

Android中使用ScrollView实现滑动到底部显示加载更多的相关文章

Android LRecyclerView实现下拉刷新,滑动到底部自动加载更多

很想给大家分享这个开源项目,但是由于工作的关系,没有抽出空,但还是趁着工作间隙写下了这篇博客. 简介 LRecyclerView是支持addHeaderView. addFooterView.下拉刷新.分页加载数据的RecyclerView. 它对 RecyclerView 控件进行了拓展,给RecyclerView增加HeaderView.FooterView,并且不需要对你的Adapter做任何修改. 主要功能 下拉刷新.滑动到底部自动加载下页数据: 可以方便添加Header和Footer:

Android下拉刷新、滚动到底部自动加载更多RecyclerView组件

收集下拉刷新,滚动到底部加载更多以及添加header功能的的RecyclerView. 开源组件: Android HeaderAndFooterRecyclerView(强烈推荐) ExRecyclerView PullRefreshLoadRecyclerView ExRecyclerView 具体移步:http://blog.csdn.net/jdsjlzx/article/details/50462247

Android 仿硅谷新闻下拉刷新/上拉加载更多_Android

1.添加加载更多布局 1_初始化和隐藏代码 在RefreshListView构造方法中调用 private void initFooterView(Context context) { View footerView = View.inflate(context, R.layout.refresh_listview_footer, null); //隐藏代码 footerView.measure(0, 0); int footerViewHeight = footerView.getMeasur

UWP-ListView到底部自动加载更多数据

原文:UWP-ListView到底部自动加载更多数据 ListView绑定的数据当需要"更多"时自动加载 ListView划到底部后,绑定的ObservableCollection列表数据需要加载的更多,或着ListView初始时,绑定的数据也需要自动加载(更多),实现一个接口 ISupportIncrementalLoading 即可: class A { } class AList: ObservableCollection<A>, ISupportIncrementa

Android仿XListView支持下拉刷新和上划加载更多的自定义RecyclerView_Android

首先给大家展示下效果图,感觉还不错,请继续往下阅读: 下拉刷新:        上划加载        在项目更新的过程中,遇到了一个将XListView换成recyclerView的需求,而且更换完之后大体效果不能变,但是对于下拉刷新这样的效果,谷歌给出的解决方案是把RecyclerView放在一个SwipeRefreshLayout中,但是这样其实是拉下一个小圆形控件实现的,和XListView的header效果不同.在网上找了很多的别人代码,都没有实现我想要的效果,于是自己动手写了一个.

Android仿XListView支持下拉刷新和上划加载更多的自定义RecyclerView

首先给大家展示下效果图,感觉还不错,请继续往下阅读: 下拉刷新: 上划加载 在项目更新的过程中,遇到了一个将XListView换成recyclerView的需求,而且更换完之后大体效果不能变,但是对于下拉刷新这样的效果,谷歌给出的解决方案是把RecyclerView放在一个SwipeRefreshLayout中,但是这样其实是拉下一个小圆形控件实现的,和XListView的header效果不同.在网上找了很多的别人代码,都没有实现我想要的效果,于是自己动手写了一个. 具体实现的效果有以下几条 下

Android中给listview/gridview设置动画(逐条加载条目动画)

先看实现的效果如下: 演示效果如上:   上面的列表是GridView 要给这个GridView添加一个动画,才可以逐个加载.网上找了大量资料,不少人说用多线程加载,通过SetAdapter设置数据改变,还有用到Handler这样太扯淡了,几乎放弃了.发现直接在配置里设置动画即可.效果非常好,看效果. ListView配置方法如下: <GridView android:background="@drawable/navagation_shape" android:id="

Android ListView滑动底部自动加载更多

直接上代码:   // lv = (ListView) findViewById(R.id.lv); // // for(int i = 0;i < 50;i++){ // ls.add("this is:"+i); // } // m = new MyAdapter(); // lv.setAdapter(m); // lv.setOnScrollListener(new OnScrollListener() { // // @Override // public void o

如何解决电脑中TGP能登录但网页无法显示加载失败的问题

  1.打开Internet选项,切换到"连接"选项卡,点击中间的"设置"按钮("删除"按钮下方),如果勾选了"自动检测设置",则可以取消勾选再试试能否打开网页,否则就再次勾选试试; 2.还有可以点击下方的"局域网设置",跟上一步的操作差不多,试试勾选与不勾选的设置,看看能否打开网页.