Android中使用ScrollView实现滑动到底部显示加载更多
更新时间:2017年04月05日 10:39:32 作者:甄情
本文主要介绍了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应用的LinearLayout中嵌套RelativeLayout的布局用法
这篇文章主要介绍了Android应用的LinearLayout中嵌套RelativeLayout的布局用法,文后还给出了线性布局中一些组件位置的调试经验,需要的朋友可以参考下2016-04-04Android RadarView雷达图(蜘蛛网图)的实现代码
这篇文章主要介绍了Android RadarView雷达图(蜘蛛网图)的实现代码,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧2018-03-03Android使用Retrofit实现自定义Converter解析接口流程详解
Retrofit是一个RESTful的HTTP网络请求框架的封装,网络请求的工作本质上是OkHttp完成,而Retrofit仅负责网络请求接口的封装2023-03-03Android编程开发之EditText中inputType属性小结
这篇文章主要介绍了Android编程开发之EditText中inputType属性用法,分析说明了Android中EditText的inputType属性具体含义与使用技巧,需要的朋友可以参考下2016-01-01
最新评论