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

品牌网站建设流程建设一个小说网站的步骤

品牌网站建设流程,建设一个小说网站的步骤,哈尔滨建筑信息网,麻豆秋白色蕾丝半身裙Scroller VelocityTracker VelocityTracker 是一个速度跟踪器#xff0c;通过用户操作时#xff08;通常在 View 的 onTouchEvent 方法中#xff09;传进去一系列的 Event#xff0c;该类就可以计算出用户手指滑动的速度#xff0c;开发者可以方便地获取这些参数去做其他…Scroller VelocityTracker VelocityTracker 是一个速度跟踪器通过用户操作时通常在 View 的 onTouchEvent 方法中传进去一系列的 Event该类就可以计算出用户手指滑动的速度开发者可以方便地获取这些参数去做其他事情。或者手指滑动超过一定速度并松手就触发翻页。 CustomViewPager package com.flannery.androidtools.widgets;import android.content.Context; import android.graphics.Color; import android.util.AttributeSet; import android.util.Log; import android.view.MotionEvent; import android.view.VelocityTracker; import android.view.View; import android.view.ViewGroup; import android.widget.LinearLayout; import android.widget.Scroller;/*** VelocityTracker is a concept commonly used in computer graphics, physics simulations, and user interface frameworks to calculate the velocity of an object or pointer based on its position over time. Its particularly useful for creating responsive and realistic interactions in applications like games or touch-based user interfaces.* In the context of Android development, VelocityTracker refers to a class provided by the Android framework. Its used to track the velocity of motion events, such as touch events, on the screen. This can be useful for implementing various gestures and animations that require knowledge of how quickly a user is moving their finger across the screen.* Heres a basic overview of how VelocityTracker works in Android:* Initialization: To use VelocityTracker, you need to create an instance of it and associate it with a specific motion event, typically the ACTION_MOVE events in the case of touch gestures.* Tracking: As the user interacts with the screen, you feed the VelocityTracker instance with the motion events, which contain the current position of the pointer. The VelocityTracker class calculates the velocity based on the change in position over time.* Velocity Retrieval: After youve collected enough motion events, you can retrieve the calculated velocity using the computeCurrentVelocity(int units) method. The units parameter allows you to specify the desired units for the velocity, such as pixels per second.** https://www.nhooo.com/note/qadf7m.html*/ public class CustomViewPager extends ViewGroup {private static final String TAG CustomViewPager.class.getSimpleName();private int screenWidth;private int screenHeight;private int lastMoveX 0;private Scroller scroller; // 滚动计算器private VelocityTracker velocityTracker; // 速度跟踪器private int MAX_VELOCITY 600;private int curScreen 0;public CustomViewPager(Context context) {super(context);init(context);}public CustomViewPager(Context context, AttributeSet attrs) {super(context, attrs);init(context);}public CustomViewPager(Context context, AttributeSet attrs, int defStyleAttr) {super(context, attrs, defStyleAttr);init(context);}private void init(Context context) {scroller new Scroller(context); // 初始化滚动计算器// 添加三个ViewLinearLayout layout1 new LinearLayout(context);layout1.setBackgroundColor(Color.RED);addView(layout1);LinearLayout layout2 new LinearLayout(context);layout2.setBackgroundColor(Color.GREEN);addView(layout2);LinearLayout layout3 new LinearLayout(context);layout3.setBackgroundColor(Color.BLUE);addView(layout3);}Overridepublic boolean onTouchEvent(MotionEvent event) {Log.i(TAG, onTouchEvent: onTouchEvent event);if (velocityTracker null) {velocityTracker VelocityTracker.obtain(); // 初始化滚动速度跟踪器}velocityTracker.addMovement(event);int x (int) event.getX();switch (event.getAction()) {case MotionEvent.ACTION_DOWN:lastMoveX x; // 记录下按下的点break;case MotionEvent.ACTION_MOVE:int dis lastMoveX - x; // 移动的偏移量Log.i(TAG, onTouchEvent: dis dis);scrollBy(dis, 0); // 位置滚动lastMoveX x;break;case MotionEvent.ACTION_UP:velocityTracker.computeCurrentVelocity(1000); // 计算需要的位置int velocityX (int) velocityTracker.getXVelocity(); // X轴上的速度if (velocityX MAX_VELOCITY curScreen 0) {jump2Screen(curScreen - 1);} else if (velocityX -MAX_VELOCITY curScreen getChildCount() - 1) {jump2Screen(curScreen 1);} else {int screen (getScrollX() screenWidth / 2) / screenWidth;jump2Screen(screen);}if (velocityTracker ! null) {velocityTracker.recycle();velocityTracker null;}break;}return true;}public void jump2Screen(int screen) {curScreen screen;if (curScreen 0) {curScreen 0;}if (curScreen getChildCount() - 1) {curScreen getChildCount() - 1;}int dis curScreen * screenWidth - getScrollX();scroller.startScroll(getScrollX(), 0, dis, 0); // 开始滚动invalidate();}Overridepublic void computeScroll() {super.computeScroll();if (scroller.computeScrollOffset()) { // 是否处于偏移量的位置scrollTo(scroller.getCurrX(), 0); // 滚动到指定的位置postInvalidate(); // 继续滚动}}Overrideprotected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {super.onMeasure(widthMeasureSpec, heightMeasureSpec);screenWidth MeasureSpec.getSize(widthMeasureSpec);screenHeight MeasureSpec.getSize(heightMeasureSpec);setMeasuredDimension(screenWidth, screenHeight);// 给子View设置大小for (int i 0; i getChildCount(); i) {View view getChildAt(i);view.measure(screenWidth, screenHeight);}}Overrideprotected void onLayout(boolean changed, int l, int t, int r, int b) {int leftWidth 0;// 给子View排班for (int i 0; i getChildCount(); i) {View view getChildAt(i);view.layout(leftWidth, 0, leftWidth screenWidth, screenHeight);leftWidth leftWidth screenWidth;}} }资料 Android scrollTo、scrollBy、以及scroller详解 Android Scroller详解 Android自定义ViewPager实例 Android View 的滚动原理和 Scroller、VelocityTracker 类的使用
http://www.dnsts.com.cn/news/256452.html

相关文章:

  • 网站建设 通知做vi的图有网站吗
  • php网站开发过程网站建设header
  • 建设部网站安全考核证书查询登封建设局网站
  • 嘉兴做网站优化的公司系统数据库与建设网站
  • 在线作图免费网站谷歌海外广告投放推广
  • 响应式网站建设智能优化工信部网站备案电话
  • 遵义市住房和城乡建设局官方网站传奇网站装备动态图怎么做
  • 流量与网站如何做网站海报
  • 中国空间站实时位置管理外贸网站模板
  • 经典网站模板像淘宝购物网站建设需要哪些专业人员?
  • 做网站 用什么兼容网站拖拽
  • 建设什么样的网站月入一万建设工程施工合同实例
  • 如何搭建app开发平台seo推广培训课程
  • 做ppt的背景图片网站网站安全检测产品优势
  • wordpress 加密 插件北京搜索引擎优化seo
  • 在网站上做的图表怎么放到PPT里面做网站爱
  • 做网站有地区差异吗查询网入口
  • 北京企业模板建站有哪些北京网站设计网站公司
  • 区域网站查询优跃达官网网站建设项目
  • 网站开发自学网站wordpress原生评论
  • 如何做学校的网站设计高平网站建设
  • 黑龙江省建设协会网站首页做外贸的如何上国外网站
  • 全国企业信息查询网站网站同时使用asp php
  • 公司网站页脚网页浏览器
  • 武义县网站建设建筑工程素材资源网站
  • 合肥个人做网站南雄网站建设
  • wordpress网站多语言移动网可以上的网站是什么样子的
  • 网站360自然排名要怎么做德州seo整站优化
  • 设计网站怎么做设计方案范文
  • 怎样自己做网络推广网站广东三库一平台登录