QML Flipable、Flickable和状态与动画 下篇
本文介绍的是Flickable和状态与动画,我们以前接触过QML相关的内容,那么本文介绍的内容就很明了了。先来看内容。
AD:
Flickable和状态与动画 下篇是本节要介绍的内容,Flickable和状态与动画 上篇,在这一节中我们再次讲解一下Flickable弹动效果。
二、Flipable翻转效果
在 Flipable{
- id:flipable; width:back.width; height:back.height
- property int angle : 0 //翻转角度
- property bool flipped : false //用来标志是否翻转
- front: Image {source:”front.png”} //指定前面的图片
- back: Image {source:”back.png”} //指定背面的图片
- transform:Rotation{ //指定原点
- origin.x:flipable.width/2; origin.y:flipable.height/2
- axis.x:0; axis.y:1; axis.z:0 //指定按y轴旋转
- angle:flipable.angle
- }
- states:State{
- name:”back” //背面的状态
- PropertyChanges {target:flipable; angle:180}
- when:flipable.flipped
- }
- transitions: Transition {
- NumberAnimation{property:”angle”;duration:1000}
- }
- MouseArea{
- anchors.fill:parent
- onClicked:flipable.flipped =!flipable.flipped
- //当鼠标按下时翻转
- }
- }
- }
运行效果如下:
我们可以看到,使用Flipable时,我们需要设置其前面和后面的图片,并设置背面的状态,然后设置旋转,并为状态改变设置动画就可以了。
通过改变转轴和角度,我们可以使用Flipable设计出很多其他特效。
三、Flickable效果就是你可以拖动它,它会根据你鼠标拖动的速度不同而移动不同的距离,并且这个移动好像有惯性一样,就像你推一下平面上的玩具汽车一样。我们看一个例子。
将程序代码更改如下:
- Rectangle{
- width:200; height:200
- Image{id: picture; source:”01.jpg”}
- contentWidth:picture.width
- contentHeight:picture.height
- }
- }
这时运行程序,我们拖动整个图片,更改拖动的速度,这种感觉很爽!
我们拖动图片的角落,它会自动弹回去
对于这样一个较大的图片,我们可以使用Flickable效果来查看整张图片。其实到底是否可以移动整个图片,取决于contentWidth和contentHeight的大小。
我们如果将代码改为:contentWidth:100;contentHeight:100
那么图片就无法通过拖动显示全部内容了。
对于QML的核心内容。因为QML Flipable、Flickable和状态与动画 下篇的内容介绍完了,希望本章内容对你有所帮助,更多内容请参考编辑推荐。
QML Flipable、Flickable和状态与动画 下篇的更多相关文章
- QML Flipable、Flickable和状态与动画 上篇
本文介绍的是QML Flipable.Flickable和状态与动画,我们以前接触过QML组件,和一些QML相关的内容,那么本文介绍的内容就很明了了.先来看内容. AD:51CTO 网+ 第十二期沙龙 ...
- QQ去除未读状态的动画
QQ去除未读状态的动画 by 伍雪颖 watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvcmFpbmxlc3Zpbw==/font/5a6L5L2T/fonts ...
- 锋利的jQuery-4--停止动画和判断是否处于动画状态(防止动画加入队列过多的办法)
1.停止元素的动画:stop([cleanQueue, gotoEnd]):第一个参数代表是否要清空未执行完的动画队列,第二个参数代表是否直接将正在执行的动画跳转到末状态. 无参数stop():立即停 ...
- QML中的state 状态
QML中的状态其实很好理解,任何事物在某一事件都是有一个状态的. 比如你看到的一个窗口,这个时候里面的文字和图片正处于某个状态中.比如一个超链接,你点击了,发现颜色变了,你按了Ctrl+A,整个窗体好 ...
- 关于Unity中Mecanim动画的动画状态代码控制与代码生成动画控制器
对于多量的.复杂的.有规律的控制器使用代码生成 动画状态代码控制 1:每个动画状态,比如进入状态,离开状态, 等都有可能需要代码来参与和处理,比如,进入这个动画单元后做哪些事情,来开这个动画单元后做哪 ...
- Unity3D动画面板编辑器状态属性对照表
不推荐用AnimationUtility.SetEditorCurve问题很多,推荐AnimationCurve.AddKey.通过AnimationUtility.GetAllCurves可以获得编 ...
- 关键帧动画:@keyframes
关键帧动画:@keyframes: <!DOCTYPE html> <html> <head> <meta charset="UTF-8" ...
- CSS篇之动画(2)
animation-name(自定义动画) name为动画名称.不要用中文,尽量用与动画相关的名称.元素所应用的动画名称,必须与规则@keyframes配合使用,因为动画名称由@keyframes定义 ...
- 【原】移动web动画设计的一点心得——css3实现跑步
今年3月份,由于公司业务需要,我转岗到微信产品部,离开了TID团队,人都是有感情的动物,更何况在一个团队呆了快 3 年,心中十分舍不得,鬼哥说了“天下没有不散的宴席...”,在我的世界里又多了一次离别 ...
随机推荐
- ZZNU 1993: cots' friends
题目描述 cot 最近非常喜欢数字, 喜欢到了什么程度呢, 已经走火入魔了.... cot把每个朋友编上一个序号,然后遇到谁就叫"XX号",对此,他的朋友们一致认为cot" ...
- 添加JUnit到Java Build Path
1.第一种 新建项目,点击右键,选择properties->Java Build Path->Libraries->add library->JUnit->JUnit4- ...
- iOS上传图片详解
iphone中图像通常存储在4个地方[相册.应用程序包.沙盒.Internet],通过这4个源,我们就可以存取应用图片. 相册 iphone的相册包含摄像头胶卷+用户计算机同步的部分照片.用户可以通过 ...
- Jmeter 多台机器产生负载
使用多台机器产生负载的操作步骤如下: (1)在所有期望运行jmeter作为 负载生成器的机器上安装jmeter, 并确定其中一台机器作为 controller ,其他的的机器作为agent .然后运行 ...
- C# cookies
谷歌浏览器- 工具---internet选项---常规---浏览历史记录---设置 cookie和网站数据 C:\Documents and Settings\Administrator\Local ...
- SDCC 2016中国软件开发者大会十三大主题
SDCC中国软件开发者嘉年华(Software Developer Carnival China),是由全球最大中文IT社区CSDN于2007年创办的软件技术领域顶级盛会,将如约于2016年11月18 ...
- struts入门学习(二)
一 struts的各种视图的转发与重定向 1 struts跳转到指定的JSP页面,只需要修改配置文件 <package name="user" namespace=&quo ...
- ubuntu 调试库
.安装带有调试信息的libc: sudo apt-get install libc6-dbg .下载libc源码 a.选定一个放置源码的目录并进入,如 /home/kent/dev-os/libc6- ...
- 分页加载的Fragment
package com.z.fragment; import android.os.Bundle; import android.os.Environment; import android.supp ...
- CodeForces 605A Sorting Railway Cars 思维
早起一水…… 题意看着和蓝桥杯B组的大题第二道貌似一个意思…… 不过还是有亮瞎双眼的超短代码…… 总的意思呢…… 就是最长增长子序列且增长差距为1的的…… 然后n-最大长度…… 这都怎么想的…… 希望 ...