一种用户界面控件实现方法及装置的制造方法

文档序号:8412336阅读:226来源:国知局
一种用户界面控件实现方法及装置的制造方法
【技术领域】
[0001] 本发明实施例涉及计算机技术领域,尤其涉及一种用户界面控件实现方法及装 置。
【背景技术】
[0002] 在当前移动互联网时代,智能终端越来越普及,各大厂商为了吸引更多的客 户,越来越重视用户体验,而对用户来说,最直接的交互方式便是通过手机的Π (User Interface,用户界面)来进行交互。在手机开发中,原生的Π 控件已经不能满足人们日 益增长的需求,为此通常需要自定义一些个性化的Π控件,而这些控件因为视觉传达的要 求,表现形式都较为特殊,例如一些特殊的操作栏、控制栏等。
[0003] 然而,在现有技术中,通常是通过一系列的硬代码来实现个性化Π控件,也即对 于不同的个性化Π控件而言,需逐一编写其对应的实现代码,这样会造成个性化Π控件的 填充内容、坐标等参数与个性化UI控件的实现代码之间具有很强的耦合性,从而降低了个 性化UI控件实现代码的兼容性与扩展性,且个性化UI控件实现代码的逻辑结构较复杂,可 读性较差。

【发明内容】

[0004] 本发明实施例提供一种用户界面控件实现方法及装置,以提高用户界面控件的开 发效率,增强用户界面控件的兼容性与扩展性。
[0005] -方面,本发明实施例提供了一种用户界面控件实现方法,该方法包括:
[0006] 获取待实现的用户界面控件的属性数据;
[0007] 利用所述属性数据,实例化预先定义的用于实现用户界面控件的类,以得到控件 对象;
[0008] 根据所述控件对象绘制所述用户界面控件。
[0009] 另一方面,本发明实施例还提供了一种用户界面控件实现装置,该装置包括:
[0010] 获取模块,用于获取待实现的用户界面控件的属性数据;
[0011] 实例化模块,用于利用所述属性数据,实例化预先定义的用于实现用户界面控件 的类,以得到控件对象;
[0012] 绘制模块,用于根据所述控件对象绘制所述用户界面控件。
[0013] 本发明实施例提供的技术方案,利用获取待实现的用户界面控件的属性数据,实 例化预先定义的用于实现用户界面控件的类,以得到控件对象,再根据得到的控件对象绘 制用户界面控件。通过使用上述技术方案,对于不同的个性化π控件而言,不必逐一编写 其对应的实现代码,而是利用待实现的UI控件的属性数据实例化一个通用的预先定义的 用于实现UI控件的类,来实现个性化UI控件的填充内容、坐标等属性数据与个性化UI控 件的实现代码之间的分离,增强个性化UI控件的兼容性与扩展性,简化代码结构,进而提 高Π控件的开发效率,且方便后期调试。
【附图说明】
[0014] 图1是本发明实施例一提供的一种用户界面控件实现方法的流程示意图;
[0015] 图2是本发明实施例二提供的一种用户界面控件实现方法的流程示意图;
[0016] 图3是本发明实施例二提供的包含多个子控件的用户界面控件在用户界面中显 示的示意图;
[0017] 图4是本发明实施例三提供的一种用户界面控件实现方法的流程示意图;
[0018] 图5是本发明实施例四提供的一种用户界面控件实现装置的结构框图。
【具体实施方式】
[0019] 下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描 述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便 于描述,附图中仅示出了与本发明相关的部分而非全部结构。
[0020] 实施例一
[0021] 图1是本发明实施例一提供的一种用户界面控件实现方法的流程示意图,该方法 可以由用户界面控件实现装置来执行,所述装置由软件实现,可被内置在诸如笔记本电脑 或者台式电脑之类的用于用户界面控件设计的终端设备上。参见图1,该方法具体包括如下 步骤:
[0022] 步骤101、获取待实现的用户界面控件的属性数据。
[0023] 个性化Π控件的表现形式可以是多样的,但在在绘制Π控件时,都需要根据Π 控件的属性数据进行绘制。示例性的,所述属性数据可包括UI控件的高度、宽度、在用户界 面上的坐标以及填充内容等。其中,所述坐标可包括横坐标和纵坐标;所述填充内容可以为 图片内容、文本内容和子控件等。
[0024] 步骤102、利用属性数据,实例化预先定义的用于实现用户界面控件的类,以得到 控件对象。
[0025] 示例性的,所述预先定义的用于实现用户界面控件的类中可包含定义属性变量的 数据类型的代码、为属性变量赋值的代码和返回属性变量的数值的代码等。
[0026] 通过将所获取的待实现的用户界面控件的属性数据代入到基类中来实例化基类, 则代入后所述属性变量的数值即为所获取的待实现的用户界面控件的属性数据,从而得到 控件对象。
[0027] 步骤103、根据控件对象绘制所述用户界面控件。
[0028] 本实施例的技术方案,利用获取的待实现的用户界面控件的属性数据,实例化预 先定义的用于实现用户界面控件的类,以得到控件对象,再根据得到的控件对象绘制用户 界面控件。通过使用上述技术方案,对于不同的个性化Π控件而言,不必逐一编写其对应 的实现代码,而是利用待实现的UI控件的属性数据实例化一个通用的预先定义的用于实 现UI控件的类,来实现个性化UI控件的填充内容、坐标等属性数据与个性化UI控件的实 现代码之间的分离,增强个性化UI控件的兼容性与扩展性,简化代码结构,进而提高UI控 件的开发效率,且方便后期调试。
[0029] 实施例二
[0030] 图2是本发明实施例二提供的一种用户界面控件实现方法的流程示意图,本实施 例在上述实施例的基础上,提供了所述待实现的用户界面控件包含多个子控件时的技术方 案。
[0031] 相应的,本实施例的方法包括如下步骤:
[0032] 步骤201、获取待实现的用户界面控件的各个子控件的属性数据。
[0033] 步骤202、分别利用各个子控件的属性数据,实例化预先定义的用于实现用户界面 控件的类,以得到各个子控件对象,并将所得到的各个子控件对象存储至预先创建的控件 列表中。
[0034] 示例性的,可将所述预先定义的用于实现用户界面控件的类记为UiData,则所述 预先创建的控件列表可定义为:
[0035] ArrayList<UiData>list = new ArrayList<UiData>()
[0036] 步骤203、遍历控件列表,根据当前遍历到的子控件对象绘制用户界面控件。
[0037] 对于个性化Π控件的绘制通常是通过运行预先编写好的一段代码来实现的。在 其运行过程中,会逐一地去获取控件的填充内容,再按照相应的控件在用户界面上的坐标, 逐一将具有一定高度和宽度的控件绘制到用户界面中。然而,在现有技术中,由于没有对不 同控件的填充内容、在用户界面上的坐标等属性数据采用统一的封装格式进行封装,所以 需要重复编写这一部分的控件绘制代码。通常一个Π控件还会包含多个子控件。图3是 本发明实施例二提供的包含多个子控件的用户界面控件在用户界面中显示的示意图。如图 3所示的自定义的个性化UI控件,该控件中包含有8个子控件,在用户界面上显示的内容分 别为 "Auto"、"0. 5s"、"ls"、"2s"、"4s"、"8s"、"16s" 和 "32s"。
[0038] 使用现有方法编写图3中用户界面控件的实现代码如下:
[0039] mTextString = mContext. getResources () . getString (mContext. getResources〇.getIdentifier( "time_auto","string",PACKAGE_NAME));
[0040] canvas. drawBitmap(mTriangleBitmap, P0SITI0N_WIDTH_AUT0_T0_LEFT, TRAGLE_ VERTICAL_T0_T0P, mTrianglePaint);
[0041] canvas. drawText (mTextString, TEXT_VERTICAL_TIME_LEFT_AUTO, TEXT_ VERTICAL_TIME_TOP, mTextPaint);
[0042] mTextString = mContext. getResources () . getStr ing (mContext. getResources〇.getIdentifier( "time_0. 5","string",PACKAGE_NAME));
[0043] canvas. drawBitmap (mTriangleBitmap, POSIT 10N_ff I DTH_AUT0_T0_ LEFT+P0SITI0N_WIDTH_AUT0_T0_500MS, TRAGLE_VERTICAL_T0_T0P, mTrianglePaint);
[0044] canvas. drawText (mTextString, TEXT_VERTICAL_TIME_LEFT_500MS, TEXT_ VERTICAL
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1