视图组件的使用模式 常用组件高级组件提示框与警告对话框就是Android应用程序的开发过程。
一般过程是先通过XML布局文件或Java代码创建界面布局,设定组件显示样式,随后获取UI组件对象,并处理组件事件响应。
视图组件的定义资源的访问生成视图组件资源标识视图组件的引用视图组件的事件响应组件的常用属性1.1视图组件的定义 使用XML布局文件定义视图组件使用Java代码定义视图组件(不推荐)1.1视图组件的定义使用XML布局文件定义视图组件Android平台为大多数视图组件以及其子类提供了XML标记,可通过XML布局文件中的标记来定义视图组件。
XML中的每个元素代表了一个组件,即元素名称对应相应的Java类。
1.1视图组件的定义<LinearLayout xmlns:android="/apk/res/android"android:layout_width="match_parent"android:layout_height="match_parent"android:background="#FFFAE4"android:orientation="vertical"><Button android:id="@+id/submit "android:layout_width="match_parent"android:layout_height="wrap_content"android:textColor="@color/color1"android:textSize="@dimen/dimen2"android:background="@drawable/custom_button"android:text="提交" /><Button style="@style/title"/></LinearLayout>命名空间fill_parent match_parent wrap_contentandroid:id属性声明了Button的ID,这个ID主要用于在代码中引用这个Button对象“@+id/submit”表示所设置的ID值@表示后面的字符串是ID资源+表示需要建立新资源名称,并添加到R.java文件中斜杠后面的字符串(submit)表示新资源的名称如果资源不是新添加的,或属于Android框架的ID资源,则不需要使用加号(+),但必须添加Android包的命名空间,例如:android:id="@android:id/submit"系统资源位置:D:\android\android-sdk\platforms\android-17\data\res\values1.1视图组件的定义1.2资源的访问Android开发中针对视图组件显示风格,提供了多种资源来定义。
如字符串资源、颜色资源、尺寸资源、Drawable资源和样式资源等。
在Android中,颜色值通过RGB(红、绿、蓝)三原色和一个透明度(Alpha)值来表示。
在设置颜色值时需要以“#”开头,其中透明度值可以省略,如果省略则表示完全不透明。
#RGB:#00F(蓝色)#ARGB:#700F(半透明蓝色)#RRGGBB:#FF0000(红色)#AARRGGBB:#77FF0000(半透明红色)颜色资源文件位于res/values目录下,根标记是<resources>,在该标记内使用<color>标记定义各种颜色,颜色值可以使用上述四种方式之一。
colors.xml颜色资源文件<resources><color name="color1">#FF0000</color><color name="color2">#77FF0000</color></resources>尺寸资源文件位于res/values目录下,根标记是<resources>,在该标记内使用<dimen>标记定义各种尺寸,尺寸值可以使用上述几种方式之一。
px(pixel,像素)in(inch,英寸)pt(points,磅)dp或dip(独立像素):基于屏幕密度的抽象单位,在每英寸160点的屏幕上,1dp=1px。
但随着屏幕密度的改变,dp 和px的换算也会变化。
sp(比例像素):用于字体的大小,可根据用户字体大小首选项缩放。
mm(毫米)dimens.xml尺寸资源文件<resources><dimen name="dimen1">20px</dimen><dimen name="dimen2">25dp</dimen></resources>可以使用图片作为资源,也可以使用多种XML文件作为资源。
Drawable资源可针对屏幕不同分辨率,分别位于res目录下的drawable-XXX目录内。
drawable-XXX一般表示drawable-hdpi、drawable-ldpi、drawable-mdpi、drawable-xhdpi和drawable-xxhdpi这5个目录(部分Android API版本仅有前3个目录)Drawable资源图片资源:png、jpg、gif和9-Patch等格式StateListDrawable资源:能根据状态来显示出不同的图像,如按钮会存在多种状态,如pressed、enabled或focused等1.2资源的访问:Drawable 资源android:state_active设置是否处于激活状态,取值true 、false android:state_checked设置是否处于选中状态android:state_enabled设置是否处于可用状态android:state_first设置是否处于开始状态android:state_focused设置是否处于获得焦点状态android:state_last设置是否处于结束状态android:state_middle设置是否处于中间状态android:state_pressed设置是否处于按下状态android:state_selected 设置是否处于被选择状态StateListDrawable 资源文件根标记是<selector>,在该标记中使用<item>标记设置以下两种属性:android:drawable :用于指定Drawable 资源 android:state_XXX :用于指定一种状态<selector xmlns:android="/apk/res/android"><!--单击未释放按钮时的颜色--><item android:state_pressed="true"><shape><gradient android:startColor="#F55030" android:endColor="#F55030"android:angle="270"/><stroke android:width="1dp" android:color="#FFFFFF"/><corners android:radius="5dp"/><padding android:left="10dp" android:top="10dp"android:right="10dp“ android:bottom="10dp"/></shape></item></selector>见例chap4-1<?xml version="1.0"encoding="utf-8"?><selector xmlns:android="/apk/res/android"><!--触摸时并且当前窗口处于交互状态--><item android:state_pressed="true"android:state_window_focused="true"a ndroid:drawable="@drawable/pic1"/><!--触摸时并且没有获得焦点状态--><item android:state_pressed="true"android:state_focused="false"android:d rawable="@drawable/pic2"/><!--选中时的图片背景--><item android:state_selected="true"android:drawable="@drawable/pic3"/><!--获得焦点时的图片背景--><item android:state_focused="true"android:drawable="@drawable/pic4"/><!--窗口没有处于交互时的背景图片--><item android:drawable="@drawable/pic5"/></selector>设置组件合适的颜色和尺寸组合搭配而样式资源主要用于对组件显示样式的统一控制,包含文字的大小、颜色、宽高等。
样式资源文件也位于res/values 目录内,根标记是<resources>,在该标记内使用<style>、<item>标记定义样式。