在开发中,我们经常需要更新列表,并将列表拉倒最底部,比如发表微博,聊天界面等等,
这里有两种办法,第一种,使用scrollTo():
public static void scrollToBottom(final View scroll, final View inner) {
Handler mHandler = new Handler();
mHandler.post(new Runnable() {
public void run() {
if (scroll == null || inner == null) {
return;
}
int offset = inner.getMeasuredHeight() - scroll.getHeight();
if (offset < 0) {
offset = 0;
}
scroll.scrollTo(0, offset);
}
});
}
第一种实现相对比较麻烦,更推荐使用第二种方式,使用fullScrol()
下面我们看一下这个函数:
scrollView.fullScroll(ScrollView.FOCUS_DOWN);滚动到底部
scrollView.fullScroll(ScrollView.FOCUS_UP);滚动到顶部
需要注意的是,该方法不能直接被调用
因为Android很多函数都是基于消息队列来同步,所以需要一部操作,
addView完之后,不等于马上就会显示,而是在队列中等待处理,虽然很快,但是如果立即调用fullScroll, view可能还没有显示出来,所以会失败
应该通过handler在新线程中更新
handler.post(new Runnable() {
@Override
public void run() {
scrollView.fullScroll(ScrollView.FOCUS_DOWN);
}
});
分享到:
相关推荐
Android 控制 ScrollView 滚动是 Android 开发中非常常见的问题,在开发中,我们经常需要更新列表,并将列表拉倒最底部,比如发表微博,聊天界面等等。在本文中,我们将介绍两种方法来控制 ScrollView 的滚动。 ...
OnScrollChangedListener提供了当ScrollView滚动时触发的方法,而OnGlobalLayoutListener则在视图树的布局完成时被调用,这在某些情况下可以用来检测ScrollView是否可见,从而决定是否开始监听滚动。 1. **...
这个代码可以判断ScrollView是否滑动到了最下边或者最上边,同理,HorizontalScrollView也可以判断是否滑动到最右边或者最左边。使用方法就是直接用这个自定义控件并实现里面的OnScrollListener就可以了,会自动复写...
在Android平台上,ScrollView是一个非常重要的布局组件,它允许用户在一个单一的垂直滚动视图中包含多个视图元素。ScrollView通常用于那些内容超过屏幕显示范围的情况,使得用户可以通过上下滑动来查看所有内容。本...
在Android开发中,ScrollView是常用的...总的来说,实现Android ScrollView的拉到最低和最顶端的反弹效果,主要涉及滚动监听、动画控制和视图操作。通过自定义监听器和动画,开发者可以为用户带来更丰富的交互体验。
本文主要探讨如何在Android中控制ScrollView滚动到底部以及如何禁止ScrollView自动滑动到底部,这对于构建交互丰富的界面,如聊天应用或动态列表,至关重要。 ### 一、控制ScrollView滚动到底部 有两种主要方法...
android scrollview 自动滚动到顶部或者底部 摘要: android scrollview 自动滚动到顶部或者底部 android scrollview 自动滚动到顶部或者底部 //设置默认滚动到顶部 scrollView.post(new Runnable() { @Override ...
5. **监听滚动事件**:可以通过添加OnScrollChangeListener监听ScrollView的滚动事件,实现自定义功能,例如在滚动到底部时加载更多数据。 6. **性能优化**:由于ScrollView会一次性加载所有子视图,所以对于内容...
在Android开发中,有时我们需要实现一个功能,即当用户滚动到ScrollView的底部时显示“加载更多”的按钮或触发加载新内容的逻辑。这个功能常见于聊天应用、新闻列表等需要分页加载数据的场景。本文将详细讲解如何在...
2. **复制内容**:当ScrollView滚动到底部或顶部时,我们需要复制内容到视图的开头或结尾。这样,当用户继续滚动时,可以看到“新的”内容,实际上是重复的原始数据。 3. **平滑过渡**:为了使滚动看起来平滑,我们...
ScrollView可以通过滚动到底部来获取全部内容,而ListView则需要遍历所有的Adapter视图项。以下是一个简单的ScrollView截图示例: ```java ScrollView scrollView = findViewById(R.id.scroll_view); Rect ...
在Android开发中,ScrollView是一个非常常见的布局控件,它允许用户在内容超出屏幕时通过滚动来查看所有内容。本文将深入探讨如何实现ScrollView的自动滑动功能,特别是在创建"关于我们"页面时,如何让ScrollView...
在Android开发中,ScrollView和ListView是两种常用的布局控件,它们各自有特定的用途,但有时在实际应用中,我们可能需要将它们结合使用,以实现特定的界面效果,比如在滚动时保持底部元素固定可见。这篇博文主要...
例如,当ScrollView滚动到底部时,可以自动加载ListView的更多数据。 现在,让我们看看提供的`ListViewTest`项目。这个项目可能包含了实现ScrollView和ListView共存的一个示例。导入Eclipse后,你可以查看代码,...
在Android开发中,自定义动画框架的实现是一个高级且实用的技术点,特别是在处理ScrollView滚动时的子控件动画。这不仅能够提升应用的用户体验,也能展现出开发者精湛的技术水平。以下将详细讲解如何实现一个自定义...
而“阻尼回弹”或“橡皮筋”效果则是指在ScrollView滚动到边界时,手指松开后,内容会像橡皮筋一样有一种自然的反弹效果,就像微信朋友圈那样,给人一种更加真实的交互体验。 实现这种效果的关键在于自定义一个...
在Android布局文件中,你可以将任何视图(如LinearLayout、RelativeLayout等)作为ScrollView的直接子元素,这样就可以实现整个视图的滚动效果。 在Android UI设计中,ScrollView常用于需要展示大量内容但又不能一...