高仿墨迹天气“我”页面
看到墨迹天气的“我”页面比较炫酷,处于好奇,就写了一个demo模仿一下。
1,实现效果
实现的效果分三个部分来说明,首先是下拉到最大高度,个人信息界面会产生一个回弹的效果,然后是滚动到顶部,个人信息界面收缩,并且产生登录按钮会重新出现,黄色的消息按钮会平移到最右边。最后是在这两种状态之间,控件会根据滚动的距离来判断变换成前面两种状态中的一种状态。
2,实现思路
首先根据三种状态切割UserInfoView控件的三种高度,
“userinfo_min_height” 100dp
“userinfo_common_height” 200dp
“userinfo_max_height” 300dp
分别为最大高度(弹性高度),普通高度和最小高度。
(1)弹性效果
@Override
public boolean onTouchEvent(MotionEvent ev) {
int scrollY = getScrollY();
switch (ev.getAction()) {case MotionEvent.ACTION_UP:if (scrollY < MIN_SCROLLY + (MAX_SCROLLY- MIN_SCROLLY)/4) {smoothScrollTo(0, MIN_SCROLLY);}else if(scrollY <MAX_SCROLLY){smoothScrollTo(0,MAX_SCROLLY);}return true;}return super.onTouchEvent(ev);
}
(2)中间过程动画处理
public void onChange(int range) {
mRange = range * STANDARD_RANGE / MAX_RANGE;
if (mRange <= HEAD_GONE_VALUE) {mRl_center.setVisibility(VISIBLE);int alpha = 255 - 255 * (mRange) / HEAD_GONE_VALUE;mIv_head.setAlpha(alpha);mTv_username.setTextColor(Color.argb(alpha, 255, 255, 255));float scale = (float) mRange / STANDARD_RANGE;mRl_center.setScaleX((1 - scale)*0.3f+0.7f);mRl_center.setScaleY((1 - scale)*0.3f+0.7f);// mTv_username.setScaleX(1-scale); // mTv_username.setScaleY(1-scale);} else {mRl_center.setVisibility(INVISIBLE);}if (mRange >= STANDARD_RANGE - HEAD_GONE_VALUE) {mTv_username_top.setVisibility(VISIBLE);int alpha = 255 * (STANDARD_RANGE - mRange) / HEAD_GONE_VALUE;mTv_username_top.setTextColor(Color.argb(255 - alpha, 255, 255, 255));} else {mTv_username_top.setVisibility(INVISIBLE);}int x = mRange * (MOVE_FINAL_X - MOVE_INIT_X) / STANDARD_RANGE + MOVE_INIT_X;mIv_share.setX(x);
}
下载地址:http://download.csdn.net/detail/huweigoodboy/9095985
高仿墨迹天气“我”页面相关推荐
- Android 高仿墨迹天气“我”页面
1,实现效果 转自:http://blog.csdn.net/huweigoodboy/article/details/47301197 实现的效果分三个部分来说明,首先是下拉到最大高度,个人信息界 ...
- Android之高仿墨迹天气桌面组件(AppWidgetProvider) .
Android之高仿墨迹天气桌面组件(AppWidgetProvider) . 点击:382 发布时间:2012-10-03 更多0 相信墨迹天气,大家都见过,他在时间显示和天气界面上,很吸引人,今天 ...
- 高仿墨迹天气 白天晴天
简介 一直对墨迹天气的绚丽的场景蛮感兴趣的,趁有时间,自己就高仿了其中的一个场景,其他场景呢,也是类似的,主要是写对象的AI也就是逻辑了. 先看看效果吧,动态效果比较坑,太模糊 高清图 代码分析 来看 ...
- (4.0.24.2)Android之桌面组件App Widget案例之高仿墨迹天气桌面组件
相信墨迹天气,大家都见过,他在时间显示和天气界面上,很吸引人,今天我就来模仿一下墨迹天气的桌面组件,但是由于谷歌在天朝频频被墙的缘故,所以我在今天测试的时候,解析xml文件的网页打不开,所以天气显示出 ...
- 高仿墨迹天气-天鹰气象
本项目主要设计了一个Android天气气象软件,从网络上获取相关天气信息后展示给用户,主要进行解析json.界面设计.动画优化等工作.所开发软件能够达到如下预期效果: (1)能够根据用 ...
- android高仿微信聊天页面,Android 高仿微信语音聊天页面高斯模糊(毛玻璃效果)
目前的应用市场上,使用毛玻璃效果的APP随处可见,比如用过微信语音聊天的人可以发现,语音聊天页面就使用了高斯模糊效果. 先看下效果图: 仔细观察上图,我们可以发现,背景图以用户头像为模板,对其进行了高 ...
- 墨迹天气php,Android_仿墨迹天气在Android App中实现自定义zip皮肤更换,在这里谈一下墨迹天气的换肤 - phpStudy...
仿墨迹天气在Android App中实现自定义zip皮肤更换 在这里谈一下墨迹天气的换肤实现方式,不过首先声明我只是通过反编译以及参考了一些网上其他资料的方式推测出的换肤原理, 在这里只供参考. 若大 ...
- Android 打造自己的个性化应用(四):仿墨迹天气实现--自定义扩展名的zip格式的皮肤...
在这里谈一下墨迹天气的换肤实现方式,不过首先声明我只是通过反编译以及参考了一些网上其他资料的方式推测出的换肤原理, 在这里只供参考. 若大家有更好的方式, 欢迎交流. 墨迹天气下载的皮肤就是一个zip ...
- android 自定义皮肤,仿墨迹天气在Android App中实现自定义zip皮肤更换
在这里谈一下墨迹天气的换肤实现方式,不过首先声明我只是通过反编译以及参考了一些网上其他资料的方式推测出的换肤原理, 在这里只供参考. 若大家有更好的方式, 欢迎交流. 墨迹天气下载的皮肤就是一个zip ...
最新文章
- Linux中V4L2使用
- flash绘图API:绘制植物
- 手动创建swap分区
- machine learning(15) --Regularization:Regularized logistic regression
- python 空值_数据库中的空值与NULL的区别以及python中的NaN和None
- struts2类型转换+校验
- 关于dialog的一点东西
- ubuntu 12.04 samba 服务器搭建
- 手机电池余量 java,用Java获取电池电量
- Django总叙(转)
- linux之rename命令
- python分行政区域汇总_python:编写行政区域三级菜单(day 1)
- Microsoft visual Studio 2010 下 DirectX SDK 安装配置详细过程
- Python自动化办公实战:包含Word、Excel、Pdf和Email邮件案例
- iOS定位获取城市名
- 申请《App电子版权认证证书》或纸质《计算机软件著作权证书》
- 汽车电瓶电压12V验证
- 安装OTRS工单管理系统
- uniapp实现app跳转app
- 360修改注册表.html,求360急速浏览器更改主页的批处理或者注册表!
热门文章
- Qt Linguist(语言家)与QtCreator集成
- web前端性能(一)
- FPGA HLS Matrix_MUL 矩阵乘法的计算与优化
- Shopro商城,基于Fastadmin和Uniapp进行开发的多平台(微信公众号、微信小程序、H5网页、Android-App、IOS-App)购物商城
- 代理PW6276,高效同步升压转换芯片
- 使用私服管理jar时,下载jar出现 lastUpdated问题 maven
- 职称计算机证书保质期多少年,请问PETS5证书取得后有效期是几年?谢谢!
- 10个Kubernetes发行版引领了容器革命
- iOS 后台运行一段时间(不是地图,音乐类型APP)
- 程序员专属对联,总有一款适合你...