翻译一个水平画廊选择器:FancyCoverFlow

水平滚动器的实现思路:
Gallery--画廊效果,,滚动带选择,支持自带滑动监听
继承自gallery父类,自定义特效
设置选中和未选中的透明度,
除了滑动偏快,其他没什么大问题


构造方法,初始化参数,camera   反射比
camera的设定,三维角度转化
获得从xml文件设置的自定义属性


所有参数的get和set方法
设置适配器  Spinner的适配器


重写了父类的展示子视图的方法
静态转型方法???getChildStaticTransformation()  view  Transformation
Transformation与动画有关,
通过camera来展示当前选择和未选择的view的样式,大小,空间上的变化
matrix设置位置,移动到什么位置,大小是否有变化的问题


graphics.camera的知识特性需要补习
区别于用于照相的hardware.Camera
它主要是用来:三维控制的,,,2D图形系统中的视角,,这里是控制当前的绘制基础位置为save的位置,,,作为相机的镜头来观察对面的世界,有xyz位置,区别于matrix的xy的2维世界


Camere位移或者旋转 xyz的位置   支持设定位置和绘制,或者相位移动(Matrix)




抽象父类的FancyCoverFlowAdapter 继承BaseAdapter  重写了getview方法


FancyCoverFlowItemWrapper是什么呢?fancy的子view都是这个类型的view
本身是viewgroup的子类,一个视图容器
色彩饱和度的方法
测量高度
布局,,在被改变的情况下,子布局的位置也会发生变化,对应包括上下左右的位置
---派遣画像方法
获得第一个子view  ,在不为空的情况下,childView.isDirty()什么意思?
childView.isDirty()是在上次绘制之后已更改,那么就是true
绘制canvas ,,  绘制图片
绘制是一个什么样的概念呢?


重新绘制 子view
获得第一个子view   不为空,则将获得重新绘制的能力
创建可反射的图片,.
matrix位图,矩阵,  旋转x,y轴




为什么baseadapter需要实现那些方法,但是直接接口的方法却不需要实现?
作为一个抽象类,实现了,两个接口,并且都是实现了直接父类的接口,父接口的直接接口就没有被实现,那么就出现了你看到的效果,
方法被实现了,子类是抽象类也没关系,


adapter的适配器wrapper的view,会在为空的时候创建,不为空时获得子view,并清空父view,在操作了contentview之后,获得子view,每次都会重新加入一个新的wrapper的view

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值