前言
今天开发android ,看到有个需求是实现一个类似于转盘的按钮,如下图:

我这边使用qml实现界面的,所以在网上所搜一遍,也没发现有现成可以继承的,大多数都是android的现成UI实现库,对于我而言,没有实际意义,所以只能自己实现了
先贴下我实现的效果图,下面这个图是我自己用qml实现的

实现思路
使用qml实现,这个难度其实是很大的,它不想QWidget可以QPainter,也没有特定的多边形矩形或者扇形接口,一切等于都要自己从无到有自己实现,本来我开始是考虑使用QWidget的QPainter自己画,也就是继承QQuickPaintedItem, 之前我有一篇画虚线的文章QML 画虚线 ,如何与QPaniter打交道 ,有需要的可以参考我这边文章
因为考虑到用qml原生的去实现,不想外接C++那么麻烦,所以最
本文介绍如何使用Qml实现一个类似遥控器转盘的按钮。通过Canvas组件,作者详细阐述了画扇形、中间圆以及实现点击判断的步骤。最终,通过封装的方法实现了扇形和圆的绘制,并通过象限判断来确定点击位置。
订阅专栏 解锁全文
310

被折叠的 条评论
为什么被折叠?



