CN107992300A - 一种日历实现方法 - Google Patents

一种日历实现方法 Download PDF

Info

Publication number
CN107992300A
CN107992300A CN201711120255.1A CN201711120255A CN107992300A CN 107992300 A CN107992300 A CN 107992300A CN 201711120255 A CN201711120255 A CN 201711120255A CN 107992300 A CN107992300 A CN 107992300A
Authority
CN
China
Prior art keywords
difference
value
height
month
calendar
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.)
Granted
Application number
CN201711120255.1A
Other languages
English (en)
Other versions
CN107992300B (zh
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.)
Chengdu Luxingtong Information Technology Co Ltd
Original Assignee
Chengdu Luxingtong Information 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 Chengdu Luxingtong Information Technology Co Ltd filed Critical Chengdu Luxingtong Information Technology Co Ltd
Priority to CN201711120255.1A priority Critical patent/CN107992300B/zh
Publication of CN107992300A publication Critical patent/CN107992300A/zh
Application granted granted Critical
Publication of CN107992300B publication Critical patent/CN107992300B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/38Creation or generation of source code for implementing user interfaces

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

本发明提供一种日历实现方法,该方法对同一月份的View高度多次测量,并依次分别计算第一次测量得到的高度值与其余n‑1次测量得到的高度值之间的差值。依次检测n‑1个差值是否大于预设差值阈值。当检测到有差值大于预设差值阈值时,停止检测,并获取该差值所对应的测量高度值。根据第一次测量得到的高度值和该差值对应的高度值确定该月份的ViewPager高度。根据该月份的ViewPager高度和View在日历APP中呈现该月份。本发明提供的日历实现方法能够准确提取每一月份的ViewPager高度,进而改变月份在日历APP中的高度。月份切换过程中存在动画过程,使得月份切换平滑流畅。

Description

一种日历实现方法
技术领域
本发明涉及通信技术领域,尤其涉及一种日历实现方法。
背景技术
随着手机、ipad和电脑等移动终端设备的普及以及应用的推广,越来越多的用户依赖于移动终端设备。移动终端设备大多设置有日历这一应用,以便于用户查看当前或历年日期。目前,可用的日历APP(Application,中文全称:应用软件)多种多样,如万年历、365日历以及中华万年历等。由于每个月份的天数不同,因而每个月份所占行数不同,继而呈现为不同的显示形式。
附图1示出了一种常见的日历显示界面。由图1可见,各月份分别占据5行,每个月份的总高度、总行数不变。为实现前后月份的总高度、总行数不变,前后两个月份需要通过补位或合位的形式满足总高度,如1月份的合位,2月份的补位。当采用图1所示日历呈现形式时,日历内容较为复杂,不易直观得出日期与星期的对应关系,影响用户的使用。附图2示出了另一种常见的日历显示界面。由图2可见,每个月份的总高度仍然不变,但行数发生变化。由于行数发生变化,因而前后两个月份中的字体大小不一致,影响用户对日历的视觉体验。
综上,需要一种日历实现方法,以满足用户对日历显示界面的视觉需求。
发明内容
本发明提供一种日历实现方法,以解决现有日历显示界面不能满足用户需求的问题。
本发明提供一种日历实现方法,所述方法包括:
对同一月份的View高度测量n次;
依次分别计算第一次测量得到的高度值与其余n-1次测量得到的高度值之间的差值;
依次检测所述差值是否大于预设差值阈值;
当检测到所述差值大于所述预设差值阈值时,停止检测,获取所述差值对应的高度值;
根据所述第一次测量得到的高度值和所述差值对应的高度值确定所述月份的ViewPager高度;
根据所述月份的View和所述ViewPager高度呈现所述月份。
优选地,所述测量次数n≥5。
优选地,所述预设差值阈值为50。
优选地,所述方法还包括:当检测到所述差值小于或等于所述预设差值阈值时,继续检测,直至检测到所述差值大于所述预设差值阈值。
优选地,若未检测到所述差值大于所述预设差值阈值,则重新设定差值阈值,依次检测所述差值是否大于所述重新设定差值阈值;所述重新设定差值阈值的数值小于所述预设差值阈值。
优选地,所述重新设定差值阈值为30、20、10或5。
优选地,所述方法还包括:根据所述第一次测量得到的高度值和所述差值对应的高度值启动动画,以使月份切换时存在动画过程。
本发明的实施例提供的技术方案可以包括以下有益效果:
本发明提供一种日历实现方法,该方法包括对同一月份的View高度进行测量,且测量n次。依次记录测量得到的高度值。根据测量得到的高度值,依次分别计算第一次测量得到的高度值与其余n-1次测量得到的高度值之间的差值,从而得到n-1个差值。依次检测n-1个差值是否大于预设差值阈值。当检测到有差值大于预设差值阈值时,停止检测,并获取该差值所对应的测量高度值。根据第一次测量得到的高度值和该差值对应的高度值确定该月份的ViewPager高度。该月份的ViewPager高度即为该月份在日历APP中所呈现的高度值。根据该月份的ViewPager高度以及该月份的View在日历APP中呈现该月份。本发明提供的日历实现方法能够准确提取每一月份的ViewPager高度,进而改变月份在日历APP中的高度,且该高度根据本月份的View决定。由于每一月份的ViewPager高度改变,因而不需要改变每一月份的字体大小或通过补位或合位满足月份的高度要求。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本发明。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施例,并与说明书一起用于解释本发明的原理。
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为一种常见的日历显示界面;
图2为另一种常见的日历显示界面;
图3为本发明实施例提供的日历实现方法的流程示意图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本发明相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本发明的一些方面相一致的装置和方法的例子。
请参考附图3,附图3示出了本发明实施例提供的日历实现方法的流程示意图。下述具体实施例的描述均以附图3为基础。
本发明实施例提供一种日历实现方法,该方法包括:
S01:对同一月份的View高度测量n次。
在Android(中文名称:安卓)系统中,日历APP的实现方法一般为ViewPager(中文名称:引导页)+自定义View(中文名称:视图)的方式。其中,View为每一月份的视图页面,具体体现月份的排布。而ViewPager为日历的引导页,相当于盛放View的容器,即月份在ViewPager的页面上呈现。由于View呈现在ViewPager上,因而ViewPager的高度由放置于其内部的View的高度决定。为实现在ViewPager上呈现全面的View,ViewPager的高度必须大于或等于View的高度。因此,在日历APP的实现方法中,View高度的确定至关重要。
在日历APP中,系统采用复用机制多次测量同一月份的View高度,即系统对初始创建的同一月份的View进行多次测量,而不是测量完该月份的View后,再重新建立一次该月份的View并进行测量。系统会对每个月份的View高度进行测量。在本发明实施例中,系统至少测量View高度5次,即测量次数n≥5,以确保测量准确。n次测量时,依次记录测量得到的View的高度值。如经过系统的6次测量,得到View的高度值依次为:565、565、570、720、720和565。
S02:依次分别计算第一次测量得到的高度值与其余n-1次测量得到的高度值之间的差值。
依次分别计算第一次测量得到的高度值与其余n-1次测量得到的高度值之间的差值,得到n-1个差值数值。根据S01中的示例,分别依次计算第一次测量得到的高度值565与565、570、720、720、565之间的差值,并得到5个差值数值。该5个差值数值依次为0、5、155、155、0。
S03:依次检测所述差值是否大于预设差值阈值。
预先设定差值阈值,该预设差值阈值用于从多次测量得到的高度值中选取能够正确表征View高度的数值。预设差值阈值根据日历实现页面、系统、日历显示精度以及用户需求等设定。根据S01中的示例,设定预设差值阈值为50。依次检测5个差值数值是否大于预设差值阈值,即依次检测0、5、155、155和0否大于50。
S04:当检测到所述差值大于所述预设差值阈值时,停止检测,获取所述差值对应的高度值。
在依次检测差值是否大于预设差值阈值的过程中,当检测到某一差值大于预设差值阈值时,则停止检测。同时,获取该差值所对应的View的高度值。此时,可定义第一次测量得到的View的高度值和该差值所对应的View的高度值为起始高度值。根据S01中的示例,在依次检测0、5、155、155和0否大于50的过程中,当检测到155大于50时,则停止检测,即不再检测155和0否大于50。获取差值155所对应的View的高度值,即720,则第一次测量得到的View的高度值565和通过检测差值得到的720为View的起始高度值。在本发明实施例中,优选设定预设差值阈值为50。
进一步,当检测到的差值小于或等于预设差值阈值时,则继续检测,直至检测到差值数值大于预设差值阈值。若一直未检测到差值数值大于预设差值阈值,则重新设定差值阈值,且重新设定差值阈值小于之前设置的差值阈值。重新设定差值阈值后,再次依次检测差值数值是否大于重新设定的差值阈值。若还检测不到差值数值大于重新设定的差值阈值,则再次重新设定差值阈值,直至检测到差值数值大于差值阈值。根据本发明实施例优选设定的预设差值阈值为50,则重新设定差值阈值的数值可以为30、20、10或5等。
S05:根据所述第一次测量得到的高度值和所述差值对应的高度值确定所述月份的ViewPager高度。
由于已经检测出某一差值大于预设差值阈值,因而可以由第一次测量得到的高度值和该差值对应的高度值确定本月份的View的高度值。由于View的高度值确定ViewPager高度,因此,由第一次测量得到的高度值和该差值对应的高度值确定本月份的ViewPager高度。例如S01中的示例,根据565和720便能够确定该月份的ViewPager高度,即ViewPager高度最少为720。
S06:根据所述月份的View和所述ViewPager高度呈现所述月份。
根据得到的ViewPager高度以及该月份的View便能够确定该月份在日历APP中的呈现高度及呈现形式。由于系统能够测量每个月份的View的高度,因而能够得到每个月份的呈现视图。
本发明实施例提供的日历实现方法在月份切换时,能够准确提取每一月份的View的高度值,进而确定每一月份的ViewPager高度。由于不同月份的View的高度值不同,因而不同月份的ViewPager高度不同,进而每一月份呈现在日历APP中的高度不同。由于每一月份的ViewPager高度改变,因而不需要改变每一月份的字体大小或通过补位或合位满足月份的高度要求。
进一步,本发明实施例提供的日历实现方法还包括在月份切换时呈现动画切换。具体地,根据第一次测量得到的View的高度值以及大于预设差值阈值的差值数值所对应的高度值启动动画。动画的设定形式、呈现画面以及启动动画的方式等根据用户喜好确定,只要能够通过确定的View的两个高度值启动动画即可。通过在月份切换时呈现动画的方式能够使得月份切换过程中不生硬、不突兀,并给用户提供很好的视觉体验。
本领域技术人员在考虑说明书及实践这里发明的公开后,将容易想到本发明的其它实施方案。本申请旨在涵盖本发明的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本发明的一般性原理并包括本发明未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本发明的真正范围和精神由下面的权利要求指出。
应当理解的是,诸如“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。本发明并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本发明的范围仅由所附的权利要求来限制。

Claims (7)

1.一种日历实现方法,其特征在于,所述方法包括:
对同一月份的View高度测量n次;
依次分别计算第一次测量得到的高度值与其余n-1次测量得到的高度值之间的差值;
依次检测所述差值是否大于预设差值阈值;
当检测到所述差值大于所述预设差值阈值时,停止检测,获取所述差值对应的高度值;
根据所述第一次测量得到的高度值和所述差值对应的高度值确定所述月份的ViewPager高度;
根据所述月份的View和所述ViewPager高度呈现所述月份。
2.根据权利要求1所述的日历实现方法,其特征在于,所述测量次数n≥5。
3.根据权利要求1所述的日历实现方法,其特征在于,所述预设差值阈值为50。
4.根据权利要求1所述的日历实现方法,其特征在于,所述方法还包括:
当检测到所述差值小于或等于所述预设差值阈值时,继续检测,直至检测到所述差值大于所述预设差值阈值。
5.根据权利要求4所述的日历实现方法,其特征在于,若未检测到所述差值大于所述预设差值阈值,则重新设定差值阈值,依次检测所述差值是否大于所述重新设定差值阈值;所述重新设定差值阈值的数值小于所述预设差值阈值。
6.根据权利要求5所述的日历实现方法,其特征在于,所述重新设定差值阈值为30、20、10或5。
7.根据权利要求1-6中任意一项所述的日历实现方法,其特征在于,所述方法还包括:根据所述第一次测量得到的高度值和所述差值对应的高度值启动动画,以使月份切换时存在动画过程。
CN201711120255.1A 2017-11-14 2017-11-14 一种日历实现方法 Active CN107992300B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201711120255.1A CN107992300B (zh) 2017-11-14 2017-11-14 一种日历实现方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201711120255.1A CN107992300B (zh) 2017-11-14 2017-11-14 一种日历实现方法

Publications (2)

Publication Number Publication Date
CN107992300A true CN107992300A (zh) 2018-05-04
CN107992300B CN107992300B (zh) 2021-02-23

Family

ID=62030835

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201711120255.1A Active CN107992300B (zh) 2017-11-14 2017-11-14 一种日历实现方法

Country Status (1)

Country Link
CN (1) CN107992300B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111026472A (zh) * 2019-10-28 2020-04-17 珠海格力电器股份有限公司 日历配置和日期选择的方法、装置、存储介质、电子设备

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040125150A1 (en) * 2002-12-31 2004-07-01 Adcock John E. Calendar-based interfaces for browsing and manipulation of digital images
CN103677808A (zh) * 2013-11-12 2014-03-26 北京奇虎科技有限公司 用于移动终端的时间事件设置方法及设备
US20150248199A1 (en) * 2014-02-28 2015-09-03 Apple Inc. Split view calendar
CN104978111A (zh) * 2014-04-11 2015-10-14 腾讯科技(深圳)有限公司 列表控件的恢复方法和装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040125150A1 (en) * 2002-12-31 2004-07-01 Adcock John E. Calendar-based interfaces for browsing and manipulation of digital images
CN103677808A (zh) * 2013-11-12 2014-03-26 北京奇虎科技有限公司 用于移动终端的时间事件设置方法及设备
US20150248199A1 (en) * 2014-02-28 2015-09-03 Apple Inc. Split view calendar
CN104978111A (zh) * 2014-04-11 2015-10-14 腾讯科技(深圳)有限公司 列表控件的恢复方法和装置

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
FC小司: "Android 根据图片高度动态设置ViewPager高度", 《ANDROID 根据图片高度动态设置VIEWPAGER高度 - FC小司的博客》 *
OLKUNMUSTAFA: "Viewpager dynamic height for all fragment (Like google calendar)", 《ANDROID - VIEWPAGER DYNAMIC HEIGHT FOR ALL FRAGMENT (LIKE GOOGLE CALENDAR) - STACK OVERFLOW》 *
李宁: "实现基于Android的日历系统", 《电脑编程技巧与维护》 *
王明珠,史桂红: "《移动应用开发任务式驱动教程——基于Android Studio》", 31 August 2017, 北京理工大学出版社 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111026472A (zh) * 2019-10-28 2020-04-17 珠海格力电器股份有限公司 日历配置和日期选择的方法、装置、存储介质、电子设备

Also Published As

Publication number Publication date
CN107992300B (zh) 2021-02-23

Similar Documents

Publication Publication Date Title
CN100430997C (zh) 调整移动通信终端显示的装置及方法
EP3783473A1 (en) Page display method and apparatus, mobile terminal, and storage medium
JP6114654B2 (ja) 場所推薦装置及び場所推薦方法
CN105612474B (zh) 识别多凝视的方法及其设备
US20100225636A1 (en) Display device and display method thereof
CN107870856A (zh) 视频播放启动时长测试方法、装置及电子终端
CN107992300A (zh) 一种日历实现方法
CN104252828A (zh) 保护视力的显示方法、显示装置和终端设备
CN106095340A (zh) 测量仪数据存储方法和装置
CN103150098B (zh) 一种展现移动终端拍摄的图像的方法及装置
CN110765182B (zh) 数据统计方法、装置、电子设备及存储介质
Urh et al. TaskyApp: inferring task engagement via smartphone sensing
CN110363757B (zh) 超声图像测量结果显示方法、装置、设备和可读存储介质
CN110113673A (zh) 一种弹幕显示方法、装置及电子设备
CN105447094A (zh) 星座识别方法及装置、移动终端
CN105527420A (zh) 胶体金定量仪检测系统及其方法
CN111493810A (zh) 一种基于显示设备的视力检测方法、显示设备及存储介质
JPWO2021005703A5 (zh)
CN109239901A (zh) 一种显微成像系统对焦面快速标定、对焦定位方法及装置
CN109700422A (zh) 测量视觉系统对比敏感度的装置
CN105796049A (zh) 一种监测视力的方法、装置及终端
CN103838660B (zh) 一种提示角度调整的方法及电子设备
JP5687240B2 (ja) 表示倍率を決定する電化製品、表示倍率決定方法、及び、プログラム
CN105426738B (zh) 移动终端的解锁方法和装置
CN112284522B (zh) 光线传感器的测试方法、装置、存储介质及电子设备

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
GR01 Patent grant
GR01 Patent grant