CN107980121A - 圆形自定义控件执行动画的方法及装置 - Google Patents

圆形自定义控件执行动画的方法及装置 Download PDF

Info

Publication number
CN107980121A
CN107980121A CN201780001536.7A CN201780001536A CN107980121A CN 107980121 A CN107980121 A CN 107980121A CN 201780001536 A CN201780001536 A CN 201780001536A CN 107980121 A CN107980121 A CN 107980121A
Authority
CN
China
Prior art keywords
circle
msub
pointer
mrow
defined control
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN201780001536.7A
Other languages
English (en)
Inventor
陈树人
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shenzhen Great Wisdom Technology Co Ltd
Original Assignee
Shenzhen Great Wisdom Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Shenzhen Great Wisdom Technology Co Ltd filed Critical Shenzhen Great Wisdom Technology Co Ltd
Publication of CN107980121A publication Critical patent/CN107980121A/zh
Pending legal-status Critical Current

Links

Landscapes

  • Telephone Function (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Controls And Circuits For Display Device (AREA)

Abstract

本发明提供了一种圆形自定义控件执行动画的方法及装置,包括获取屏幕宽度,根据屏幕宽度以及圆形自定义控件指定位置计算得到圆心的X轴坐标以及Y轴坐标;根据手机分辨率以及屏幕尺寸计算得到圆形自定义控件的半径值;根据所述圆心坐标以及半径值通过构造函数画出图形;根据指针起始点的坐标、指针待停下点的坐标以及圆心坐标计算出指针偏转的角度;通过预设的传入函数将所述偏转的角度,传入至OnDraw函数执行指针偏转动画。本发明提供的一种圆形自定义控件执行动画的方法及装置使得圆形自定义控件能实现酷炫好看的动画效果。

Description

圆形自定义控件执行动画的方法及装置
技术领域
本发明涉及应用程序领域,特别涉及一种圆形自定义控件执行动画的方法及装置。
背景技术
随着社会的发展,手机已经成为日常生活中必不可少的工具,现有的手机应用程序会用到一些圆形自定义控件,这些圆形自定义控件遇到酷炫好看的动画不能实现,只能简化动画的复杂程度,难以达到预期酷炫好看的效果。
发明内容
本发明的主要目的为提供一种圆形自定义控件执行动画的方法及装置,使得圆形自定义控件能实现酷炫好看的动画效果。
本发明提出一种圆形自定义控件执行动画的方法,包括以下步骤:
获取屏幕宽度,根据屏幕宽度以及圆形自定义控件指定位置计算得到圆心的X轴坐标以及Y轴坐标;
根据手机屏幕分辨率以及屏幕尺寸计算得到圆形自定义控件的半径值;
根据所述圆心坐标以及半径值通过构造函数画出图形;
根据指针起始点的坐标、指针待停下点的坐标以及圆心坐标计算出指针偏转的角度;
通过预设的传入函数将所述偏转的角度,传入至OnDraw函数执行指针偏转动画。
进一步地,所述圆心的X轴坐标的计算公式为:x0=W/2;所述Y轴坐标的计算公式为:y0=W/2+H1
其中,x0为所述圆心的X轴坐标,Y为所述圆心的Y轴坐标,W为屏幕宽度,H1为圆形自定义控件距离所述屏幕上端的预设距离。
进一步地,所述圆形自定义控件的半径的计算公式为:
R为圆形自定义控件的半径值,W为屏幕宽度,W1为根据手机屏幕分辨率以及屏幕尺寸确定圆到屏幕两端的距离。
进一步地,所述指针偏转的角度的计算公式为:
x0为圆心的X轴坐标,y0为圆心Y轴坐标;x1为指针起始点的X轴坐标,y1为指针起始点的Y轴坐标;x2为指针待停下点的X轴坐标,y2为指针待停下点的Y轴坐标,θ为指针偏转的角度。
进一步地,所述根据手机屏幕分辨率以及屏幕尺寸计算得到圆形自定义控件的半径值步骤之前包括:
获取手机屏幕分辨率以及屏幕尺寸,并判断所述手机屏幕分辨率单位以及屏幕尺寸单位是否为设备独立像素dip单位;若为设备独立像素dip单位则直接引用,否则转换为设备独立像素dip单位再引用。
本发明还提供了一种圆形自定义控件执行动画的装置,包括:
获取单元,用于获取屏幕宽度,根据屏幕宽度以及圆形自定义控件指定位置计算得到圆心的X轴坐标以及Y轴坐标;
计算半径单元,用于根据手机屏幕分辨率以及屏幕尺寸计算得到圆形自定义控件的半径值;
画图单元,用于根据所述圆心坐标以及半径值通过构造函数画出图形;
计算角度单元,用于根据指针起始点的坐标、指针待停下点的坐标以及圆心坐标计算出指针偏转的角度;
执行单元,用于通过预设的传入函数将所述偏转的角度,传入至OnDraw函数执行指针偏转动画。
进一步地,所述获取坐标单元包括:
所述圆心的X轴坐标的计算公式为:x0=W/2;所述Y轴坐标的计算公式为:y0=W/2+H1
其中,x0为所述圆心的X轴坐标,Y为所述圆心的Y轴坐标,W为屏幕宽度,H1为圆形自定义控件距离所述屏幕上端的预设距离。
进一步地,所述计算半径单元用于:
R为圆形自定义控件的半径值,W为屏幕宽度,W1为根据手机屏幕分辨率以及屏幕尺寸确定圆到屏幕两端的距离。
进一步地,所述计算角度单元用于:
x0为圆心的X轴坐标,y0为圆心Y轴坐标;x1为指针起始点的X轴坐标,y1为指针起始点的Y轴坐标;x2为指针待停下点的X轴坐标,y2为指针待停下点的Y轴坐标,θ为指针偏转的角度。
进一步地,还包括判断单元:
用于获取手机屏幕分辨率以及屏幕尺寸,并判断所述手机屏幕分辨率单位以及屏幕尺寸单位是否为设备独立像素dip单位;若为设备独立像素dip单位则直接引用,否则转换为设备独立像素dip单位再引用。
本发明的有益效果为:初始化Actvity(界面),在初始化Actvity(界面)中确定对应的圆形自定义控件,画出对应图形;通过获取圆形自定义控件中指针起始点的坐标以及指针待停下点的坐标,根据获取指针起始点的坐标、指针待停下点的坐标以及上述圆心坐标利用算法计算得到对应指针偏转的角度θ,调用预设的传入函数,根据上述预设的传入函数获取的角度θ传入至OnDraw函数执行一次刷新控件,OnDraw函数根据获取指针偏转的角度θ将指针偏转对应的角度θ,实现指针偏转的动画效果,使得通过圆形自定义控件实现了酷炫的动画效果,提高用户的体验。
附图说明
图1为本发明一实施例中的一种圆形自定义控件执行动画的方法的步骤示意图;
图2,为本发明一实施例中的一种圆形自定义控件执行动画的装置的结构示意图;
图3,为本发明另一实施例中的一种圆形自定义控件执行动画的装置的结构示意图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
在android很多应用中需要自定义控件,现有的圆形自定义控件在实现动画时由于考虑开发周期长以及成本的问题通常会简化动画效果,使得难以达到预期的动画效果。
参照图1,为本发明一实施例中的一种圆形自定义控件执行动画的方法的步骤示意图。
本实施例中的一种圆形自定义控件执行动画的方法,包括以下步骤:
步骤S1,获取屏幕宽度,根据屏幕宽度以及圆形自定义控件指定位置计算得到圆心的X轴坐标以及Y轴坐标;
步骤S2,根据手机屏幕分辨率以及屏幕尺寸计算得到圆形自定义控件的半径值;
步骤S3,根据所述圆心坐标以及半径值通过构造函数画出图形;
步骤S4,根据指针起始点的坐标、指针待停下点的坐标以及圆心坐标计算出指针偏转的角度;
步骤S5,通过预设的传入函数将所述偏转的角度,传入至OnDraw函数执行指针偏转动画。
本实施例中的一种圆形自定义控件执行动画的方法实现用圆形自定义控件来显示一些动态数据的变化,使得显示效果非常酷炫。
在步骤S1,初始化手机Actvity(界面),为确保能画出圆形自定义控件,根据手机宽度比高度小在Actvity(界面)中获取手机屏幕的宽度W,设置手机的左上角为原点中心(0,0),根据获取的手机屏幕宽度W得到圆形自定义控件的圆心的X轴坐标为W/2;上述圆形自定义控件包括标题栏,标题栏用于圆形自定义控件的命名,根据标题栏大小H1以及获取的手机屏幕的宽度得到圆形自定义控件对应的圆心的Y轴坐标为W/2+H1,得到对应的圆形自定义控件的圆心坐标为(W/2,W/2+H1)。
在步骤S2中,为了确保圆形自定义控件能在手机屏幕分辨率不同以及屏幕尺寸不同的情况下都能顺利显示出来,预留手机的圆心到屏幕左边或是屏幕右边一定的边距W1,获取的屏幕宽度W减去预留的边距W1得到对应的圆形自定义控件的半径为R=W-W1
在步骤S3中,调用构造函数,构造函数获取上述圆形自定义控件的圆心坐标参数值W/2、W/2+H1以及圆形自定义控件的半径的参数值R,根据获取的圆心坐标参数值W/2、W/2+H1以及半径的参数值R画出图形,上述图形根据圆形自定义控件的具体作用,可以为圆弧或圆。
在步骤S4中,预设设置手机的左上角为原点中心(0,0),在Actvity(界面)获取圆形自定义控件中的指针起始点的坐标以及指针待停下点的坐标,根据获取指针起始点的坐标、指针待停下点的坐标以及上述圆心坐标利用算法计算得到对应指针偏转的角度θ。
在步骤S5中,在实现圆形自定义控件指针偏转动画调用预设的传入函数以及OnDraw函数,预设的传入函数根据获取指针偏转的角度θ,传入函数将获取指针偏转的角度θ传入至OnDraw函数执行一次刷新控件,OnDraw函数根据获取指针偏转的角度θ将指针偏转对应的角度θ,实现指针偏转的动画效果。
初始化Actvity(界面),在初始化Actvity(界面)中确定对应的圆形自定义控件画出对应的圆或圆弧的图形,通过获取圆形自定义控件中指针起始点的坐标以及指针待停下点的坐标,根据获取指针起始点的坐标、指针待停下点的坐标以及上述圆心坐标利用算法计算得到对应指针偏转的角度θ,调用预设的传入函数,根据上述预设的传入函数获取的角度θ传入至OnDraw函数执行一次刷新控件,OnDraw函数根据获取指针偏转的角度θ将指针偏转对应的角度θ,实现指针偏转的动画效果,使得通过圆形自定义控件实现了酷炫的动画效果,提高用户的体验。
进一步地,所述圆心的X轴坐标的计算公式为:x0=W/2;所述Y轴坐标的计算公式为:y0=W/2+H1
其中,x0为所述圆心的X轴坐标,y0为所述圆心的Y轴坐标,W为屏幕宽度,H1为圆形自定义控件距离所述屏幕上端的预设距离。
在Actvity(界面)获取得到屏幕宽度,具体长度为W,设置手机屏幕左上角作为原点中心(0,0)。
根据获取的屏幕宽度W得到对应的圆心的X轴长度为W/2,根据上述圆心的X轴坐标的计算公式x0=W/2,得到圆心的X轴坐标为W/2;圆形自定义控件包括标题栏,上述标题栏用于圆形自定义控件的命名,设置于上述圆形自定义控件的上部,上述圆形自定义控件标题栏长度为H1,根据上述圆心的Y轴坐标的计算公式y0=W/2+H1,得到圆心的Y轴坐标为W/2+H1,得到圆形自定义控件的圆心坐标为(W/2,W/2+H1)。
进一步地,所述圆形自定义控件的半径的计算公式为:
R为圆形自定义控件的半径值,W为屏幕宽度,W1为根据手机屏幕分辨率以及屏幕尺寸确定圆到屏幕两端的距离。
为了使得圆形自定义控件能在手机屏幕分辨率不同以及屏幕尺寸不同的情况下都能显示出最佳效果,预设手机的圆心到屏幕两端的边距W1,使得圆形自定义控件在手机型号产生变化时,对应手机屏幕分辨率不同以及屏幕尺寸不同相应产生变化时不会影响圆形自定义控件的显示效果。
W为屏幕宽度,W1为根据手机屏幕分辨率以及屏幕尺寸确定圆到屏幕两端的距离,根据圆形自定义控件的半径的计算公式通过公式计算得到圆形自定义控件的半径值。
进一步地,所述指针偏转的角度的计算公式为:
x0为圆心的X轴坐标,y0为圆心Y轴坐标;x1为指针起始点的X轴坐标,y1为指针起始点的Y轴坐标;x2为指针待停下点的X轴坐标,y2为指针待停下点的Y轴坐标,θ为指针偏转的角度。
预设手机的左上角为原点中心(0,0),在Actvity(界面)获取圆形自定义控件指针起始点的X轴坐标x1以及Y轴坐标y1;指针待停下点的坐标X轴坐标x2以及Y轴坐标y2。根据指针偏转的角度的计算公式计算得到指针应该偏转的角度θ。
进一步地,所述根据手机屏幕分辨率以及屏幕尺寸计算得到圆形自定义控件的半径值步骤之前包括:
获取手机屏幕分辨率以及屏幕尺寸,并判断所述手机屏幕分辨率单位以及屏幕尺寸单位是否为设备独立像素dip单位;若为设备独立像素dip单位则直接引用,否则转换为设备独立像素dip单位再引用。
对于不同的手机,为了保证圆形自定义控件能显示最好的效果,会根据手机屏幕分辨率以及屏幕尺寸的不同来调整圆的半径值,在获取手机屏幕分辨率以及屏幕尺寸之后,上述手机屏幕分辨率以及屏幕尺寸的单位一般为像素px单位,在需要根据手机屏幕分辨率以及屏幕尺寸来调整圆的半径值时,需要先将上述像素px单位转换为设备独立像素dip单位,设备独立像素dip单位为手机厂商界面数值的标准单位。
参照图2,为本发明一实施例中的一种圆形自定义控件执行动画的装置的结构示意图。
本实施例中的一种圆形自定义控件执行动画的装置,包括:
获取单元10,用于获取屏幕宽度,根据屏幕宽度以及圆形自定义控件指定位置计算得到圆心的X轴坐标以及Y轴坐标;
计算半径单元20,用于根据手机屏幕分辨率以及屏幕尺寸计算得到圆形自定义控件的半径值;
画图单元30,用于根据所述圆心坐标以及半径值通过构造函数画出图形;
计算角度单元40,用于根据指针起始点的坐标、指针待停下点的坐标以及圆心坐标计算出指针偏转的角度;
执行单元50,用于通过预设的传入函数将所述偏转的角度,传入至OnDraw函数执行指针偏转动画。
本实施例中的一种圆形自定义控件执行动画的方法实现通过圆形自定义控件显示一些动态数据的变化,使得显示效果非常酷炫。
初始化手机Actvity(界面),为确保能画出圆形自定义控件,根据手机宽度比高度小在Actvity(界面)中获取手机屏幕的宽度W,设置手机的左上角为原点中心(0,0),根据获取的手机屏幕宽度W得到圆形自定义控件的圆心的X轴坐标为W/2;上述圆形自定义控件包括标题栏,标题栏用于圆形自定义控件的命名,根据标题栏大小H1以及获取的手机屏幕的宽度得到圆形自定义控件对应的圆心的Y轴坐标为W/2+H1,得到对应的圆形自定义控件的圆心坐标为(W/2,W/2+H1)。
为了确保圆形自定义控件能在手机屏幕分辨率不同以及屏幕尺寸不同的情况下都能顺利显示出来,预留手机的圆心到屏幕两端一定的边距W1,获取的屏幕宽度W减去预留的边距W1得到对应的圆形自定义控件的半径为R=W-W1
调用构造函数,构造函数获取上述圆形自定义控件的圆心坐标参数值W/2、W/2+H1以及圆形自定义控件的半径的参数值R,根据获取的圆心坐标参数值W/2、W/2+H1以及半径的参数值R画出图形,上述图形根据圆形自定义控件的具体作用,可以为圆弧或圆。
预设设置手机的左上角为原点中心(0,0),在Actvity(界面)获取圆形自定义控件中指针起始点的坐标以及指针待停下点的坐标,根据获取指针起始点的坐标、指针待停下点的坐标以及上述圆心坐标利用算法计算得到对应指针偏转的角度θ。
在实现圆形自定义控件指针偏转动画调用预设的传入函数以及OnDraw函数,预设的传入函数根据获取指针偏转的角度θ,传入函数将获取指针偏转的角度θ传入至OnDraw函数执行一次刷新控件,OnDraw函数根据获取指针偏转的角度θ将指针偏转对应的角度θ,实现指针偏转的动画效果。
初始化Actvity(界面),在初始化Actvity(界面)中确定对应的圆形自定义控件画出对应的圆或圆弧的图形,通过获取圆形自定义控件中指针起始点的坐标以及指针待停下点的坐标,根据获取指针起始点的坐标、指针待停下点的坐标以及上述圆心坐标利用算法计算得到对应指针偏转的角度θ,调用预设的传入函数,根据上述预设的传入函数获取的角度θ传入至OnDraw函数执行一次刷新控件,OnDraw函数根据获取指针偏转的角度θ将指针偏转对应的角度θ,实现指针偏转的动画效果,使得通过圆形自定义控件实现了酷炫的动画效果,提高用户的体验。
进一步地,所述获取单元10用于;
所述圆心的X轴坐标的计算公式为:x0=W/2;所述Y轴坐标的计算公式为:y0=W/2+H1
其中,x0为所述圆心的X轴坐标,y0为所述圆心的Y轴坐标,W为屏幕宽度,H1为圆形自定义控件距离所述屏幕上端的预设距离。
在Actvity(界面)获取得到屏幕宽度,具体长度为W,设置手机屏幕左上角作为原点中心(0,0)。
根据获取的屏幕宽度W得到对应的圆心的X轴长度为W/2,根据上述圆心的X轴坐标的计算公式x0=W/2,得到圆心的X轴坐标为W/2;圆形自定义控件包括标题栏,上述标题栏用于圆形自定义控件的命名,设置于上述圆形自定义控件的上部,上述圆形自定义控件标题栏长度为H1,根据上述圆心的Y轴坐标的计算公式y0=W/2+H1,得到圆心的Y轴坐标为W/2+H1,得到圆形自定义控件的圆心坐标为(W/2,W/2+H1)。
进一步地,所述计算半径单元20用于;
R为圆形自定义控件的半径值,W为屏幕宽度,W1为根据手机屏幕分辨率以及屏幕尺寸确定圆到屏幕两端的距离。
为了使得圆形自定义控件能在手机屏幕分辨率不同以及屏幕尺寸不同的情况下都能显示出最佳效果,预设手机的圆心到屏幕两端的边距W1,使得圆形自定义控件在手机型号产生变化时,对应手机屏幕分辨率不同以及屏幕尺寸不同相应产生变化时不会影响圆形自定义控件的显示效果。
W为屏幕宽度,W1为根据手机屏幕分辨率以及屏幕尺寸确定圆到屏幕两端的距离,根据圆形自定义控件的半径的计算公式通过公式计算得到圆形自定义控件的半径值。
进一步地,所述计算角度单元40用于:
x0为圆心的X轴坐标,y0为圆心Y轴坐标;x1为指针起始点的X轴坐标,y1为指针起始点的Y轴坐标;x2为指针待停下点的X轴坐标,y2为指针待停下点的Y轴坐标,θ为指针偏转的角度。
预设手机的左上角为原点中心(0,0),在Actvity(界面)获取圆形自定义控件指针起始点的X轴坐标x1以及Y轴坐标y1;指针待停下点的坐标X轴坐标x2以及Y轴坐标y2。根据指针偏转的角度的计算公式计算得到指针应该偏转的角度θ。
参照图3,为本发明另一实施例中的一种圆形自定义控件执行动画的装置的结构示意图。
所述圆形自定义控件执行动画的装置还包括判断单元60;
用于获取手机屏幕分辨率以及屏幕尺寸,并判断所述手机屏幕分辨率单位以及屏幕尺寸单位是否为设备独立像素dip单位;若为设备独立像素dip单位则直接引用,否则转换为设备独立像素dip单位再引用。
对于不同的手机,为了保证圆形自定义控件能显示最好的效果,会根据手机屏幕分辨率以及屏幕尺寸的不同来调整圆的半径值,在获取手机屏幕分辨率以及屏幕尺寸之后,上述手机屏幕分辨率以及屏幕尺寸的单位一般为像素px单位,在需要根据手机屏幕分辨率以及屏幕尺寸来调整圆的半径值时,需要先将上述像素px单位转换为设备独立像素dip单位,设备独立像素dip单位为手机厂商界面数值的标准单位。
综上所述,本发明实施例中的圆形自定义控件的方法及装置实现了初始化Actvity(界面),在初始化Actvity(界面)中确定对应的圆形自定义控件画出对应的圆或圆弧的图形,通过获取圆形自定义控件中指针起始点的坐标以及指针待停下点的坐标,根据获取指针起始点的坐标、指针待停下点的坐标以及上述圆心坐标利用算法计算得到对应指针偏转的角度θ,调用预设的传入函数,根据上述预设的传入函数获取的角度θ传入至OnDraw函数执行一次刷新控件,OnDraw函数根据获取指针偏转的角度θ将指针偏转对应的角度θ,实现指针偏转的动画效果,使得通过圆形自定义控件实现了酷炫的动画效果,提高用户的体验。
以上所述仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。

Claims (10)

1.一种圆形自定义控件执行动画的方法,其特征在于,包括以下步骤:
获取屏幕宽度,根据屏幕宽度以及圆形自定义控件指定位置计算得到圆心的X轴坐标以及Y轴坐标;
根据手机屏幕分辨率以及屏幕尺寸计算得到圆形自定义控件的半径值;
根据所述圆心坐标以及半径值通过构造函数画出图形;
根据指针起始点的坐标、指针待停下点的坐标以及圆心坐标计算出指针偏转的角度;
通过预设的传入函数将所述偏转的角度,传入至OnDraw函数执行指针偏转动画。
2.根据权利要求1所述的圆形自定义控件执行动画的方法,其特征在于,
所述圆心的X轴坐标的计算公式为:x0=W/2;所述Y轴坐标的计算公式为:y0=W/2+H1
其中,x0为所述圆心的X轴坐标,Y为所述圆心的Y轴坐标,W为屏幕宽度,H1为圆形自定义控件距离所述屏幕上端的预设距离。
3.根据权利要求2所述的圆形自定义控件执行动画的方法,其特征在于,所述圆形自定义控件的半径的计算公式为:
<mrow> <mi>R</mi> <mo>=</mo> <mfrac> <mi>W</mi> <mn>2</mn> </mfrac> <mo>-</mo> <msub> <mi>W</mi> <mn>1</mn> </msub> <mo>;</mo> </mrow>
R为圆形自定义控件的半径值,W为屏幕宽度,W1为根据手机屏幕分辨率以及屏幕尺寸确定圆到屏幕两端的距离。
4.根据权利要求1所述的圆形自定义控件执行动画的方法,其特征在于,所述指针偏转的角度的计算公式为:
<mrow> <mi>&amp;theta;</mi> <mo>=</mo> <mi>arctan</mi> <mrow> <mo>(</mo> <mfrac> <mrow> <msub> <mi>y</mi> <mn>2</mn> </msub> <mo>-</mo> <msub> <mi>y</mi> <mn>0</mn> </msub> </mrow> <mrow> <msub> <mi>x</mi> <mn>2</mn> </msub> <mo>-</mo> <msub> <mi>x</mi> <mn>0</mn> </msub> </mrow> </mfrac> <mo>)</mo> </mrow> <mo>-</mo> <mi>arctan</mi> <mrow> <mo>(</mo> <mfrac> <mrow> <msub> <mi>y</mi> <mn>1</mn> </msub> <mo>-</mo> <msub> <mi>y</mi> <mn>0</mn> </msub> </mrow> <mrow> <msub> <mi>x</mi> <mn>1</mn> </msub> <mo>-</mo> <msub> <mi>x</mi> <mn>0</mn> </msub> </mrow> </mfrac> <mo>)</mo> </mrow> <mo>;</mo> </mrow>
x0为圆心的X轴坐标,y0为圆心Y轴坐标;x1为指针起始点的X轴坐标,y1为指针起始点的Y轴坐标;x2为指针待停下点的X轴坐标,y2为指针待停下点的Y轴坐标;θ为指针偏转的角度。
5.根据权利要求1所述的圆形自定义控件执行动画的方法,其特征在于,
所述根据手机屏幕分辨率以及屏幕尺寸计算得到圆形自定义控件的半径值步骤之前包括:
获取手机屏幕分辨率以及屏幕尺寸,并判断所述手机屏幕分辨率单位以及屏幕尺寸单位是否为设备独立像素dip单位;若为设备独立像素dip单位则直接引用,否则转换为设备独立像素dip单位再引用。
6.一种圆形自定义控件执行动画的装置,其特征在于,包括:
获取单元,用于获取屏幕宽度,根据屏幕宽度以及圆形自定义控件指定位置计算得到圆心的X轴坐标以及Y轴坐标;
计算半径单元,用于根据手机屏幕分辨率以及屏幕尺寸计算得到圆形自定义控件的半径值;
画图单元,用于根据所述圆心坐标以及半径值通过构造函数画出图形;
计算角度单元,用于根据指针起始点的坐标、指针待停下点的坐标以及圆心坐标计算出指针偏转的角度;
执行单元,用于通过预设的传入函数将所述偏转的角度,传入至OnDraw函数执行指针偏转动画。
7.根据权利要求6所述的圆形自定义控件执行动画的装置,其特征在于,
所述获取单元用于:
所述圆心的X轴坐标的计算公式为:x0=W/2;所述Y轴坐标的计算公式为:y0=W/2+H1
其中,x0为所述圆心的X轴坐标,Y为所述圆心的Y轴坐标,W为屏幕宽度,H1为圆形自定义控件距离所述屏幕上端的预设距离。
8.根据权利要求7所述的圆形自定义控件执行动画的装置,其特征在于,所述计算半径单元用于:
<mrow> <mi>R</mi> <mo>=</mo> <mfrac> <mi>W</mi> <mn>2</mn> </mfrac> <mo>-</mo> <msub> <mi>W</mi> <mn>1</mn> </msub> <mo>;</mo> </mrow>
R为圆形自定义控件的半径值,W为屏幕宽度,W1为根据手机屏幕分辨率以及屏幕尺寸确定圆到屏幕两端的距离。
9.根据权利要求6所述的圆形自定义控件执行动画的装置,其特征在于,所述计算角度单元用于:
<mrow> <mi>&amp;theta;</mi> <mo>=</mo> <mi>arctan</mi> <mrow> <mo>(</mo> <mfrac> <mrow> <msub> <mi>y</mi> <mn>2</mn> </msub> <mo>-</mo> <msub> <mi>y</mi> <mn>0</mn> </msub> </mrow> <mrow> <msub> <mi>x</mi> <mn>2</mn> </msub> <mo>-</mo> <msub> <mi>x</mi> <mn>0</mn> </msub> </mrow> </mfrac> <mo>)</mo> </mrow> <mo>-</mo> <mi>arctan</mi> <mrow> <mo>(</mo> <mfrac> <mrow> <msub> <mi>y</mi> <mn>1</mn> </msub> <mo>-</mo> <msub> <mi>y</mi> <mn>0</mn> </msub> </mrow> <mrow> <msub> <mi>x</mi> <mn>1</mn> </msub> <mo>-</mo> <msub> <mi>x</mi> <mn>0</mn> </msub> </mrow> </mfrac> <mo>)</mo> </mrow> </mrow>
x0为圆心的X轴坐标,y0为圆心Y轴坐标;x1为指针起始点的X轴坐标,y1为指针起始点的Y轴坐标;x2为指针待停下点的X轴坐标,y2为指针待停下点的Y轴坐标,θ为指针偏转的角度。
10.根据权利要求6所述的圆形自定义控件执行动画的装置,其特征在于,还包括判断单元:
用于获取手机屏幕分辨率以及屏幕尺寸,并判断所述手机屏幕分辨率单位以及屏幕尺寸单位是否为设备独立像素dip单位;若为设备独立像素dip单位则直接引用,否则转换为设备独立像素dip单位再引用。
CN201780001536.7A 2017-03-20 2017-03-20 圆形自定义控件执行动画的方法及装置 Pending CN107980121A (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2017/077216 WO2018170654A1 (zh) 2017-03-20 2017-03-20 圆形自定义控件执行动画的方法及装置

Publications (1)

Publication Number Publication Date
CN107980121A true CN107980121A (zh) 2018-05-01

Family

ID=62006149

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201780001536.7A Pending CN107980121A (zh) 2017-03-20 2017-03-20 圆形自定义控件执行动画的方法及装置

Country Status (2)

Country Link
CN (1) CN107980121A (zh)
WO (1) WO2018170654A1 (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109032472A (zh) * 2018-08-02 2018-12-18 珠海格力电器股份有限公司 一种应用展示方法、装置、终端及可读存储介质
CN109725963A (zh) * 2018-11-22 2019-05-07 努比亚技术有限公司 一种非矩形视图的实现方法、终端及计算机可读存储介质
CN110221898A (zh) * 2019-06-19 2019-09-10 北京小米移动软件有限公司 息屏画面的显示方法、装置、设备及存储介质
CN111142816A (zh) * 2019-12-27 2020-05-12 珠海趣印科技有限公司 一种用于打印机上基于算法描线画圆环的方法

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105827833A (zh) * 2016-03-22 2016-08-03 南京邮电大学 一种基于百分比的Android手机屏幕适配方法

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20110071598A (ko) * 2009-12-21 2011-06-29 한국전자통신연구원 위젯 재생 장치 및 방법
CN102541537B (zh) * 2011-12-01 2014-12-31 厦门雅迅网络股份有限公司 一种具有环绕效果的菜单容器控件的实现方法及装置
CN105278953B (zh) * 2015-09-23 2018-10-16 三星电子(中国)研发中心 圆形屏幕的界面显示方法和装置
CN106066798B (zh) * 2016-06-06 2019-10-18 深圳铂睿智恒科技有限公司 一种时钟个性化指示表盘设备及其实现方法

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105827833A (zh) * 2016-03-22 2016-08-03 南京邮电大学 一种基于百分比的Android手机屏幕适配方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
山代王: "Android绘制时钟", 《CSDN》 *

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109032472A (zh) * 2018-08-02 2018-12-18 珠海格力电器股份有限公司 一种应用展示方法、装置、终端及可读存储介质
CN109725963A (zh) * 2018-11-22 2019-05-07 努比亚技术有限公司 一种非矩形视图的实现方法、终端及计算机可读存储介质
CN110221898A (zh) * 2019-06-19 2019-09-10 北京小米移动软件有限公司 息屏画面的显示方法、装置、设备及存储介质
CN110221898B (zh) * 2019-06-19 2024-04-30 北京小米移动软件有限公司 息屏画面的显示方法、装置、设备及存储介质
CN111142816A (zh) * 2019-12-27 2020-05-12 珠海趣印科技有限公司 一种用于打印机上基于算法描线画圆环的方法
CN111142816B (zh) * 2019-12-27 2023-03-03 珠海趣印科技有限公司 一种用于打印机上基于算法描线画圆环的方法

Also Published As

Publication number Publication date
WO2018170654A1 (zh) 2018-09-27

Similar Documents

Publication Publication Date Title
CN107980121A (zh) 圆形自定义控件执行动画的方法及装置
CN102945144B (zh) 窗口布局的方法及装置
CN101477792B (zh) 一种在背景画面上显示叠加图形的方法及显示装置
AU2017259235A1 (en) Display control method and device for side sliding interface, terminal and storage medium
KR101589994B1 (ko) 입력 방법, 입력 장치 및 단말 장치
CN104469934B (zh) 一种确定定位终端相对位置的方法
JP2013122738A (ja) 電子機器
CN102436308A (zh) 触摸屏虚拟按键实体化映射的方法及使用该方法的触摸屏游戏手机
CN102930575B (zh) 一种辅助图形绘制的方法、装置及信息终端
CN108762601A (zh) 应用功能的显示方法、装置及移动终端
CN109254624A (zh) 一种智能穿戴设备及其界面操作方法
CN104639725A (zh) 界面切换方法及装置
US20210055859A1 (en) Graphic display method and apparatus
CN108037886A (zh) 柔性屏的显示方法、移动终端及可读存储介质
CN106959794A (zh) 一种消息提示方法及装置
CN105701849B (zh) 一种模拟圆规实现绘制圆的方法
CN110502205A (zh) 图片显示边缘处理方法、装置、电子设备和可读存储介质
CN109543125A (zh) 电力调度数据网中网络元素的绘制方法和装置
CN106708372A (zh) 一种未读消息显示的方法及装置
CN107357510B (zh) 触摸选择的视觉反馈方法和装置
JP5880024B2 (ja) 情報処理装置及びプログラム
CN107967162A (zh) 一种基于Windows系统的应用程序高清晰显示方法
CN104598690B (zh) 一片袖的款式图到纸样图的转换方法
WO2013078788A1 (zh) 一种显示文字的方法及装置
CN102760028B (zh) 基于Symbian平台的放大镜实现方法和装置

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20180501