Clipped View的裁剪和对齐方式
来源:互联网 发布:写轻小说的软件 编辑:程序博客网 时间:2024/06/05 05:12
ClipView的滚动原理是移动他自己这个Panel位置,然后同时移动他自己的Clip范围(由对应的shader完成),制造内部条目滚动的效果
一个条目范围是其内所有子元素的总范围(Bound Box),如果子元素大小超过了Clip范围,则子元素在Clip内左上对齐(自动拖拽的情况下)
ClipView的坐标计算不受UIGrid子元素个数的影响,与子元素的间距无关,与列表中排列在第一个位置的子元素的长宽和ClipView的Softness长宽有关
1、如需Clip中条目自动居上(不是居中),则需按照以下方式计算,以某个Clip的垂直滚动为例:
首先计算出ClipView这个Panel的Y方向上的偏移
公式为 ClipView.Y = ClipView.H / 2 - Softness.Y - Item.H / 2
(如 ClipView.H = 300 Item高度100 Softness.Y = 10 则 ClipView.Y = 90 300/2 - 10 - 100/2 = 90)
(如 ClipView.H = 400 Item高度80 Softness.Y = 6 则 ClipView.Y = 154 400/2 - 6 - 80/2 = 154)
将这个值填入 Transform.Y 和 -Clipping.Y (一正一负,重复一遍,其滚动原理是移动ClipView这个Panel,同时移动这个Clip的位置,使其看起来是在原地裁剪,实际上是在移动这个Panel)
2、ClipView 默认是居中对齐,按照NGUI的计算方式,如果需要移动整个Panel到某个位置,则按如下方式得出左上对齐的panel的坐标:
ClipView.X = ClipView.X + ClipView.W / 2
ClipView.Y = ClipView.Y - ClipView.H / 2
3、如果还有偏移,则在此基础上加上偏移量
4、另外一个方式是不修改ClipView的坐标(保持ClipView的坐标为0,0),修改UIGrid的坐标为(第一步)中计算的值,是一样的效果
因此,对单个条目的大小和Clip的大小,都应要求其尽量规范
- Clipped View的裁剪和对齐方式
- 结构体对齐的方式(自动对齐和手动对齐)
- windows和Linux内存的对齐方式
- Unity3d NGUI doesn't have a clipped shader version for SoftClip 和 AlphaClip错误的解决方法
- 行距和对齐方式
- 对齐的方式
- 字节的对齐方式
- cudaMallocPitch的对齐方式
- 对齐方式的解释
- align的对齐方式
- PPT的对齐方式
- Android自定义裁剪图片的View
- img之间的空白和img的对齐方式
- View State的作用和实现方式
- View和SurfaceView的刷屏方式
- View 的滑动原理和实现方式
- Excel操作——单元格的字体和对齐方式
- Excel操作——单元格的字体和对齐方式
- 西游降魔篇观后感
- [IOS开发]IPhone,IPad的icon图片大小和命名
- PHP一些可以查询IP地理位置、身份证所在地、手机归属地的接口
- 判断一个整数中是否有重复数字(0~9),该数字不以0开头--------方法2
- extjs 4tabpanel学习总结
- Clipped View的裁剪和对齐方式
- vs 打包部署字体
- Android开发中网络请求的压缩-GZip
- 单链表的逆序输出
- MySQL数据类型1
- html中base标签的用处
- vim显示行号、语法高亮、自动缩进的设置
- php截取字符串可以避免乱码 utf8
- PHP模板引擎Smarty详解