Android 滚动悬停需求的简单实现
来源:互联网 发布:女人自慰调查数据 编辑:程序博客网 时间:2024/06/07 10:14
Android 滚动悬停需求的简单实现
有一种需求,需要某些按钮或者信息栏,随着界面的滚动,悬停在屏幕上方,即不随着其他信息一起隐藏,对于这种需求,有一个简单的实现,就是设置两个一样的控件,然后判断原来随着滚动的那个控件的上边缘是否被隐藏了,如果是,则在悬浮位置显示第二个控件(又或者只用一个控件,第一个隐藏了自后就把它从滚动的容器中remove出来,然后添加到新的位置去)。
下面来简单展示下实现方法:
首先实现一个监听容器类,ListeningScrollView
public class ListeningScrollView extends ScrollView { private OnScrollChangedListener onScrollChangedListener; public ListeningScrollView(Context context) { super(context); } public ListeningScrollView(Context context, AttributeSet attrs) { super(context, attrs); } public ListeningScrollView(Context context, AttributeSet attrs, int defStyle) { super(context, attrs, defStyle); } public interface OnScrollChangedListener { public void onScrollChanged(int x, int y, int oldxX, int oldY); } /** * * @param onScrollChangedListener */ public void setOnScrollListener(OnScrollChangedListener onScrollChangedListener) { this.onScrollChangedListener = onScrollChangedListener; } @Override protected void onScrollChanged(int x, int y, int oldX, int oldY) { super.onScrollChanged(x, y, oldX, oldY); if (onScrollChangedListener != null) { onScrollChangedListener.onScrollChanged(x, y, oldX, oldY); } }}
这个类为scrollView加了一个OnScrollChangedListener 方便处理滚动变化时的事件
具体使用时就很简单了
final ListeningScrollView vScroll = (ListeningScrollView) findViewById(R.id.scrollview);vScroll.setOnScrollListener(new OnScrollChangedListener() { @Override public void onScrollChanged(int x, int y, int oldxX, int oldY) { vLayoutFloat.setVisibility(y > vLayout.getTop() ?View.VISIBLE : View.GONE); }});
两个layout功能一样,这里是当vLayout的上边缘,小于scrollview的上边缘,即被隐藏的情况下,悬浮的vLayoutfloat则显示出来,当vLayout滚后回来后,又隐藏它。
文章为原创,转载请注明出处。
0 0
- Android 滚动悬停需求的简单实现
- 实现简单的滑动悬停效果
- Android视图的顶部悬停的实现
- android简单实现无限滚动,自动滚动的ViewPager
- jQuery的滚动悬停效果
- Android利用SpannableString实现简单的富文本需求。
- 最简单的鼠标悬停,实现下拉列表功能 bootstrap
- Android ScrollView滚动实现大众点评、网易云音乐评论悬停效果
- 简单的鼠标悬停效果
- 简单的鼠标悬停效果
- 滚动状态栏的简单实现
- 实现简单的图片滚动
- 图片水平滚动,当鼠标悬停的时候暂停滚动
- Android ListView 弹性滚动简单实现
- Android开发-ScrollView简单实现滚动-AndroidStudio
- 使用jquery实现文字滚动,鼠标悬停效果
- Android中滚动的实现
- Android 滚动抽奖的实现
- cookie 与 session
- Android 拼音处理工具类
- Android 流式布局实现方法
- C标准库函数strtok使用注意事项
- Maven3 用Maven创建第一个web项目(2)servlet演示
- Android 滚动悬停需求的简单实现
- x86架构中特权级
- 每日一搏
- MULE ESB webservice jms服务(五)
- Android中moveTo、lineTo、quadTo、cubicTo、arcTo详解(实例)
- Android笔记---- Android应用界面开发(2)
- Android使用Path自定义波浪加载View
- Mapped Statements collection does not contain value for
- Android笔试面试记录