美文网首页Android自定义ViewAndroid自定义View
WheelView的另一种方式,适用任何布局方式整个childV

WheelView的另一种方式,适用任何布局方式整个childV

作者: youxiaochen | 来源:发表于2017-10-13 14:17 被阅读328次

前言:

上一篇文章讲述了通过Camera, Matrix 3d旋转+RecyclerView实现和(IOS时间地址选择3D)滚轮控件一样效果的WheelView,但是只限于画不同颜色的文本,如果要实现适配器中任意布局,就需要另一种实现方式

更多文章请关注:http://www.jianshu.com/u/b1cff340957c


效果图
垂直与水平方向滑动

由于原理与上篇文章讲述差不多,就不再详细介绍,旋转的逻辑放到RecyclerView的drawChild中实现

@Override
    public boolean drawChild(Canvas canvas, View child, long drawingTime) {
        canvas.save();
        if (orientation == LinearLayoutManager.VERTICAL) {
            //垂直方向旋转画笔,再画child
            verticalCanvasForDrawChild(canvas, child, translateX(centerX));
        } else {
            //水平方向旋转画笔,再画child
            horizontalCanvasForDrawChild(canvas, child);
        }
        boolean drawChild = super.drawChild(canvas, child, drawingTime);
        canvas.restore();
        return drawChild;
    }
源码 https://github.com/youxiaochen/WheelView2-3d
总结:在类似线性布局的ViewGroup中重写drawChild实现3D旋转的原理基本一致,都是在ViewGroup分发画child子控件时,将Canvas进行旋转与偏移,原理也可作用于LinearLayout, ListView, Gallery, ViewPager等等......,随意发挥!

更多文章请关注:http://www.jianshu.com/u/b1cff340957c

相关文章

  • WheelView的另一种方式,适用任何布局方式整个childV

    前言: 上一篇文章讲述了通过Camera, Matrix 3d旋转+RecyclerView实现和(IOS时间地址...

  • 滚动控件WheelView

    compile 'com.wx.wheelview:wheelview:1.3.3' 导入依赖xml布局 <...

  • android第四课。

    今天学习了两种布局方式。一种是线性布局,另一种是相对布局。 线性布局: 相对布局: 相对布局 图标要选择对齐方式

  • 线性布局(LinearLayout)

    线性布局,顾名思义,指的是整个Android布局中的控件摆放方式是以线性的方式摆放的 线性布局排列方式有: 纵向:...

  • HTML布局

    1.基础 1.1布局方式 布局方式解释自然布局无任何修饰,自动向左响应布局流动布局,采用浮动方法定位布局相对于di...

  • 离婚常见问题

    一、离婚的方式问题 1、离婚的方式有哪些? 答:离婚有两种方式,一种叫协议离婚;另一种叫诉讼离婚。两种方式适用不同...

  • AutoLayout学习

    iOS布局方式的演变 使用Rect的frame布局方式 autoresizingMask方式 AutoLayout...

  • iOS常用控件及方法的封装

    背景 代码方式布局通常会写很多代码,使整个布局结构看起来比较凌乱且写起很繁琐,可以通过Category方式对系统常...

  • 布局方式

    绝对布局:frame 相对布局: 1、Autoresizing(启用的方式,局限性大) 2、Auto layout...

  • 布局方式

    1.标准流排版方式 标准流也称普通流、文档流,该方式时默认排版方式,块级元素垂直排版,行内元素是行内或者行内块...

网友评论

    本文标题:WheelView的另一种方式,适用任何布局方式整个childV

    本文链接:https://www.haomeiwen.com/subject/iyszyxtx.html