Android带有粘性头部的ScrollView】的更多相关文章

前言,一天在点外卖的时候,注意到饿了么列表页的滑动效果不错,但是觉得其中的手势滑动还是挺复杂的,正好又碰到了在熟悉Touch事件的理解当中,所以就抽空对着饿了么的列表页面尝试写写这个效果 1.先贴一个实现的效果图 逻辑是当外部的ScrollView没有滑到底部的时候,往上滑动的时候,是滑动外部的ScrollView,当外部的ScrollView到达底部的时候,我们再网上滑,就是滑动内部的列表了,另外在左右滑动的时候,当左右滑动的距离大于minPageSlop的话,那么就执行左右滑动. 如下是仿饿…
最近一直在研究自定义控件,一般大致分为三种情况:自绘控件,组合控件,继承控件.接下来我们来看下继承控件.在此借鉴一位博主的文章,补充粘性的实现效果,并且加注自己的一些理解.大家也可以查看原文博客.android之自定义viewGroup仿scrollView详解 直接上代码,注释的比较详细.可以通过Log的信息来观察下滑动时候坐标的变化,加深理解. public class MyScrollViewGroup extends ViewGroup { private Context mContex…
滚动视图ScrollView由FarmeLayout派生而出,他就是一个用于为普通组件添加垂直滚动条的组件:ScrollView里面最多包含一个组件,而ScrollView的作用就是为该组件添加一个垂直滚动条.(ScrollView的作用和JScrollPane非常相似,他们甚至不能被称为真正的容器.他们只是为其他的容器添加滚动条.)默认的情况下ScrollView只是为其他组件添加垂直滚动条,如果应用需要水平的滚动条,则可以借助于另一个组件:HorizontalScrollView来实现.Ho…
Android仿IOS回弹效果  ScrollView回弹 总结 应项目中的需求  须要仿IOS 下拉回弹的效果 , 我在网上搜了非常多 大多数都是拿scrollview 改吧改吧 试了一些  发现总有点小问题 以下的代码是我对大家公布的做了点小改动   认为没太大问题 package com.example.myscrollview; import android.content.Context; import android.graphics.Rect; import android.uti…
一个手机的屏幕大小是有限的,那么我要显示的东西显示不下怎么办?这就会使用到ScrollView来进行滚动显示,他的定义如下: 可以看到ScrollView是继承于FrameLayout的,所以ScrollView也可以当做一个布局来看,而在后面的例子也能看出ScrollView确实是有布局管理器一样的效果.因为ScrollView有两种(一种是横的HorizontalScrollView,一种是垂直的ScrollView,为了区分,后面就称其为VerticalScrollView),所以今天的例…
android带有文字的图片按钮的两种实现方式 1). TextView对Button用相对布局,这要要求按钮的背景图片要留下空白位置给文字.这种方式开发比较简单,适合做一些风格一致的Button. <RelativeLayout android:id="@+id/relative" android:layout_width="wrap_content" android:layout_height=" wrap_content " andr…
有些项目,需要让控件或者布局进行水平和垂直同时能拖拽,当然,ScrollView 和 HorizontalScrollView 的结合写法是一种写法.但是,这么写用户体验效果不佳,会有迟钝感,因此推荐下面的写法.继承之FrameLayout,代码是在网上找的. package com.test; import java.util.List; import android.content.Context; import android.graphics.Rect; import android.u…
现在很多App都实现了这个功能,例如新浪微博评论页面的评论.转发.赞的数字可以固定在屏幕上方.我个人很喜欢这种设计,所以利用一点空余时间简单实现了一个类似的功能. 先来看一下上面这张图的效果 这个是新浪微博的一个页面,整体布局大致分了三块:正文内容.转发评论赞的数字条.评论列表 其中数字条是可以跟着ScrollView一起滑动,但在滑到最顶部时固定在最上面,而下面的评论内容可以继续滑动. 下面是自己实现的效果图: 实现原理: 当滚动条划过头部时,把需要固定的头部从父布局中移除,然后添加到最外层布…
想象一下你拿着放大镜贴很近的看一副巨大的清明上河图, 那放大镜里可以看到的内容是很有限的, 而随着放大镜的上下左右移动,就可以看到不同的内容了 android中手机屏幕就相当于这个放大镜, 而看到的内容是画在一个无限大的画布上~ 画的内容有限, 而手机屏幕可以看到的东西更有限~ 但是背景画布是无限的 如果把放大镜的移动比作scroll操作,那么可以理解,这个scroll的距离是无限制的~ 只不过scroll到有图的地方才能看到内容 参考ScrollView理解, 当child内容过长时,有一部分…
在ScrollView中嵌套使用ListView,ListView只会显示一行到两行的数据.起初我以为是样式的问题,一直在对XML文件的样式进行尝试性设置,但始终得不到想要的效果.后来在网上查了查,ScrollView和ListView两个View都有滚动的效果,在嵌套使用时起了冲突,一般不建议两者套用. 下面说说具体解决方案.方案的主要思路就是根据ListView子项重置其高度. 首先,ListView不能直接用,要自定义一个,然后重写onMeasure()方法: import android…
在做分享功能的时候,需要截取全屏内容,一屏展示不完的内容,一般我们会用到 ListView 或 ScrollView 一: 普通截屏的实现 获取当前Window 的 DrawingCache 的方式,即decorView的DrawingCache /** * shot the current screen ,with the status but the status is trans * * * @param ctx current activity */ public static Bitm…
ScrollView是解决布局过长的情况下使用,一遍其下面会有个顶部布局,我项目里面是RelativeLayout,但是RelativeLayout无论设置 android:layout_height="wrap_content" 还是 android:layout_height="match_content" 都无法解决RelativeLayout填充ScrollView整过view的情况,后来百度了下,发现在scrollview添加如下android:fillV…
ScrollView(滚动条)的讲解: 一.对于ScrollView滚动条还是很好理解的,共有两种水平和垂直,ScrollView和HorizontalScrollview,这个里面不知道该总结写什么,说说几个方法吧 scrollView.fullScroll(ScrollView.FOCUS.DOWN):回到低部 scrollView.fullScroll(ScrollView.FOCUS.UP):回到顶部 scrollView.setVerticalSrcollBarEnabled(fals…
想象一下你拿着放大镜贴很近的看一副巨大的清明上河图, 那放大镜里可以看到的内容是很有限的, 而随着放大镜的上下左右移动,就可以看到不同的内容了 android中手机屏幕就相当于这个放大镜, 而看到的内容是画在一个无限大的画布上~ 画的内容有限, 而手机屏幕可以看到的东西更有限~ 但是背景画布是无限的 如果把放大镜的移动比作scroll操作,那么可以理解,这个scroll的距离是无限制的~ 只不过scroll到有图的地方才能看到内容 参考ScrollView理解, 当child内容过长时,有一部分…
AndroidStudio给出的模板里面只有列表点击事件,即实现OnNavigationItemSelectedListener中的onNavigationItemSelected方法,根据item的id判断是点击哪个item.但是,模板没有给出头部的点击事件. 方法是动态添加head,具体代码如下: //NavigationView头部点击事件绑定 View drawview = navigationView.inflateHeaderView(R.layout.nav_header_main…
使用滚动条容易带来一个后果,就是高度和宽度不受控制了, 之前就遇到一个已经有ScrollView的页面需要加个列表listView,然后就发现listView只看到前两行数据,下面的看不到,拉滚动条也只是滚动整个页面,而不是listview. 方法1:让外面的ScollView交出滚动权限,因为listview自身就有滚动条. 方法2:通过计算装在内容后的list高度,然后设置高度. 只要在你给你的listView设置适配器后,再重新设置listview的高度,思路是,算出每行的高度,给list…
package com.example.test.util; import android.view.View; import android.view.ViewGroup; import android.view.ViewGroup.LayoutParams; import android.widget.ListAdapter; import android.widget.ListView; public class UtilityUtil { /** * 手动设置listview的高度 *…
实现方法是将显示的内容最外层的ViewGroup做成一个LinearLayout,并扩展它,使其可以上下拖动. 重点是实现View的onTouch方法. 下载:http://files.cnblogs.com/wuyou/android%E4%B8%8A%E4%B8%8B%E6%8B%89%E5%88%B7%E6%96%B0.zip…
半年前,那时候我还是个大四的学生,每天都在找工作度过,想去北京体验一下蚁族生活,奋然离开了济南,哎...在济南我们学校还是数得着的好学校,去了北京就什么都不是了,一切的辛酸仅仅有自己知道,那时候的我仅仅找开发方面的工作,也第一次体会到了女生的劣势... 在找工作的过程中,大部分都是实习,跟我的预想有点冲突,去了XX集团,人家仅仅要211,985的,没办法,去了XX工厂收到了类似通讯录的这么个任务... 废话少说,開始今天的主题 在非常多应用中,看到这种listview:listview滑动过程中…
但是以上两种方式onDrawOver()方法实现逻辑对初次查看该段代码要花时间理解.下面代码逻辑(原理一样,同样参考大神代码)相对清晰,易理解 public class StickyDecoration extends RecyclerView.ItemDecoration { ...... @Override public void onDrawOver(Canvas c, RecyclerView parent, RecyclerView.State state) { super.onDra…
目录 文章 一开始 HOWTO文档 网站/博客 高级 视频 组件 演示 UI 材料设计 图片 地图 图表 导航 验证 文字和富文本 分析.流量统计 自动构建 风格样式 媒体 音频 视频 语音 存储 获利 模板 插件 服务 扫码器 蓝牙 / NFC / 信号灯 框架 Redux / ELM / 依赖注入 动画 游戏引擎 其他 开源App 游戏 基础设施 社区 好玩的 福利 文章 一开始 Google IO 2018 [1K] - 构建美观,灵活的用户界面. Zero to One [2.7K] -…
作者:程序员小冰,GitHub主页:https://github.com/QQ986945193 新浪微博:http://weibo.com/mcxiaobing 首先给大家看一下我们今天这个最终实现的效果图: 这个是ios中的反弹效果.当然我们安卓中如果想要实现这种效果, 感觉不会那么生硬,滚动到底部或者顶部的时候.当然 使用scrollview是无法实现的.所以我们需要新建一个view继承ScrollView package davidbouncescrollview.qq986945193…
在ScrollView中嵌套使用ListView,ListView只会显示一行多一点.两者进行嵌套,即会发生冲突.由于ListView本身都继承于ScrollView,一旦在ScrollView中嵌套ScrollView,那么里面的ScrollView高度计算就会出现问题.我们也就无法得到想要的效果.下面进入正题,我们将讨论ScrollView中嵌套ListView情况.核心解决方案: 重写ListView或者GridView的OnMesure 方法.对GridView同样适用. protect…
字符串资源文件strings.xml: <resources> <string name="hello">主类main</string> <string name="app_name">选项</string> <string name="music">音乐</string> <string name="sing">唱歌</st…
今天在布局页面的时候后犯了难,我要显示的内容一个页面展示不完,怎么办呢? 于是随便找了个app点开一看,哎呀原来还能翻动啊!这是啥布局呢?原来是ScrollView 官方api相关的内容全是英文,这可让三级b的我头大了好一通,不过没关系,不是有国内大神嘛 原来这个布局用法还真是粗暴: 加上标签<scrollview .....></scrollview> 就能用了,不过在宽度和高度的设置方面要注意,高度是万万不能是match_parent的 因为如果这样你会发现额啥都没了.这也很好…
1.简介 当内容无法全部显示时,需要采取滚动的方式获取其与内容.其中,ScrollView为垂直滚动控件,HorizontalScrollView为水平滚动控件. 2.构建…
 Android RecyclerView添加Header头部 Android RecyclerView不像以前的ListView那样直接添加头部,如果要给RecyclerView增加头部,则需要自己写或者使用第三方开源项目.RecyclerViewHeader是github上的一个开源项目,旨在为Android RecyclerView增加头部,其在github上的项目主页是:https://github.com/blipinsk/RecyclerViewHeader RecyclerVi…
Found the solution myself in the end. The problem was not with the LinearLayout,  but with the ScrollView (seems weird, considering the fact that the ScrollView was expanding, while the LinearLayout wasn't). The solution was to use android:fillViewpo…
本人菜鸟一名,最近工作了,开始学习Android. 最近在做项目的时候,UX给了个design,大概就是下拉刷新的ListView中嵌套了ScrollView,而且还要在ScrollView中添加动画. 在ListView中嵌套使用ScrollView这种方式是不推荐使用的,但是为了满足UX的设计(UX.QA至上,不然BUG绝逼要来). 为了解决这个问题,菜鸡开始网上查阅资料,但是搜出来的大多是ListView的Item显示不全等解决方案,并没有解决Scroll事件冲突.通过请教同事,最终使用v…
以前写的Scrollview ,通常都是与Listview结合使用,不过因复杂可能新手不太懂,网上有许多文章,这里就不贴那个了DEMO了.  写了个简单的供大家参考:这样比较好理解(需要复杂的可以Q我,这里的博客不经常上的) 出处:http://blog.csdn.net/djy1992/article/details/9223019 首先是JAVA主代码: package com.dudu.djy;      import android.app.Activity;    import and…