当前位置: 首页 > news >正文

vue做企业网站搞外贸一般是干什么的

vue做企业网站,搞外贸一般是干什么的,湖南做旅游网站哪家最好,sql网站发布流程背景在很多项目中我们都会用到ScrollView这个控件#xff0c;因为ScrollView能够在屏幕内容多时下上滑动以适配加载的内容。但是ScrollView滑动时效果感觉太死板了#xff0c;这个时候我们如果给它添加一个回弹的动画效果#xff0c;会让界面交互更加舒服#xff0c;提升用…背景在很多项目中我们都会用到ScrollView这个控件因为ScrollView能够在屏幕内容多时下上滑动以适配加载的内容。但是ScrollView滑动时效果感觉太死板了这个时候我们如果给它添加一个回弹的动画效果会让界面交互更加舒服提升用户体验效果。自定义ScrollView1、创建一个类继承ScrollView并重写相应的构造函数public class ZoomInScrollView extends ScrollView {public ZoomInScrollView(Context context) {this(context, null);}public ZoomInScrollView(Context context, AttributeSet attrs) {this(context, attrs, 0);}public ZoomInScrollView(Context context, AttributeSet attrs, int defStyleAttr) {super(context, attrs, defStyleAttr);}}2、获取默认第一个子View即我们的头部mHeaderViewOverrideprotected void onFinishInflate() {super.onFinishInflate();// 设置不可过度滚动否则上移后下拉会出现部分空白的情况setOverScrollMode(OVER_SCROLL_NEVER);View child getChildAt(0);if (child ! null child instanceof ViewGroup) {// 获取默认第一个子ViewViewGroup vg (ViewGroup) getChildAt(0);if (vg.getChildAt(0) ! null) {mHeaderView vg.getChildAt(0);}}}3、获取头部View的长和宽Overrideprotected void onSizeChanged(int w, int h, int oldw, int oldh) {super.onSizeChanged(w, h, oldw, oldh);mHeaderWidth mHeaderView.getMeasuredWidth();mHeaderHeight mHeaderView.getMeasuredHeight();}4、设置上下滑动标记Overridepublic boolean dispatchTouchEvent(MotionEvent ev) {currentX ev.getX();currentY ev.getY();switch (ev.getAction()) {case MotionEvent.ACTION_MOVE:distanceX currentX - lastX;distanceY currentY - lastY;if (Math.abs(distanceX) Math.abs(distanceY) Math.abs(distanceY) 12) {upDownSlide true;}break;}lastX currentX;lastY currentY;if (upDownSlide mHeaderView ! null) {commOnTouchEvent(ev);}return super.dispatchTouchEvent(ev);}5、监听触摸事件private void commOnTouchEvent(MotionEvent ev) {switch (ev.getAction()) {case MotionEvent.ACTION_UP:// 手指离开后头部恢复图片mIsPulling false;replyView();clear();break;case MotionEvent.ACTION_MOVE:if (!mIsPulling) {// 第一次下拉if (getScrollY() 0) {// 滚动到顶部时记录位置否则正常返回mLastY (int) ev.getY();} else {break;}}int distance (int) ((ev.getY() - mLastY) * mScaleRatio);// 当前位置比记录位置要小时正常返回if (distance 0) {break;}mIsPulling true;setZoom(distance);break;}}6、头部缩放private void setZoom(float s) {float scaleTimes (float) ((mHeaderWidth s) / (mHeaderWidth * 1.0));// 如超过最大放大倍数则直接返回if (scaleTimes mScaleTimes) {return;}ViewGroup.LayoutParams layoutParams mHeaderView.getLayoutParams();layoutParams.width (int) (mHeaderWidth s);layoutParams.height (int) (mHeaderHeight * ((mHeaderWidth s) / mHeaderWidth));// 设置控件水平居中((MarginLayoutParams) layoutParams).setMargins(-(layoutParams.width - mHeaderWidth) / 2, 0, 0, 0);mHeaderView.setLayoutParams(layoutParams);}7、回弹动画private void replyView() {final float distance mHeaderView.getMeasuredWidth() - mHeaderWidth;// 设置动画ValueAnimator anim ObjectAnimator.ofFloat(distance, 0.0F).setDuration((long) (distance * mReplyRatio));anim.addUpdateListener(new ValueAnimator.AnimatorUpdateListener() {Overridepublic void onAnimationUpdate(ValueAnimator animation) {setZoom((Float) animation.getAnimatedValue());}});anim.start();}通过以上方式就可以简单的实现我们想要的效果了项目地址 ☞ 传送门以上就是本文的全部内容希望对大家的学习有所帮助也希望大家多多支持脚本之家。
http://www.yutouwan.com/news/80143/

相关文章:

  • 网站建设带后台怎样做自己的网页
  • 广州市网站网站前端程序制作开发
  • 中国亚马逊跨境电商江苏seo团队
  • 网站风格介绍怎么一个网站做的竞价
  • 怎样用FW做网站的首页做视频网站要申请什么许可证
  • 网站从新建设影响收录么男的和女的做那种事情网站
  • 佛山市门户网站建设公司京东网上商城官网下载
  • 景区网站建设的重要性wordpress控件图标
  • 自适应网站模板公司网址查询域名
  • 盐城北京网站建设新品发布会主题大全
  • 网站怎么做充值系统下载wordpress页面布局
  • 帝国网站免费模板品牌网站部门建设方案
  • 潍坊手机网站建设公司深圳网站建设方案外包
  • 文章类网站源码手机网页版登录入口
  • 湖南网站推广建设公司北京专业seo
  • 2019年建设什么网站好给wordpress公告
  • 莆田网站建设建站系统网页界面图
  • 一级做c爱片的网站新东方考研培训机构官网
  • 天津河东区网站建设wordpress同步发帖
  • 宁夏城乡和住房建设厅网站wordpress 如wp_query
  • 莱芜做网站优化网站推广怎么样
  • 秦皇岛做网站外包电子商务主要是什么
  • 本地集团网站建设做网站的公司那家好。
  • 如何用自己公司网站做邮箱国投集团网站开发
  • 怎样做号网站优化哪个网站可以免费学编程
  • 漳州建设网站wordpress pdf预览
  • 网站建设需求说明书怎么写银川360推广 网站建设
  • asp.net做网站吗虚拟主机购买网站
  • 学网站建设 去那里文登区住房和城乡建设局网站
  • dw可以做有后台的网站么用ps给旅游网站做前端网页