TC官方合作论坛

 找回密码
 立即注册
查看: 6251|回复: 10

TC5.0android 精美界面设计教程

  [复制链接]
发表于 2015-4-1 19:30:29 | 显示全部楼层 |阅读模式

马上加入TC

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
本帖最后由 630674852 于 2015-4-1 19:46 编辑

   一个好的程序,除了强大的功能以外,还要有一个能吸引别人眼球的界面。那么,如何开发出这些界面。 下面讲解一下,模仿ET天气的界面UI设计的一个示例,(tc移动版下个版本将为我们提供完善界面美化设计。
    首先给大家看点击运行后的效果图:
      QQ截图20150401174825.png
1.总布局的总体思构。
接下来我们讲如合设计这个界面,首先我们在最外面写一个线性布局,宽,高都为填充,纵向排列,并为其添加背景图片,作为父窗体 ,
然后在这个最大父线性布局中,我们用3个线性布局将整个页面封成3块,而这个3个线性布局我用的是其,高度="0"  和权重,就可以让这3个线性布局,按比例的高度占满整个页面,(注:在用权重按比例去排版时,横向占:其父线性布局为的宽填充,众向占:其父线性布局为的高填充。
QQ截图2015040117482533332q.PNG



2.设计最顶部布局(即1的部分)
总结经验:当线性布局横向排列时,只能上下的排动里面的子控件,而不能左右排动,这是如果我们要子控件左右排动,那么只要在线性布局中,加一个不包含任何子控件与子布局的线性布局,然后用权重就能实现我们要的效果,当线性布局纵向排列时,也可以这要处理。

顶部线性布局思路划分效果图(红色的框相当于一个线性布局,包含的相单于父子关系,并列相当于兄弟关系):
QQ截图20150401154523gg.PNG
顶部线性布局的tc代码:



  1. <线性布局
  2.         宽度="填充"
  3.         高度="0"
  4.         排列方向="纵向排列"
  5.         权重="4">
  6.         <线性布局
  7.             宽度="填充"
  8.             高度="匹配内容"
  9.             排列方向="横向排列"
  10.             权重="1"
  11.             右边填充="100"
  12.             >
  13.             <线性布局
  14.                 宽度="匹配内容"
  15.                 高度="匹配内容"
  16.                 排列方向="纵向排列"
  17.                 权重="1">
  18.             </线性布局>
  19.             <标签
  20.                 文本="长沙"
  21.                 宽度="匹配内容"
  22.                 高度="匹配内容"
  23.                 文本颜色="#FFFFFF"
  24.                 控件对齐="右对齐"
  25.                 文本大小="35"
  26.                 控件对齐="居中">
  27.             </标签>
  28.             <图片框
  29.                 宽度="匹配内容"
  30.                 高度="匹配内容"
  31.                 控件对齐="居中"
  32.                 加载图片="rc:more_city.png">
  33.             </图片框>
  34.         </线性布局>
  35.         
  36.         <线性布局
  37.             宽度="填充"
  38.             高度="匹配内容"
  39.             权重="2"
  40.             排列方向="横向排列">
  41.             <线性布局
  42.                 宽度="0"
  43.                 高度="填充"
  44.                 权重="1"
  45.                 排列方向="纵向排列">
  46.                 <标签
  47.                     名称="标签01"
  48.                     文本="5"
  49.                     宽度="匹配内容"
  50.                     高度="匹配内容"
  51.                     文本颜色="#FFFFFF"
  52.                     控件对齐="居中"
  53.                     文本大小="120"
  54.                     >
  55.                 </标签>
  56.                 <线性布局
  57.                     宽度="匹配内容"
  58.                     高度="填充"
  59.                     排列方向="横向排列"
  60.                     左边填充="40">
  61.                     <图片框
  62.                         宽度="50"
  63.                         高度="50"
  64.                         弹起效果="rc:update.png"
  65.                         按下效果="rc:update_press.png"
  66.                         控件对齐="居中">
  67.                     </图片框>
  68.                     <线性布局
  69.                         宽度="匹配内容"
  70.                         高度="匹配内容"
  71.                         排列方向="纵向排列"
  72.                         顶部填充="10"
  73.                         控件对齐="居中">
  74.                         <标签
  75.                             宽度="匹配内容"
  76.                             高度="匹配内容"
  77.                             文本="点击刷新"
  78.                             文本颜色="#FFFFFF">
  79.                         </标签>
  80.                         <标签
  81.                             宽度="标签10"
  82.                             宽度="匹配内容"
  83.                             高度="匹配内容"
  84.                             文本="时间"
  85.                             文本颜色="#FFFFFF">
  86.                         </标签>
  87.                     </线性布局>
  88.                 </线性布局>
  89.             </线性布局>
  90.             
  91.             
  92.             <线性布局
  93.                 宽度="0"
  94.                 高度="填充"
  95.                 权重="1"
  96.                 排列方向="横向排列">
  97.                 <线性布局
  98.                     宽度="匹配内容"
  99.                     高度="匹配内容"
  100.                     排列方向="纵向排列"
  101.                     控件对齐="居中">
  102.                     <标签
  103.                         宽度="填充"
  104.                         高度="匹配内容"
  105.                         文本="天气"
  106.                         名称="标签11"
  107.                         文本颜色="#FFFFFF"
  108.                         文本大小="30"
  109.                         控件对齐="左对齐">
  110.                     </标签>
  111.                     <标签
  112.                         宽度="填充"
  113.                         高度="匹配内容"
  114.                         文本="气温差"
  115.                         名称="标签12"
  116.                         文本颜色="#FFFFFF">
  117.                     </标签>
  118.                     <标签
  119.                         宽度="填充"
  120.                         高度="匹配内容"
  121.                         文本="星期"
  122.                         名称="标签13"
  123.                         文本颜色="#FFFFFF">
  124.                     </标签>
  125.                     
  126.                 </线性布局>
  127.                
  128.                
  129.             </线性布局>
  130.             
  131.         </线性布局>
  132.         
  133.     </线性布局>
复制代码




3.设计中部布局(即2的部分)
总结经验: 这个部分设计,在这个部分的最大的线性布局中,加背景,就能实现这种带框的效果,
                其中星期与星期之间的白色的竖线,是用图片框显示出来得。
                中部线性布局思路划分效果图
               思路划分效果图                                      
QQ截图20150401154541gg.PNG       
部分图
QQ截图20150401154541.png

中部线性布局的tc代码:

  1.     <线性布局
  2.         宽度="填充"
  3.         高度="0"
  4.         排列方向="横向排列"
  5.         权重="2"
  6.         
  7.         加载背景="rc:widget_bg_4x1.png">
  8.         <线性布局
  9.             宽度="匹配内容"
  10.             高度="填充"
  11.             排列方向="纵向排列"
  12.             右边填充="20"
  13.             左边填充="20"
  14.             顶部距离="20"
  15.             底部填充="20"
  16.             权重="1">
  17.             
  18.             <标签
  19.                 名称="标签21"
  20.                 文本="星期"
  21.                 宽度="匹配内容"
  22.                 高度="匹配内容"
  23.                 文本颜色="#FFFFFF"
  24.                 权重="1"
  25.                 内容对齐="横向居中">
  26.             </标签>
  27.             
  28.             <图片框
  29.                 名称="图片框22"
  30.                 宽度="匹配内容"
  31.                 高度="匹配内容"
  32.                 加载图片="rc:baoxue.png"
  33.                 内容对齐="横向居中"
  34.                 权重="1"
  35.                 >
  36.             </图片框>
  37.             <标签
  38.                 名称="标签23"
  39.                 文本="温度"
  40.                 内容对齐="横向居中"
  41.                 宽度="匹配内容"
  42.                 高度="匹配内容"
  43.                 文本链接方式="网络"
  44.                 文本链接地址="http://www.tyuyan.com"
  45.                 权重="1">
  46.             </标签>
  47.             <标签
  48.                 名称="标签24"
  49.                 文本="温度"
  50.                 内容对齐="横向居中"
  51.                 宽度="匹配内容"
  52.                 高度="匹配内容"
  53.                 文本链接方式="网络"
  54.                 文本链接地址="http://www.tyuyan.com"
  55.                 权重="1">
  56.             </标签>
  57.             
  58.             <标签
  59.                 名称="标签25"
  60.                 文本="天气"
  61.                 内容对齐="横向居中"
  62.                 宽度="匹配内容"
  63.                 高度="匹配内容"
  64.                 文本链接方式="网络"
  65.                 文本链接地址="http://www.tyuyan.com"
  66.                 文本大小="15"
  67.                 权重="1">
  68.             </标签>
  69.         </线性布局>   
  70.         
  71.         <图片框
  72.             宽度="匹配内容"
  73.             高度="填充"
  74.             加载图片="rc:divider_vertical.png">
  75.         </图片框>
  76.         
  77.         
  78.         <线性布局
  79.             宽度="匹配内容"
  80.             高度="填充"
  81.             排列方向="纵向排列"
  82.             右边填充="20"
  83.             左边填充="20"
  84.             顶部距离="20"
  85.             底部填充="20"
  86.             权重="1">
  87.             <标签
  88.                 名称="标签31"
  89.                 文本="星期"
  90.                 宽度="匹配内容"
  91.                 高度="匹配内容"
  92.                 文本颜色="#FFFFFF"
  93.                 权重="1"
  94.                 内容对齐="横向居中">
  95.             </标签>
  96.             
  97.             <图片框
  98.                 名称="图片框32"
  99.                 宽度="匹配内容"
  100.                 高度="匹配内容"
  101.                 加载图片="rc:baoxue.png"
  102.                 内容对齐="横向居中"
  103.                 权重="1"
  104.                 >
  105.             </图片框>
  106.             <标签
  107.                 名称="标签33"
  108.                 文本="温度"
  109.                 内容对齐="横向居中"
  110.                 宽度="匹配内容"
  111.                 高度="匹配内容"
  112.                 文本链接方式="网络"
  113.                 文本链接地址="http://www.tyuyan.com"
  114.                 权重="1">
  115.             </标签>
  116.             <标签
  117.                 名称="标签34"
  118.                 文本="温度"
  119.                 内容对齐="横向居中"
  120.                 宽度="匹配内容"
  121.                 高度="匹配内容"
  122.                 文本链接方式="网络"
  123.                 文本链接地址="http://www.tyuyan.com"
  124.                 权重="1">
  125.             </标签>
  126.             
  127.             <标签
  128.                 名称="标签35"
  129.                 文本="天气"
  130.                 内容对齐="横向居中"
  131.                 宽度="匹配内容"
  132.                 高度="匹配内容"
  133.                 文本链接方式="网络"
  134.                 文本链接地址="http://www.tyuyan.com"
  135.                 文本大小="15"
  136.                 权重="1">
  137.             </标签>
  138.             
  139.             
  140.             
  141.         </线性布局>
  142.         
  143.         <图片框
  144.             宽度="匹配内容"
  145.             高度="填充"
  146.             加载图片="rc:divider_vertical.png">
  147.         </图片框>        
  148.         
  149.         <线性布局
  150.             宽度="匹配内容"
  151.             高度="填充"
  152.             排列方向="纵向排列"
  153.             右边填充="20"
  154.             左边填充="20"
  155.             顶部距离="20"
  156.             底部填充="20"
  157.             权重="1">
  158.             <标签
  159.                 名称="标签41"
  160.                 文本="星期"
  161.                 宽度="匹配内容"
  162.                 高度="匹配内容"
  163.                 文本颜色="#FFFFFF"
  164.                 权重="1"
  165.                 内容对齐="横向居中">
  166.             </标签>
  167.             
  168.             <图片框
  169.                 名称="图片框42"
  170.                 宽度="匹配内容"
  171.                 高度="匹配内容"
  172.                 加载图片="rc:baoxue.png"
  173.                 内容对齐="横向居中"
  174.                 权重="1"
  175.                 >
  176.             </图片框>
  177.             <标签
  178.                 名称="标签43"
  179.                 文本="温度"
  180.                 内容对齐="横向居中"
  181.                 宽度="匹配内容"
  182.                 高度="匹配内容"
  183.                 文本链接方式="网络"
  184.                 文本链接地址="http://www.tyuyan.com"
  185.                 权重="1">
  186.             </标签>
  187.             <标签
  188.                 名称="标签44"
  189.                 文本="温度"
  190.                 内容对齐="横向居中"
  191.                 宽度="匹配内容"
  192.                 高度="匹配内容"
  193.                 文本链接方式="网络"
  194.                 文本链接地址="http://www.tyuyan.com"
  195.                 权重="1">
  196.             </标签>
  197.             
  198.             <标签
  199.                 名称="标签45"
  200.                 文本="天气"
  201.                 内容对齐="横向居中"
  202.                 宽度="匹配内容"
  203.                 高度="匹配内容"
  204.                 文本链接方式="网络"
  205.                 文本链接地址="http://www.tyuyan.com"
  206.                 文本大小="15"
  207.                 权重="1">
  208.             </标签>
  209.             
  210.             
  211.             
  212.         </线性布局>
  213.         
  214.         <图片框
  215.             宽度="匹配内容"
  216.             高度="填充"
  217.             加载图片="rc:divider_vertical.png">
  218.         </图片框>  
  219.         
  220.         
  221.         
  222.         <线性布局
  223.             宽度="匹配内容"
  224.             高度="填充"
  225.             排列方向="纵向排列"
  226.             右边填充="20"
  227.             左边填充="20"
  228.             顶部距离="20"
  229.             底部填充="20"
  230.             权重="1">
  231.             
  232.             
  233.             <标签
  234.                 名称="标签51"
  235.                 文本="星期"
  236.                 宽度="匹配内容"
  237.                 高度="匹配内容"
  238.                 文本颜色="#FFFFFF"
  239.                 权重="1"
  240.                 内容对齐="横向居中">
  241.             </标签>
  242.             
  243.             <图片框
  244.                 名称="图片框52"
  245.                 宽度="匹配内容"
  246.                 高度="匹配内容"
  247.                 加载图片="rc:baoxue.png"
  248.                 内容对齐="横向居中"
  249.                 权重="1"
  250.                 >
  251.             </图片框>
  252.             <标签
  253.                 名称="标签53"
  254.                 文本="温度"
  255.                 内容对齐="横向居中"
  256.                 宽度="匹配内容"
  257.                 高度="匹配内容"
  258.                 文本链接方式="网络"
  259.                 文本链接地址="http://www.tyuyan.com"
  260.                 权重="1">
  261.             </标签>
  262.             <标签
  263.                 名称="标签54"
  264.                 文本="温度"
  265.                 内容对齐="横向居中"
  266.                 宽度="匹配内容"
  267.                 高度="匹配内容"
  268.                 文本链接方式="网络"
  269.                 文本链接地址="http://www.tyuyan.com"
  270.                 权重="1">
  271.             </标签>
  272.             
  273.             <标签
  274.                 名称="标签55"
  275.                 文本="天气"
  276.                 内容对齐="横向居中"
  277.                 宽度="匹配内容"
  278.                 高度="匹配内容"
  279.                 文本链接方式="网络"
  280.                 文本链接地址="http://www.tyuyan.com"
  281.                 文本大小="15"
  282.                 权重="1">
  283.             </标签>
  284.             
  285.         </线性布局>
  286.         
  287.     </线性布局>
复制代码


   
   4.设计底部布局(即3的部分)

总结经验:
其中下图上的白色横线用的是线性布局加背景显示出来得,在想显示某个图片时,我们可一用图片框或者线性布局,
两者的区别是:线性布局加背景显示图片,布局有多大图片就会相对应的放大或缩小(单图片比较小而又要放的比较大,就可能比较模糊);
                   图片框显示时,单图片框宽高大于图片本身的宽高是,图片不会扩大,只会显示本身图片的大小,其他部分会被透明色填充;
  底部线性布局思路划分效果图
               思路划分效果图                               
QQ截图2015040118324ggg.PNG
             部分图
    QQ截图20150401183249bbb.png


底部线性布局的tc代码:

  1.     <线性布局
  2.         宽度="填充"
  3.         高度="0"
  4.         排列方向="横向排列"
  5.         权重="1">
  6.         <线性布局
  7.             宽度="匹配内容"
  8.             高度="填充"
  9.             排列方向="纵向排列"
  10.             权重="1">
  11.             
  12.             <图片框
  13.                 名称="图片框53"
  14.                 宽度="60"
  15.                 高度="60"
  16.                 加载图片="rc:ziwaixian.png"
  17.                 控件对齐="居中"
  18.                 权重="1"
  19.                
  20.                 >
  21.             </图片框>
  22.             <标签
  23.                 名称="标签54"
  24.                 文本="紫外线"
  25.                 控件对齐="居中"
  26.                 宽度="匹配内容"
  27.                 高度="匹配内容"
  28.                 文本颜色="#FFFFFF"
  29.                 权重="1">
  30.             </标签>
  31.         </线性布局>   
  32.         
  33.         <图片框
  34.             宽度="匹配内容"
  35.             高度="填充"
  36.             加载图片="rc:divider_vertical.png">
  37.         </图片框>
  38.         
  39.         
  40.         <线性布局
  41.             宽度="匹配内容"
  42.             高度="填充"
  43.             排列方向="纵向排列"
  44.             权重="1">
  45.             
  46.             
  47.             <图片框
  48.                 名称="图片框53"
  49.                 宽度="60"
  50.                 高度="60"
  51.                 加载图片="rc:chuanyi.png"
  52.                 控件对齐="居中"
  53.                 权重="1"
  54.                 >
  55.             </图片框>
  56.             
  57.             
  58.             <标签
  59.                 名称="标签54"
  60.                 文本="穿衣"
  61.                 控件对齐="居中"
  62.                 宽度="匹配内容"
  63.                 高度="匹配内容"
  64.                 文本颜色="#FFFFFF"
  65.                 权重="1">
  66.             </标签>
  67.             
  68.             
  69.             
  70.         </线性布局>
  71.         
  72.         <图片框
  73.             宽度="匹配内容"
  74.             高度="填充"
  75.             加载图片="rc:divider_vertical.png">
  76.         </图片框>        
  77.         
  78.         <线性布局
  79.             宽度="匹配内容"
  80.             高度="填充"
  81.             排列方向="纵向排列"
  82.             
  83.             权重="1">
  84.             
  85.             
  86.             <图片框
  87.                 名称="图片框53"
  88.                 宽度="60"
  89.                 高度="60"
  90.                 加载图片="rc:shushi.png"
  91.                 控件对齐="居中"
  92.                 权重="1"
  93.                 >
  94.             </图片框>
  95.             
  96.             
  97.             <标签
  98.                 名称="标签54"
  99.                 文本="舒适度"
  100.                 控件对齐="居中"
  101.                 宽度="匹配内容"
  102.                 高度="匹配内容"
  103.                 文本颜色="#FFFFFF"
  104.                 权重="1">
  105.             </标签>
  106.             
  107.             
  108.             
  109.         </线性布局>
  110.         
  111.         <图片框
  112.             宽度="匹配内容"
  113.             高度="填充"
  114.             加载图片="rc:divider_vertical.png">
  115.         </图片框>  
  116.         
  117.         
  118.         
  119.         <线性布局
  120.             宽度="匹配内容"
  121.             高度="填充"
  122.             排列方向="纵向排列"
  123.             权重="1">
  124.             
  125.             
  126.             <图片框
  127.                 名称="图片框53"
  128.                 宽度="60"
  129.                 高度="60"
  130.                 加载图片="rc:ganmao.png"
  131.                 控件对齐="居中"
  132.                 权重="1"
  133.                
  134.                 >
  135.             </图片框>
  136.             
  137.             
  138.             <标签
  139.                 名称="标签54"
  140.                 文本="感冒"
  141.                 控件对齐="居中"
  142.                 宽度="匹配内容"
  143.                 高度="匹配内容"
  144.                 文本颜色="#FFFFFF"
  145.                 权重="1">
  146.             </标签>
  147.             
  148.         </线性布局>         
  149.         
  150.         
  151.         
  152.     </线性布局>
复制代码
5.以下源码下载地址:

天气预报源码
天气预报.rar (782.85 KB, 下载次数: 1393)

评分

参与人数 1威望 +10 金币 +10 收起 理由
Miss三三 + 10 + 10 很给力~~支持楼楼~

查看全部评分

回复

使用道具 举报

发表于 2015-4-1 19:35:41 | 显示全部楼层
感谢分享,
回复

使用道具 举报

发表于 2015-4-1 19:45:01 | 显示全部楼层
堪比 原生JAVA做出的效果,一定要支持,大家可以多多学习
回复 支持 反对

使用道具 举报

发表于 2015-4-1 19:47:15 | 显示全部楼层
好抽象啊
回复

使用道具 举报

发表于 2015-4-1 20:52:42 | 显示全部楼层
顶!!!
回复

使用道具 举报

发表于 2015-4-1 21:08:14 | 显示全部楼层
只想说你略屌
回复 支持 反对

使用道具 举报

发表于 2015-4-1 23:31:03 | 显示全部楼层
好XX
回复

使用道具 举报

发表于 2015-4-2 23:18:56 | 显示全部楼层
无敌了。。爽。。。就一个字。。。超爽   二个字。。
回复 支持 反对

使用道具 举报

发表于 2015-4-8 21:44:31 | 显示全部楼层
掉咋天
回复

使用道具 举报

发表于 2015-6-6 11:28:12 | 显示全部楼层
给力。。。。。。。。。。。。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

推荐上一条 /2 下一条

关闭

小黑屋|TC官方合作论坛 (苏ICP备18045623号)

GMT+8, 2024-5-20 08:47 , Processed in 0.052338 second(s), 29 queries .

Powered by 海安简单软件服务部

© 2008-2019 版权所有 保留所有权利

快速回复 返回顶部 返回列表