您的位置:首页 > 产品设计 > UI/UE

androidUI美化及Android资源文件介绍

2016-08-06 19:04 423 查看
一、Style

就目前的互联网发展来看,已经有越来越多互联网企业都在Android平台上部署其客户端,并且为了提升用户体验,这些客户端都做得布局合理而且美观。Android的Style设计就是提升用户体验的关键之一。Android上的Style分为了两个方面:

1.Theme是针对窗体级别的,改变窗体样式;

2.Style是针对窗体元素级别的,改变指定控件或者Layout的样式。

1.Theme

eclipse里面主要有以下的theme:

@android:style/Theme.Holo.NoActionBar:无动作栏

@android:style/Theme.Holo.Light:灰色动作栏

@android:style/Theme.Holo.DarkActionBar:默认主题,为黑色

(1)在清单文件中设置整个app的主题样式

(2)在布局文件中设置当前页面的的主题样式

2.Style

定义一个简单的style

找到res/values/styles目录,打开该资源文件,在里面添加以下代码

<style name="textStyle">

<item name="android:layout_width">wrap_content</item>

<item name="android:layout_height">wrap_content</item>

<item name="android:textColor">#FF0000</item>

<item name="android:textSize">16sp</item>

<item name="android:padding">5dp</item>

</style>

如何调用呢?

在布局文件中调用:style="@style/textStyle"

style的继承

加上parent属性值

<style name="textStyle2" parent="textStyle">

<item name="android:background">#00ff00</item>

</style>

--------------------------------------------------------------------------------------------------------

二、selector

定义:selector就是状态列表(选择器)

I.Color-Selector

定义:颜色状态列表,可以跟color一样使用,颜色会随着组件的状态而改变。

文件存储于

/res/color/文件名.xml

注意:如果没有“color”目录的话,需要自己创建一个

步骤:

1.选中"res"右键-->new-->folder(新建文件夹color)

2.选中“color”右键-->new-->Android XML File-->

3.在刚刚创建的资源文件中添加代码

<item android:state_pressed="true" android:color="#ff0000"/>

<item android:color="#000000"/>

常用的item的状态值

android:state_pressed=["true" | "false"]//是否触摸

android:state_focused=["true" | "false"]//是否获得焦点

android:state_selected=["true" | "fals
4000
e"]//是否被状态

android:state_checkable=["true" | "false"]//是否可选

android:state_checked=["true" | "false"]//是否选中

android:state_enabled=["true" | "false"]//是否可用

android:state_window_focused=["true" | "false"] />//是否窗口聚焦

4.在xml布局文件中去调用该选择器

android:textColor="@color/text_color_selector"

II.Drawable-Selector

定义:是背景图状态列表,可以跟图片一样使用,背景会根据组件的状态变化而变化。

文件存储于

/res/drawable/文件名.xml

步骤:

1.同案例1一样的方式创建一个drawable文件夹,在里面新建一个button_bg_drawable.xml资源文件

2.在资源文件中定义不同状态的item显示的图片

常用的item状态值:

android:state_pressed=["true" | "false"]//是否触摸

android:state_focused=["true" | "false"]//是否获取到焦点

android:state_hovered=["true" | "false"]//光标是否经过

android:state_selected=["true" | "false"]//是否选中

android:state_checkable=["true" | "false"]//是否可勾选

android:state_checked=["true" | "false"]//是否勾选

android:state_enabled=["true" | "false"]//是否可用

android:state_activated=["true" | "false"]//是否激活

android:state_window_focused=["true" | "false"] />//所在窗口是否获的焦点

3.在xml布局文件中调用

android:background="@drawable/button_bg_drawable"

radio-->android:button

--------------------------------------------------------------------------------------------------------

三、shape

定义:shape用于设定形状,可以在selector,layout等里面使用,有6个子标签

Shape的类型(加到根元素的后面)

android:shape="ring" //圆环

注意:android:useLevel 只有当我们的shape使用在LevelListDrawable中的时候,这个值为true,否则为false。当shape为ring的时候必须设置这个属性为false

配合使用的属性

android:innerRadius 内环的半径

android:innerRadius 指圆环的内半径,和android:innerRadiusRatio同时存在时,以android:innerRadius为准;

android:thickness 环的厚度,也就是外环半径-内环半径

android:thickness 指圆环的厚度,即外半径减去内半径的大小,和android:thicknessRatio同时存在时,以android:thickness

如果android:thicknessRatio=”2”,那么环的厚度就等于环的宽度除以2

android:innerRadiusRatio; 默认值为3,内环半径的比例,例如这个值=2,那么内环的半径就是环的宽度1/2,通常这个值都会大于2,否则就显示不全环了

android:shape="rectangle" //四边形

android:shape="oval" //椭圆 如果设置width和height高度一样,那么就是圆形了

android:shape="line" //直线

6个子标签:

corners: 圆角

android:Radius="20dp" 设置四个角的半径

android:topLeftRadius="20dp" 设置左上角的半径

android:topRightRadius="20dp" 设置右上角的半径

android:bottomLeftRadius="20dp" 设置右下角的半径

android:bottomRightRadius="20dp" 设置左下角的半径

同时设置五个属性,则Radius属性无效

gradient: 渐变

android:angle="45"

android:startColor="@android:color/white"

android:endColor="@android:color/black"

当设置填充颜色后,无渐变效果。angle的值必须是45的倍数(包括0)

padding :间隔(四个方向)

size :大小

width,height通常shape都是作为background的,所以这个size通常不会有效,而是控件的宽高为准,当然,当作为imageview的src的时候,这个size默认还是会有用的

solid :填充

stroke : 描边

android:width="20dp" 设置边边的宽度

android:color="@android:color/black" 设置边边的颜色

android:dashWidth="2dp" 设置虚线的宽度

android:dashGap="20dp" 设置虚线的间隔宽度

dashWidth和dashGap属性,只要其中一个设置为0dp,则边框为实线边框

--------------------------------------------------------------------------------------------------------

四、资源文件

在Android工程中, 文件主要分为下面几类

(1)界面布局文件 : 在res/layout目录下定义, 用于定义Android中界面的显示样式;

(2)Java源码文件 : Android程序的逻辑实现, 程序主体;

(3)资源文件 : 各种XML文件, 可以定义图片等资源, 以及各种图片, 音频, 视频, 3d模型等资源;

res目录下资源



res/values目录XML文件<resource>子标签

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  Style shape Selector Theme