Android中使用ScrollView实现滑动到底部显示加载更多
程序员文章站
2022-06-02 22:09:30
这是效果
主要是ontouchlistener监听事件,监视什么时候滑到底部
同时要理解getmeasuredheight和getheight的区别
getmea...
这是效果
主要是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; } }); } }
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持!
上一篇: 2019爆火黑话「私域流量」的本质和玩法
下一篇: 令牌桶算法限流