一种安卓设备及其收音机电台刻度控件的制作方法

文档序号:9887261阅读:456来源:国知局
一种安卓设备及其收音机电台刻度控件的制作方法
【技术领域】
[0001]本发明涉及安卓设备的收音机程序领域,尤其涉及的是一种刻度位置不会因屏幕分辨率不同而出现偏差的电台刻度控件。
【背景技术】
[0002]因为目前安卓(Android)设备屏幕的分辨率种类较多,所以在软件开发的时候稍不注意进行屏幕适配的话就会出现很多问题。比如图片在高分辨率和低分辨率下的显示问题,以收音机程序为例,其电台刻度控件在高分辨率下显示低分辨率图片时,就会出现显示质量下降以至于对不准的现象,在不同的分辨率下显示不同的图片,容易出现一个分辨率下的电台刻度控件能与刻度值一一对应,而在另一个分辨率下电台刻度控件与刻度值就会出现偏差。
[0003]因此,现有技术尚有待改进和发展。

【发明内容】

[0004]为解决上述技术问题,本发明提供一种收音机电台刻度控件,可在不同分辨率下保证电台刻度控件都与刻度值一一对应。
[0005]同时,本发明还提供一种安卓设备,其所用收音机电台刻度控件可不受屏幕分辨率的影响。
[0006]本发明的技术方案如下:一种收音机电台刻度控件,包括mScalelm刻度尺子控件和mPointerlm刻度指针子控件,mScalelm刻度尺子控件水平设置,mPointerlm刻度指针子控件垂直设置,通过公式一将刻度值转换成控件位置:
公式一:mScal eMarginLeft = (MIDDLE_FREQUENCY - mDragFrequency) *mPxPreFreq + mMi dd I eMarg iη,其中,mDragFrequency表不要转换的刻度值,mScal eMarginLeft 表不刻度值 mDragFrequency 所在的控件位置,MIDDLE_FREQUENCY表不中间刻度值,mPxPreFreq表示最小刻度值0.1所占的像素值,mMiddleMargin表示刻度值为中间刻度值时所在的控件位置。
[0007]所述的收音机电台刻度控件,通过公式二将控件位置转换成刻度值:
公式二:mDragFrequency = MIDDLE_FREQUENCY - (margin - mMiddleMargin) /mPxPreFreq,其中,mDragFrequency表示要转换的刻度值,MIDDLE_FREQUENCY表示中间刻度值,margin表示控件位置,mPxPreFreq表示最小刻度值0.1所占的像素值,mMiddleMargin表示刻度值为中间刻度值时所在的控件位置。
[0008]所述的收音机电台刻度控件,在不同的分辨率下获取与mScalelm刻度尺子控件相对应的图片的长度。
[0009]所述的收音机电台刻度控件,所述图片的长度与最小刻度值0.1所占像素值mPxPreFreq的比值为恒定值。
[0010]所述的收音机电台刻度控件,自定义FmScaleView父控件继承自FrameLayout,所述mScalelm刻度尺子控件和所述mPointerlm刻度指针子控件包括在FmScaleView父控件中,FmScaleView父控件还包括mMasklm刻度遮罩层子控件,mMasklm刻度遮罩层子控件以中间为起点,随着向左右延伸距离的增加,其透明度逐渐减少。
[0011]所述的收音机电台刻度控件,所述mScalelm刻度尺子控件、mMasklm刻度遮罩层子控件和mPointerlm刻度指针子控件的类型均为ImageView,以各自对应的图片作为资源,使其自适应。
[0012]所述的收音机电台刻度控件,三个子控件的图层顺序从底到上依次为mScalelm刻度尺子控件、mMasklm刻度遮罩层子控件和mPointerlm刻度指针子控件。
[0013]所述的收音机电台刻度控件,所述mMasklm刻度遮罩层子控件和mPointerlm刻度指针子控件在父控件FmScaleView的位置不随着刻度值的变化而变化,而mScalelm刻度尺子控件在父控件FmSca I eVi ew的位置随着刻度值的变化而变化。
[0014]—种安卓设备,其应用程序中包括收音机程序,收音机程序中设置有电台刻度控件,所述电台刻度控件为上述中任一项所述的收音机电台刻度控件。
[0015]所述的安卓设备,在触摸屏幕滑动调节刻度时,快速滑动使mScalelm刻度尺子控件做减速运动并继续滑动一段距离后停下。
[0016]本发明所提供的一种安卓设备及其收音机电台刻度控件,由于采用了最小刻度值0.1所占的像素值,通过中间刻度值及其控件所在的位置进行换算,在不同分辨率下获取对应的图片长度和屏幕宽度,进而获得指定刻度值的控件位置。
【附图说明】
[0017]图1是本发明收音机电台刻度控件的示意图。
【具体实施方式】
[0018]以下将结合附图,对本发明的【具体实施方式】和实施例加以详细说明,所描述的具体实施例仅用以解释本发明,并非用于限定本发明的【具体实施方式】。
[0019]自定义FmScaleView父控件继承自FrameLayout ,FmScaleView父控件含有三个子控件分别为mPointerlm(刻度指针)、mMaskIm(刻度遮罩层)和mScaleIm(刻度尺),这三个子控件的类型都为ImageView,各自以对应的图片作为资源,使其自适应。
[0020]如图1所示,图1是本发明收音机电台刻度控件的示意图,三个子控件的图层顺序从底到上依次为mScalelm刻度尺子控件110、mMaskIm刻度遮罩层子控件120和mPointerlm刻度指针子控件130;其中,mMasklm刻度遮罩层子控件120和mPointerlm刻度指针子控件130在FmScaleView父控件的位置不会随着刻度值的变化而变化,而mScalelm刻度尺子控件110在FmScaleView父控件的位置会随着刻度值的变化而变化;因此电台刻度控件在不同分辨率下与刻度值一一对应的关键在于,mScalelm刻度尺子控件110的位置与刻度值的对应关系。
[0021]公式一、刻度值转换成控件位置:mScaleMarginLeft= (MIDDLE_FREQUENCY -mDragFrequency) * mPxPreFreq + mMiddleMargin,其中,mDragFrequency表不要转换的刻度值,!1130316]\^18;[111^;1^1:表示刻度值1110^8?^91161107所在的控件位置,MIDDLE_FREQUENCY表示中间刻度值,mPxPreFreq表示最小刻度值0.1所占的像素值,mMiddleMargin表示刻度值为中间刻度值时所在的控件位置。
[0022]公式一中,已知的参数有刻度值mDragFrequency、中间刻度值MIDDLE_FREQUENCY、最小刻度值0.1所占的像素值mPxPreFreq、刻度值为中间刻度值时所在的控件位置mMiddleMargin,未知的参数为刻度值mDragFrequency所在的控件位置mScaleMarginLeft。
[0023]—方面,图片的长度与最小刻度值0.1所占像素值mPxPreFreq的比值为恒定值,在不同分辨率下获取相对应的图片的长度,由此可获取对应分辨率下最小刻度值0.1所占的像素值mPxPreFreq,而通过手机可获得不同分辨率下屏幕的宽度;另一
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1