Android应用开发入门教程(经典版)

Android应用开发入门教程(经典版)第一篇 Android 系统结构和 SDK 使用第 1 章 Android 的系统介绍第 2 章 AndroidSDK 的开发环境第二篇 Android 应用程序的概述和框架第 3 章 Android 应用层程序的开发方式第 4 章 Android 应用程序示例第 5 章 Android 应用程序的内容第三篇 Android 的 UI 系统实现第 6 章 UI 的基本外形和控制第 7 章控件 Widget 的使用第 8 章视图组 ViewGroup 和布局 Layout 的使用第 9 章 2D 图形接口的使用第 10 章 OpenGL3D 图形的使用

文件:590m.com/f/–c69e08(访问密码:)

以下内容无关:

——————————————-分割线———————————————

pathView的使用类似与ListView,都需要模型(model)和代理(delegate),只不过pathView多了一个路径(path)属性,顾名思义路径就是item滑动的路径.

一个Path可以由下面多个Path段组成(之前讲解PathAnimation时提过):

其中PathAttribute用来给路径上定义带有值的命名属性。而PathPercent则用来对每个间距进行一个调整。

3.PathView实战

我们参考韦东山之前发布的一个Qt开源视频,如下图所示:

最终做出来如下图所示:

效果图如下所示(有点大,需要多等下刷新出来):

源码已经上传到群里,由于我们借用了别人的UI图,所以请不要将别人的UI图片用在商业上,仅供学习参考使用!!!

核心代码如下所示:

 ListElement { name: "多媒体" back: "qrc:/images/media_nor.png" } ListElement { name: "系统设置" back: "qrc:/images/system_nor.png" } ListElement { name: "智能家电" back: "qrc:/images/machine_nor.png" } ListElement { name: "卫生医疗" back: "qrc:/images/medical_nor.png" } ListElement { name: "公共服务" back: "qrc:/images/public_nor.png" } } Component { id: delegate App { id: rect width: itemSize.width height: itemSize.height z: PathView.iconZ scale: PathView.iconScale imagSrc: back label: name enabled: view.opacity == 1.0 transform: Rotation{ origin.x: rect.width/2.0 origin.y: rect.height/2.0 axis{x:0;y:1;z:0} angle: rect.PathView.iconAngle } MouseArea { anchors.fill: parent onClicked: { if (view.currentIndex == index) newJumpWindow("qrc:/AppWindow.qml", name) } } } } PathView { id: view anchors.centerIn: parent width: (itemCount-1.9)*itemSize.width height: wind.height model: mymodel delegate: delegate flickDeceleration: 300 preferredHighlightBegin: 0.5 preferredHighlightEnd: 0.5 pathItemCount: itemCount clip: true enabled: opacity == 1.0 path: Path { id: path startX: 0 startY: view.height * 0.45 PathAttribute{name:"iconZ";value: 0} PathAttribute{name:"iconAngle";value: -50} PathAttribute{name:"iconScale";value: 0.7} PathLine{x:view.width/2; y: path.startY} // 设置初始Z为0,角度为70 大小比例为0.6 PathAttribute{name:"iconZ";value: 100} PathAttribute{name:"iconAngle";value: 0} PathAttribute{name:"iconScale";value: 1.0} PathLine{x:view.width; y: path.startY} PathAttribute{name:"iconZ";value: 0} PathAttribute{name:"iconAngle";value: 50} PathAttribute{name:"iconScale";value: 0.7} } } 
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/232263.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • webgame开发中的文件解密

    webgame开发中的文件解密上一篇讲的是文件的加密,这一篇记录一下如何加载并显示图片。 因为图片文件经过加密,已经成了二进制流的文件了(一堆乱码),只能使用URLStream来加载资源了。这里有一点要注意:URLStream中的读取操作是非阻塞的,在读取数据之前必须使用bytesAvailable属性来确定是否能够获取足够的数据,如何不能获取足够的数据,将引发EOFError异常。 主要思路:1、加载…

    2022年6月7日
    32
  • java 截位法保留小数_【数量关系速算技巧】泡泡截位法专题

    java 截位法保留小数_【数量关系速算技巧】泡泡截位法专题资料分析都要找技巧,进行分析之类的,但是如果你对计算有所技巧的话,那么你的计算就相对简单,也会比别人快些,在节省做题时间以及做题时间的同时,还能够提高正确率。截位法使用范围:除了加减法,其他的运算都可以使用截位法。【截位法原理】如果我要把分子提高一部分,分母也要提高相应的部分,这样子得到的答案才不会有偏差,简言之就是同增同减。除法:【分子除以分母】12345/54321【用计算器得结果227】变…

    2022年5月15日
    40
  • Unity3D学习路线与学习经验分享[通俗易懂]

    Unity3D学习路线与学习经验分享[通俗易懂]Unity3D学习路线与学习经验分享//最后一次更新为2019.7.22日,更新了一些废掉的链接作者:15游02丁祺你好,这篇文档是我的导师孙老师(以下简称老孙)指名我书写给新手、初学者以及技能有些许缺陷的人的一篇经验分享的文档,当然如果你看到了这些文字,代表着你是一个有意愿或期望去学习这款软件的人。因人与人之间有很多的不同,以下我会尽我所能,通过不同切入点与角度,并根据以上人群的不同…

    2022年5月25日
    35
  • WinForm学习

    WinForm学习C#学习

    2022年10月7日
    5
  • 线程死锁是什么

    线程死锁是什么线程死锁:两个或两个以上的线程在执行过程中同时被阻塞,它们中的某个或者全部都在等待某个资源被释放,由于线程被无限期的阻塞,系统处于死锁状态或系统产生了死锁,这些永远在互相等待的线程被称为线程死锁如上图所示,线程A持有资源2,线程B持有资源1,它们都想申请对方的资源,所以这两个线程就会互相等待而进入死锁状态如果想要了解什么是线程阻塞的朋友,可以看我之前发的一篇线程的阻塞线程死锁示例代码如下:线程A通过synchronized(resource1)获得resource1的监视器锁,然后通

    2022年7月13日
    22
  • 设计模式学习03—抽象工厂模式

    设计模式学习03—抽象工厂模式

    2021年11月30日
    40

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号