• DSkinLite Demo系列(一):下载类软件 (转载)


         点击下载示例程序

          UIEASY将陆续推出各种类型的软件Demo,以帮助用户更好的了解DSkinLite所支持的特性,我们将尽可能仿真更多的软件特性,拉近软件Demo和现实软件的距离,也更好的展示DSkinLite的可扩展性和稳定性。
        


          下载类软件主要涉及以下界面特性和控件:

    • 界面换底纹换色


      Download Demo提供界面换底纹和换色的特性。底纹更换是目前比较流行的一种换肤操作,即更换主界面某部分的图片,同时配合色调的更换,可以配置出不同的赏心悦目的界面。在MSN,QQ等众多的桌面软件中,都有此功能。
      如下图所示:

       

    • Edit控件


      Download Demo中有两个地方使用了Edit控件,一个是主窗口的搜索编辑控件,另一个地方是登录窗口的用户和密码的输入。这两个地方都是使用我们常用的绘制Edit控件的方式,即将Edit背景图片绘制在父窗口上,Edit控件则是一个没有边框,背景透明的控件。

       

      如上图所示,红线区域为一个没有边框的Edit控件,使用DSkinLite将其透明,则达到上面效果。对应的XML配置文件代码如下:

      <window name="SearchEdit" type="edit">
      
        <property bkcolor="#system_bg" btransparentbk="true" />  
      
        <editinfo buseimagebk="true" textcolor="RGB(43,84,116)"
      
                  font="#default"/>
      
        <text id="auto.item" state="non" font="#default"  
      
              content="Search Movie, Music,Game..." 
      
              horzalign="left" left="5" bsingleline="true" 
      
              textcolor="RGB(43,84,116)" />
      
      window>

      其中id=“auto.item”是3.0新版本加入的特性,即用于显示提示性的文本,当编辑框没有
      文字输入且获得焦点时,此文本或图片消失。
    • Tab Control

      Download Demo中的Tab控件都使用一组Radio Button控件来完成,您可以参考 DSkinLite 使用技巧(一):使用Radio Button做Tab 控件 来了解使用Radio Button制作Tab控件的优点。下图红色区域为两个Radio Button控件:

       

    • List Control

      在Download Demo中,用于显示下载任务状态的List Control控件为整个应用程序中比较重要的控件,其性能与界面表现对整个应用程序有重要影响。List Control控件使用DSkinLite来绘制,DSkinLite V3.0中加入了对List Control,List Box, Tree Control等控件的Item绘制的支持。List 控件的Item绘制与逻辑紧密相连,这也是大多数界面库没有提供Item绘制支持的主要原因。DSkinLite的框架设计比较容易支持Item的绘制,因此我们在V3.0版本中加入了对Item的支持。实际上我们可以看出来一个Item的组成元素跟一个控件的界面组成元素类似,即可以抽象为图片,文本,线条,矩形等元素来组成,同时辅之以事件支持。这样基本上可以支持List Item绘制所需要的所有特性,可以随心所欲的绘制Item。下图所示的List Control控件对应的XML文件为listctrl.xml,对应的标签为“listctrl_downloading”。  

    • Button&Split Button

      Button控件是此Demo使用比较多的控件,也是大多数软件使用的较多的控件。使用DSkinLite可以轻松制作各种风格的Button控件。如软件底部的工具栏的按钮皆由Button控件构成,如下图所示:

       
      其中第一个New控件为DSkinLite所支持的SplitButton,即有左右两个可以响应事件的区域,这种类型的控件在目前的界面设计中经常会用到。上面的Button都有transparent特性,即在normal状态下,背景是透明的。

    • Menu

          Demo有多个地方使用了Menu,如Tab Control中的排序菜单,List Control中的右键设置菜单,已经系统托盘图片的右键菜单等。通过此示例,可以了解DSkinLite对Menu的支持,DSkinLite支持Menu的所有特性,如设置Icon,添加快捷键文本等。下图为List control右键点击触发的菜单。

    • System Menu

            可以看到系统按钮位置除了有最小化,关闭按钮外,还有两个按钮,一个是菜单,一个是反馈信息按钮。这种界面设计也是当前比较常见的,即在系统按钮区域放置自定义按钮。DSkinLite很好的支持这种特性,你可以将需要的控件放置在界面顶端的系统按钮区域。
           

               综上所述,Download Demo包含了在界面开发中遇到的大部分控件及其他特性。如果您的应用软件跟此Demo类似,可以考虑使用DSkinLite来完成界面相关工作。

               示例下载: http://www.uieasy.cn/download/DSkinLite_Demo_Download.zip

  • 相关阅读:
    IOS遍历未知对象属性、函数
    [Unity3D]Unity3D游戏开发之Logo渐入渐出效果的实现
    面向画布(Canvas)的JavaScript库
    将canvas画布内容转化为图片(toDataURL(),创建url)
    canvas上的像素操作(图像复制,细调)
    【bzoj1251】序列终结者(伸展树)
    延时标记
    曼哈顿距离(坐标投影距离之和)d(i,j)=|X1-X2|+|Y1-Y2|.
    曼哈顿距离最小生成树与莫队算法(总结)
    莫队算法(区间处理)
  • 原文地址:https://www.cnblogs.com/syxchina/p/2197298.html
Copyright © 2020-2023  润新知