自定义一个HorizontalScrollView类,主要为了让这个HorizontalScrollView不能鼠标点击,不能左右按键,并且没有焦点。

public class ImageMoveHorizontalScrollView extends HorizontalScrollView {private boolean    mSmoothScrollingEnabled = true;private final Rect mTempRect               = new Rect();public ImageMoveHorizontalScrollView(Context context, AttributeSet attrs) {super(context, attrs);}public ImageMoveHorizontalScrollView(Context context) {super(context);}/*** 关闭鼠标点击的效果,重写该方法*/@Overridepublic boolean onTouchEvent(MotionEvent ev) {return false;}/*** 关闭左右按键效果,重写该方法*/@Overridepublic boolean executeKeyEvent(KeyEvent event) {return false;}/*** 去除焦点选中*/@Overridepublic boolean pageScroll(int direction) {boolean right = direction == View.FOCUS_RIGHT;int width = getWidth();if (right) {mTempRect.left = getScrollX() + width;int count = getChildCount();if (count > 0) {View view = getChildAt(0);if (mTempRect.left + width > view.getRight()) {mTempRect.left = view.getRight() - width;}}} else {mTempRect.left = getScrollX() - width;if (mTempRect.left < 0) {mTempRect.left = 0;}}mTempRect.right = mTempRect.left + width;return scrollAndFocus(direction, mTempRect.left, mTempRect.right);}private boolean scrollAndFocus(int direction, int left, int right) {boolean handled = true;int width = getWidth();int containerLeft = getScrollX();int containerRight = containerLeft + width;boolean goLeft = direction == View.FOCUS_LEFT;
//主要在这边,注释掉下面的代码//        View newFocused = findFocusableViewInBounds(goLeft, left, right);//        if (newFocused == null) {//            newFocused = this;//        }if (left >= containerLeft && right <= containerRight) {handled = false;} else {int delta = goLeft ? (left - containerLeft) : (right - containerRight);doScrollX(delta);}//去除 滚动后 foucus的//        if (newFocused != findFocus())//            newFocused.requestFocus(direction);return handled;}/*** Smooth scroll by a X delta* @param delta the number of pixels to scroll by on the X axis*/private void doScrollX(int delta) {if (delta != 0) {if (mSmoothScrollingEnabled) {smoothScrollBy(delta, 0);} else {scrollBy(delta, 0);}}}}

使用:

 sc.pageScroll(View.FOCUS_RIGHT);  //向右翻一页

安卓开发37:自定义的HorizontalScrollView类,使其pageScroll的时候焦点不选中相关推荐

  1. 安卓开发之自定义SeekBar竖立类(顺时针逆时针旋转90度)

    类名:VerticalSeekBar public class VerticalSeekBar extends SeekBar {private boolean mIsDragging;private ...

  2. 安卓开发笔记——自定义广告轮播Banner(实现无限循环)

    关于广告轮播,大家肯定不会陌生,它在现手机市场各大APP出现的频率极高,它的优点在于"不占屏",可以仅用小小的固定空位来展示几个甚至几十个广告条,而且动态效果很好,具有很好的用户& ...

  3. Android开发,自定义View的学习合集

    转载自:http://blog.csdn.net/u011507982/article/details/51199644 自定义控件学习  https://github.com/GcsSloop/An ...

  4. 安卓开发学习1:安卓开发资源与方法总结

    开发工具 Android Studio下载 Genymotion 下载 Android Studio配置 Android Studio的Gradle配置国内镜像 Android Studio配置代码提 ...

  5. 解密android日志xlog,安卓开发技巧2:自定义日志工具类XLog的实现

    安卓开发技巧二:自定义日志工具类XLog的实现 我们在开发过程中,打印日志是必不可少的一个调试环节,然而,直接使用系统自带的Log日志类,并不能满足我们实际项目的需求:假如我们现在在开发一款比较大的项 ...

  6. android 微博字体高亮,安卓开发札记——高仿新浪微博文字处理(实现关键字高亮,自定义表情替换并加入点击事件实现)...

    安卓开发笔记--高仿新浪微博文字处理(实现关键字高亮,自定义表情替换并加入点击事件实现) 先让大家看下效果图,这个是我自己在闲暇时间仿写的新浪微博客户端: 今天来讲讲如何实现上图的效果,这里需要用到S ...

  7. 安卓开发-自定义照相机界面

    安卓开发-自定义照相机界面 此项目是总结了其他三位大佬的代码后写出来的,在此首先感谢三位大佬: 自定义照相机编写方法:https://blog.csdn.net/shan286/article/det ...

  8. android自定义模态框,安卓开发自定义弹出框的简单方式(纯代码布局)

    弹出框在安卓开发中是经常会用到的,如果单纯的只是用安卓自带的对话框模式肯定是十分单调的. 再来我看来安卓一定有一个功能让我们像Layout添加Layout一样把Layout添加到提示框里面. 所以忘了 ...

  9. 安卓饼状图设置软件_安卓(Android)开发之自定义饼状图

    先来看看效果图 先分析饼状图的构成,非常明显,饼状图就是一个又一个的扇形构成的,每个扇形都有不同的颜色,对应的有名字,数据和百分比. 经以上信息可以得出饼状图的最基本数据应包括:名字 数据值 百分比 ...

最新文章

  1. 浅析网站维护优化的必要性!
  2. Oracle中的pfile和spfile详解
  3. 大话西游维护完怎么刷服务器,大话西游2很实用:看高玩教你如何快速刷齐高端套装...
  4. SQL基础E-R图画法(三)
  5. 【BZOJ2440】完全平方数,莫比乌斯反演+二分答案+容斥思想
  6. 大数据公司Palantir曾向法拉第未来投资2500万美元
  7. 设计灵感|美容护肤主题,图文排版在Banner中的正确打开位置!
  8. 【Linux】Linux环境的搭建
  9. [HAOI2007]反素数ant
  10. win11安装助手闪退怎么办 Windows11安装助手闪退的解决方法
  11. php fopen 清空文件内容,如何在c语言中清空文件里的内容?
  12. Python容器专题 - 元组(tuple)
  13. 霍尔探头对高斯计测量的影响
  14. 使用three.js创建粒子火焰效果
  15. 定时关机软件里的锁定计算机,怎么让电脑定时关机设置大全
  16. 如何优雅使用JDK8中的Stream对list集合中的某值求和
  17. Linxu-解压压缩命令
  18. Python从zip文件里导入包
  19. Python mongodb数据库
  20. Windows文件夹开启大小写敏感

热门文章

  1. grep+awk+sort+wc实战
  2. linux shell中21的含义
  3. 题目:返回一个整数数组中最大子数组的和03
  4. PLSQL重点问题理解和实战
  5. Android解决button反复点击问题
  6. IT行业: 嵌入式工程师的进阶之路
  7. IOS的UI基础02
  8. Skype for Business Server 2015-03-后端服务器-1-安装
  9. App.js – 用于移动 Web App 开发的 JS 界面库
  10. 写在Silverlight 5发布前 - 盘点2010年Silverlight开发书籍