Java学习者论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

手机号码,快捷登录

恭喜Java学习者论坛(https://www.javaxxz.com)已经为数万Java学习者服务超过8年了!积累会员资料超过10000G+
成为本站VIP会员,下载本站10000G+会员资源,购买链接:点击进入购买VIP会员
JAVA高级面试进阶视频教程Java架构师系统进阶VIP课程

分布式高可用全栈开发微服务教程

Go语言视频零基础入门到精通

Java架构师3期(课件+源码)

Java开发全终端实战租房项目视频教程

SpringBoot2.X入门到高级使用教程

大数据培训第六期全套视频教程

深度学习(CNN RNN GAN)算法原理

Java亿级流量电商系统视频教程

互联网架构师视频教程

年薪50万Spark2.0从入门到精通

年薪50万!人工智能学习路线教程

年薪50万!大数据从入门到精通学习路线年薪50万!机器学习入门到精通视频教程
仿小米商城类app和小程序视频教程深度学习数据分析基础到实战最新黑马javaEE2.1就业课程从 0到JVM实战高手教程 MySQL入门到精通教程
查看: 620|回复: 0

开发交流:解析Android样式:布局是根本

[复制链接]

该用户从未签到

发表于 2011-10-24 10:49:56 | 显示全部楼层 |阅读模式
如果你曾经是一名WEB前台设计师,如果你曾经有过设计的功底,那么你很荣幸,如果你切到Android平台中,以前的知识和经验都能很好的移植到Android平台中。本人以为,学习是一个长期的积累过程,经验很重要,为什么有的人不管做神马生意都赚钱,因为他有经验,经验加上变通,就是智慧。
布局是根本,不管在WEB设计还是在手机客户端设计中,都是如此。如果一开始局就没有布好,就算你的细节做得再精美,到头来还是要重构。相比传统WEB设计中的布局,Android平台一样都不少,只是WEB设计的层布局,在Android中有了个新的叫法,叫帧布局。布局在本篇中不是重点,因为和WEB中的概念几乎一样,所以一笔带过。
说实话,我还是比较喜欢WEB设计中的样式命名规范,简单,易用,最主要的是WEB的样式很好管理,不像Android样式文件分得很细,看起来比较零乱。如果你研究过SDK的设计方式,你会发现一个按钮的样式,分得很细,有btn_default.xml,btn_default_small.xml等二十几个样式文件。
下面我们模仿SDK的设计方式,自定义一个按钮样式文件btn_default.xml,包含非焦点,焦点,pressed三种不同状态。
1 <?xml version="1.0" encoding="utf-8"?>   

2 <selector xmlns:android="http://schemas.android.com/apk/res/android">   

3     <item android:state_pressed="true">   

4         <shape>   

5             <gradient      

6                 android:startColor="#ff8c00"      

7                 android:endColor="#FFFFFF"   

8                 android:angle="270" />   

9      

10             <stroke      

11                 android:width="2dp"      

12                 android:color="#dcdcdc" />   

13      

14             <corners      

15                 android:radius="2dp" />   

16      

17             <padding      

18                 android:left="10dp"      

19                 android:top="10dp"   

20                 android:right="10dp"      

21                 android:bottom="10dp" />   

22      

23         </shape>   

24      

25     </item>   

26      

27     <item android:state_focused="true">   

28         <shape>   

29             <gradient      

30                 android:startColor="#ffc2b7"      

31                 android:endColor="#ffc2b7"   

32                 android:angle="270" />   

33      

34             <stroke      

35                 android:width="2dp"      

36                 android:color="#dcdcdc" />   

37      

38             <corners      

39                 android:radius="2dp" />   

40      

41             <padding   

42                 android:left="10dp"      

43                 android:top="10dp"   

44                 android:right="10dp"      

45                 android:bottom="10dp" />   

46      

47         </shape>   

48      

49     </item>   

50         

51     <item>   

52         <shape>   

53             <gradient      

54                 android:startColor="#ff9d77"      

55                 android:endColor="#ff9d77"   

56                 android:angle="270" />   

57      

58             <stroke      

59                 android:width="2dp"      

60                 android:color="#fad3cf" />   

61      

62             <corners      

63                 android:radius="2dp" />   

64      

65             <padding      

66                 android:left="10dp"      

67                 android:top="10dp"   

68                 android:right="10dp"      

69                 android:bottom="10dp" />   

70      

71         </shape>   

72      

73     </item>   

74      

75 </selector      
复制代码
selector可以理解为状态切换器,不同的状态下切换不同的样式,在传统WEB设计中就是伪类hover。shape意为定义按钮的形状。
样式的引用很简单,Android统一把样式文件作为她的一种资源,下面是样式的使用方式。
<Button

2                 android:background="@drawable/btn_default"

3                 android:layout_width="wrap_content"   

4                 android:layout_height="wrap_content"

5                 android:text="test Style"

6             >

7               

8             </Button>

9               
复制代码
效果


回复

使用道具 举报

该用户从未签到

发表于 2011-10-24 10:50:05 | 显示全部楼层

Re:开发交

学习学习!
回复 支持 反对

使用道具 举报

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

本版积分规则

QQ|手机版|Java学习者论坛 ( 声明:本站资料整理自互联网,用于Java学习者交流学习使用,对资料版权不负任何法律责任,若有侵权请及时联系客服屏蔽删除 )

GMT+8, 2025-1-11 07:42 , Processed in 0.305294 second(s), 34 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

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