Android 实现局部图片滑动指引效果

而ViewPager的事件监听器代码如下:
// 滑动页面更改事件监听器
private class ImagePageChangeListener implements OnPageChangeListener {
@Override
public void onPageScrollStateChanged(int arg0) {
// TODO Auto-generated method stub
}
@Override
public void onPageScrolled(int arg0, float arg1, int arg2) {
// TODO Auto-generated method stub
}
@Override
public void onPageSelected(int index) {
pageIndex = index;
slideLayout.setPageIndex(index);
tvSlideTitle.setText(parser.getSlideTitles()[index]);
for (int i = 0; i < imageCircleViews.length; i++) {
imageCircleViews[index].setBackgroundResource(R.drawable.dot_selected);
if (index != i) {
imageCircleViews[i].setBackgroundResource(R.drawable.dot_none);
}
}
}
}
事件监听器中主要在回调函数onPageSelected(int index)中变换标题和圆点图片。
由于滑动区域下方的内容是不变的,也就是不滑动的,正如在我在上面提到的,内容可能会超出屏幕的范围,所以我们需要使用ScrollView以便内容过多的时候显示滚动条。可能一部分朋友会想到,要显示滚动条我也知道使用ScrollView。我想在这里说的是,这里即有ViewPager控件,也有ScrollView,如果两个View单独使用不会有什么问题。然而不幸的是,两个一结合使用就出现了问题。什么问题呢?就是在滑动图片时出现反弹的现象,就是在滑动时很难滑动,我滑动时感觉很吃力,而且图片就是滑动不过去,这个就是两个View之间的冲突,因为两个View都是滑动的View,都会计算相应的位置和判断相应的距离。
我们如何来解决这个冲突呢?这里我们需要重写ScrollView的onInterceptTouchEvent()回调函数。需要在程序里新加一个ScrollViewExtend类并继承自ScrollView,下面是其代码:
package com.image.indicator.control;
import android.content.Context;
import android.util.AttributeSet;
import android.view.MotionEvent;
import android.widget.ScrollView;
/**
* 能够兼容ViewPager的ScrollView
* @Description: 解决了ViewPager在ScrollView中的滑动反弹问题
* @File: ViewPagerCompatScrollView.java
* @Package com.image.indicator.control
* @Author Hanyonglu
* @Date 2012-6-18 下午01:34:50
* @Version V1.0
*/
public class ScrollViewExtend extends ScrollView {
// 滑动距离及坐标
private float xDistance, yDistance, xLast, yLast;
public ScrollViewExtend(Context context, AttributeSet attrs) {
super(context, attrs);
}
@Override
public boolean onInterceptTouchEvent(MotionEvent ev) {
switch (ev.getAction()) {
case MotionEvent.ACTION_DOWN:
xDistance = yDistance = 0f;
xLast = ev.getX();
yLast = ev.getY();
break;
case MotionEvent.ACTION_MOVE:
final float curX = ev.getX();
final float curY = ev.getY();
xDistance += Math.abs(curX - xLast);
yDistance += Math.abs(curY - yLast);
xLast = curX;
yLast = curY;
if(xDistance > yDistance){
return false;
}
}
return super.onInterceptTouchEvent(ev);
}
}
感谢阅读,希望能帮助到大家,谢谢大家对 本站的支持!
# Android
# 实现局部图片滑动指引效果
# 图片滑动指引效果
# Android自定义ImageView实现在图片上添加图层效果
# Android中从图库中选取图片实例详解
# Android ViewPager实现图片轮翻效果
# Android编程实现支持拖动改变位置的图片中叠加文字功能示例
# Android中超大图片无法显示的问题解决
# Android自定义组件获取本地图片和相机拍照图片
# android自定义ImageView仿图片上传示例
# Android ViewPager加载图片效果
# Android百度地图应用之图层展示
# Android编程实现图片背景渐变切换与图层叠加效果
# 的是
# 回调
# 滚动条
# 都是
# 有什么
# 我也
# 我想
# 也有
# 在我
# 就是在
# 很难
# 在这
# 希望能
# 重写
# 在上面
# 谢谢大家
# 什么问题
# 里说
# 出现了
# 圆点
相关文章:
Android使用GridView实现日历的简单功能
兔展官网 在线制作,怎样制作微信请帖?
北京制作网站的公司排名,北京三快科技有限公司是做什么?北京三快科技?
html制作网站的步骤有哪些,iapp如何添加网页?
如何快速打造个性化非模板自助建站?
MySQL查询结果复制到新表的方法(更新、插入)
制作网站公司那家好,网络公司是做什么的?
网站制作价目表怎么做,珍爱网婚介费用多少?
如何自定义建站之星网站的导航菜单样式?
小视频制作网站有哪些,有什么看国内小视频的网站,求推荐?
c++怎么使用类型萃取type_traits_c++ 模板元编程类型判断【方法】
香港服务器选型指南:免备案配置与高效建站方案解析
微信小程序制作网站有哪些,微信小程序需要做网站吗?
北京网站制作费用多少,建立一个公司网站的费用.有哪些部分,分别要多少钱?
高性价比服务器租赁——企业级配置与24小时运维服务
如何快速搭建高效可靠的建站解决方案?
小建面朝正北,A点实际方位是否存在偏差?
如何在阿里云部署织梦网站?
湖南网站制作公司,湖南上善若水科技有限公司做什么的?
免费制作小说封面的网站有哪些,怎么接网站批量的封面单?
潮流网站制作头像软件下载,适合母子的网名有哪些?
如何在建站之星网店版论坛获取技术支持?
如何在西部数码注册域名并快速搭建网站?
C++ static_cast和dynamic_cast区别_C++静态转换与动态类型安全转换
北京网页设计制作网站有哪些,继续教育自动播放怎么设置?
定制建站流程步骤详解:一站式方案设计与开发指南
制作证书网站有哪些,全国城建培训中心证书查询官网?
如何在Golang中处理模块冲突_解决依赖版本不兼容问题
营销式网站制作方案,销售哪个网站招聘效果最好?
英语简历制作免费网站推荐,如何将简历翻译成英文?
哪家制作企业网站好,开办像阿里巴巴那样的网络公司和网站要怎么做?
大连企业网站制作公司,大连2025企业社保缴费网上缴费流程?
建站主机服务器选购指南:轻量应用与VPS配置解析
建站主机CVM配置优化、SEO策略与性能提升指南
如何使用Golang安装API文档生成工具_快速生成接口文档
儿童网站界面设计图片,中国少年儿童教育网站-怎么去注册?
上海网站制作网页,上海本地的生活网站有哪些?最好包括生活的各个方面的?
上海网站制作开发公司,上海买房比较好的网站有哪些?
个人摄影网站制作流程,摄影爱好者都去什么网站?
制作网站的公司有哪些,做一个公司网站要多少钱?
建站主机选哪家性价比最高?
C++如何编写函数模板?(泛型编程入门)
,在苏州找工作,上哪个网站比较好?
教育培训网站制作流程,请问edu教育网站的域名怎么申请?
实惠建站价格推荐:2025年高性价比自助建站套餐解析
如何选择靠谱的建站公司加盟品牌?
如何在香港服务器上快速搭建免备案网站?
教学论文网站制作软件有哪些,写论文用什么软件
?
如何确保西部建站助手FTP传输的安全性?
*请认真填写需求信息,我们会在24小时内与您取得联系。