当前位置:文档之家› 通过代码示例学习Android的View组件及应用(1)

通过代码示例学习Android的View组件及应用(1)

通过代码示例学习Android的View组件及应用(1)
通过代码示例学习Android的View组件及应用(1)

目录

1.1通过代码示例学习Android的View组件及应用(第1部分) (2)

1.1.1Android的View组件 (2)

1.1.2在Android UI中应用帧布局FrameLayout及示例 (7)

1.1.3在Android UI中应用LinearLayout布局及示例 (10)

1.1.4绝对布局AbsoluteLayout及应用示例 (19)

1.1.5相对布局RelativeLayout及应用示例 (22)

1.1通过代码示例学习Android的View组件及应用(第1部分)

1.1.1Android的View组件

1、Android中的UI框架

(1)Android使用的UI框架类似于其他基于桌面的全功能UI框架

实际上,它在本质上更加先进,更具异步特征。如果将基于C的传统Microsoft Windows API看做第一代UI框架,将基于C++的MFC(Microsoft Foundation Classes,Microsoft基础类)看做第二代。基于Java的Swing UI框架可以看做第三代,它比MFC具有更高的设计灵活性。

(2)Android UI是声明性的

Android UI、JavaFX、Microsoft Silverlight和Mozilla XUL(XML User Interface Language,XML用户界面语言)都是第四代UI框架的新成员,它们的UI是声明性的,具有独立的主题。

2、什么是View

(1)Activity是Android程序的显示层,每一个显示窗口都是一个Activity 可是Activity本身无法显示在屏幕上,我们可以把它理解成是一个抽象层,一个壳子;就譬如一个JSP页面,它本身并没有显示出来任何东西,负责显示的是他生成的HTML标签。那么Android里谁才是真正显示出来的部分?

(2)视图组件(View)

在Android当中View类是最基本的一个UI类,基本上所有的高级UI组件都继承View 类而实现的,常用的有TextView,Button,List,EditText,RadioButton,Checkbox等都是View类。

一个视图(View)在屏幕上占据了一块矩形区域,它负责渲染这块矩形区域(如改变背景色),也可以处理这块矩形区域发生的事件(如用户点击了这块区域),并且可以设置这块区域是否可见,是否可以获取焦点等。

(3)两种主要的视图组件View和ViewGroup(而ViewGroup其实是View的子类)首先UI组件是按层次结构来由外到内的方式逐步展示的。要将一个屏幕元素层次树绑定在一个屏幕上显示,Activity会调用它的setContentView()方法并且传入这个层次树的根

节点引用。

当Activity被激活并且获得焦点时,系统会通知activity并且请求根节点去计算并绘制树,根节点就会请求它的子节点去绘制它们自己。每个树上的ViewGroup节点会负责绘制它的子节点。

ViewGroup会计算它的有效空间,布局所有的子显示对象,并最终调用所有的子显示对象的Draw()方法来绘制显示对象。各个子显示对象可以向父对象请求它们在布局中的大小和位置,但最终决定各个子显示对象的大小和位置的是父对象。

(3)Android程序借助View和ViewGroup对象来构建用户界面

ViewGroup是个特殊的View,它继承于android.view.View。它的功能就是装载和管理下一层的View对象或ViewGroup对象,也就说他是一个容纳其它元素的的容器——它负责对添加进ViewGroup的这些View进行布局。一个ViewGroup也可以加入到另外一个ViewGroup中。

ViewGroup是布局管理器(layout)及view容器的基类。在ViewGroup类中,还定义了一个嵌套类https://www.doczj.com/doc/be6067368.html,youtParams。这个类定义了一个显示对象的位置、大小等属性,view通过LayoutParams中的这些属性值来告诉父级,它们将如何放置。

3、Android UI类层次

Android中所有的UI都是建立在View和ViewGroup(它为View类的一个重要的子类,但ViewGroup通常作为其它组件的容器使用)这两个类的基础之上,所有View的子类成为“Widget”,而所有的VIewGroup的子类都成为“Layout”。

但由于ViewGroup是一个抽象类,因此实际使用中通常是使用ViewGroup的子类来作为容器,例如各种布局管理器。

4、控制Android UI布局的内部类

ViewGroup容器控制其子组件的分布状况(布局规则)是依赖于如下的两个内部类https://www.doczj.com/doc/be6067368.html,youtParams、ViewGroup.MarginLayoutParams,这两个内部类中都提供了一些XML属性,ViewGroup容器中的子组件可以指定这些XML属性。

(1)https://www.doczj.com/doc/be6067368.html,youtParams支持的属性

●https://www.doczj.com/doc/be6067368.html,yout_height:指定该子组件的基本高度

●https://www.doczj.com/doc/be6067368.html,yout_width:指定该子组件的基本宽度

而https://www.doczj.com/doc/be6067368.html,yout_height和https://www.doczj.com/doc/be6067368.html,yout_width两个属性支持如下三个属性值:

●fill_parent:指定子组件的高度、宽度与父容器组件的宽度、高度相同(实际上还要

减去填充的空白距离)。

●match_parent:该属性值与fill_parent完全相同,而且从Android2.2开始就推荐使用

该属性来替代fill_parent,但由于ADT生成的UI组件总是使用fill_parent属性值的,所以很多时候还是使用fill_parent。

●wrap_content:指定子组件的大小恰好能包裹它的内容即可。

(2)ViewGroup.MarginLayoutParams用于控制子组件周围的页边距

●android:layout_marginBottom:指定该子组件下边的页边距,也可以采用

setMargins(int,int,int,int)实现

●android:layout_marginLeft:指定该子组件左边的页边距,也可以采用

setMargins(int,int,int,int)实现

●android:layout_marginRight:指定该子组件右边的页边距,也可以采用

setMargins(int,int,int,int)实现

●android:layout_marginTop:指定该子组件上边的页边距,也可以采用

setMargins(int,int,int,int)实现

5、常用Layout介绍

为了更好的管理Android应用的用户界面里的个组件,Android提供了布局管理器,通过布局管理器,Android应用的图形用户界面具有良好的平台无关性。因为不同手机它们的屏幕的分辨率、尺寸并不完全相同,而Android的布局管理器可以根据运行平台来调整组件的大小,而我们所需要做的就是选择合适的布局管理器。

但与Swing编程不同的是,Android的布局管理器本身就是一个UI组件,所有的布局管理器都是ViewGroup的子类。所有布局都可作为容器类使用,因此可以调用多个重载的addView()向布局管理器中添加组件,当然我们也可以用一个布局管理器嵌套其他布局管理器。

(1)典型的布局

●帧布局(框架布局)FrameLayout

●线性布局LinearLayout

●绝对布局AbsoluteLayout

●相对布局RelativeLayout

●表格布局TableLayout

●标签布局(Tab Layout):它是一个ViewGroup以标签的方式显示它的子视图(View)

元素,就像在Firefox中的一个窗口中显示多个网页一样。

●列表视图(ListView):它是一个ViewGroup以列表显示它的子视图(View)元素,

列表是可滚动的列表。

●网格视图(Grid View):它是一个ViewGroup以网格显示它的子视图(View)元素,

即二维的、滚动的网格。

(2)帧布局FrameLayout

在该布局方式下的所有显示对象都将固定在屏幕的左上角,不能指定位置。所有添加到这个布局中的视图都以层叠的方式显示,第一个添加的组件放到最底层,最后添加到框架中的视图显示在最上面。下层控件将会被覆盖,除非后一个子元素是透明的。

(3)线性布局LinearLayout:

线性布局是所有布局中最常用的布局之一,也是RadioGroup、TabWidget、TableLayout、TableRow、ZoomControls类的父类。LinearLayout可以让它的子元素垂直或水平的方式排成一行(不设置方向的时候默认按照垂直方向排列、并且以设置的垂直或水平的属性值来

排列所有的子元素)。

所有的子元素都被堆放在其它元素之后,因此一个垂直列表的每一行只会有一个元素,而不管他们有多宽,而一个水平列表将会只有一个行高(高度为最高子元素的高度加上边框高度)。LinearLayout保持子元素之间的间隔以及互相对齐(相对一个元素的右对齐、中间对齐或者左对齐)。

LinearLayout还支持为单独的子元素指定weight。好处就是允许子元素可以填充屏幕上的剩余空间。这也避免了在一个大屏幕中,一串小对象挤成一堆的情况,而是允许他们放大填充空白。子元素指定一个weight值,剩余的空间就会按这些子元素指定的weight比例分配给这些子元素。默认的weight值为0。例如,如果有三个文本框,其中两个指定了weight值为1,那么,这两个文本框将等比例地放大,并填满剩余的空间,而第三个文本框不会放大。

(4)绝对布局AbsoluteLayout

绝对定位AbsoluteLayout,又可以叫做坐标布局,可以直接指定子元素的绝对位置,这种布局简单直接,直观性强,但是由于手机屏幕尺寸差别比较大,使用绝对定位的适应性会比较差。

在绝对定位中,如果子元素不设置layout_x和layout_y,那么它们的默认值是0,也就是说它会像在FrameLayout一样这个元素会出现在左上角。

坐标(0,0)为左上角,当向下或向右移动时,坐标值将变大。AbsoluteLayout没有页边框,允许元素之间互相重叠。

(5)相对布局RelativeLayout

相对布局RelativeLayout允许子元素指定它们相对于其父元素或兄弟元素(通过ID指定)的位置,这是实际布局中最常用的布局方式之一。它灵活性大很多,当然属性也多,操作难度也大,属性之间产生冲突的的可能性也大,使用相对布局时要多做些测试。

因此,可以以右对齐或上下或置于屏幕中央的形式来排列两个元素。元素按顺序排列,因此如果第一个元素在屏幕的中央,那么相对于这个元素的其它元素将以屏幕中央的相对位置来排列。如果使用XML配置文件来指定这个布局(layout),在你定义它之前,被关联的元素必须定义。

(6)表格布局TableLayout

表格布局TableLayout以行列的形式管理子元素,每一行是一个TableRow布局对象(一个TableLayout由许多的TableRow所组成),当然也可以是普通的View对象,TableRow

里每放一个元素就是一列,总列数由列数最多的那一行决定。

TableLayout容器不会显示row、cloumns或cell的边框线。每个row拥有0个或多个的cell;每个cell拥有一个View对象。表格由列和行组成许多的单元格。表格允许单元格为空。但单元格不能跨列,这与HTML中表格是不一样的。

1.1.2在Android UI中应用帧布局FrameLayout及示例

1、AndroidDemoActivity的程序代码

package com.px1987.androiddemo;

import android.app.Activity;

import android.os.Bundle;

import android.util.Log;

import android.view.View;

public class AndroidDemoActivity extends Activity{

private static final String TAG="AndroidDemoActivity";

@Override

public void onCreate(Bundle savedInstanceState){

super.onCreate(savedInstanceState);

setContentView(https://www.doczj.com/doc/be6067368.html,yout.main);

}

public void buttonClickEventMethod(View button){

Log.i(TAG,"按钮的Click事件响应方法buttonClickEventMethod正在执行");

}

}

在程序中定义了按钮的点击事件的响应方法buttonClickEventMethod,并在事件触发后显示出相关的提示信息。

2、string.xml文件的内容

修改默认的输出信息

确定按钮

AndroidDemoApp

为下面的按钮定义其中的显示文字信息。

3、main.xml文件的内容

android:layout_width="fill_parent"

android:layout_height="fill_parent">

android:onClick="buttonClickEventMethod"

android:text="@string/buttonText"

android:layout_width="fill_parent"

android:layout_height="wrap_content"/>

android:text="@string/hello"

android:textColor="#0000ff"

android:layout_width="wrap_content"

android:layout_height="wrap_content"/>

在main.xml文件中应用帧布局FrameLayout,并在该布局中定义了两个UI组件——一个按钮和TextView。并且为按钮定义了点击的事件响应方法buttonClickEventMethod和按钮的提示信息文字等属性项目。TextView组件在XML定义文件中的主要属性如下:

●android:typeface:字体monospace

●android:textStyle:字形,bold italic、bold|italic

●android:textColor:文字颜色,#FF0000或者red

●android:textSize:文字的尺寸,例如“25px”。在尺寸方式,有时我们使用px(像

素),有时使用dip(dip指的是一种基于屏幕密度的抽象单位。在每英寸160点的显示器上,1dp=1px,采用dip,我们可以无须考虑像素是否密集,而获取我们期待的大小,因此推荐使用dip)。

●android:gravity:内容的定位,center,left,right等等

●android:background:文字的背景色,采用RGB方式

●android:singleLine:值为flase或者ture,如果false这允许多行。

在Eclipse工具中可以将鼠标光标放入某个组件的标签内,然后按“Alt+/”将能够显示出该组件的XML标签中的各个属性项目及含义,有助于开发实现。

4、程序执行的结果

5、点击其中的按钮后的事件响应方法的执行结果

1.1.3在Android UI中应用LinearLayout布局及示例

1、打开main.xml文件,并清除其它无关的内容

然后切换到Graphical Layout视图中

2、在main.xml文件中添加一个LinearLayout布局

水平或者竖值都可以,产生出下面的标签内容

android:id="@+id/linearLayout1"

android:layout_width="fill_parent"

android:layout_height="fill_parent">

3、在其中再加两个子LinearLayout布局,其中一个为竖值、另一个为水平

注意布局之间是可以相互嵌套的——树形结构的嵌套,比如一个线性布局的里面嵌套一个相对布局,从而产生出更复杂的定义。

android:id="@+id/linearLayout1"

android:layout_width="fill_parent"

android:layout_height="fill_parent">

android:id="@+id/linearLayout2"

android:layout_width="fill_parent"

android:layout_height="fill_parent"

android:layout_weight="2"

android:orientation="vertical">

android:id="@+id/linearLayout3"

android:layout_width="fill_parent"

android:layout_height="fill_parent"

android:orientation="horizontal">

其中的android:layout_weight属性是指这个控件在父控件中所占的比重,比如一个LinearLayout里放了3个TextView。如果分别设置这3个TextView的比重为1、1、2,那么这3个TextView的大小就为1:1:2。

线性布局(LinearLayout)是一个一行或者一列只能放置一个控件的布局,可以分为垂直线性布局(产生出一列的效果)和水平线性布局(产生出一行的效果)。

4、在第1个子LinearLayout布局中添加一个TextView组件

注意定位要准确和正确,否则将不能正确地加入到第1个子LinearLayout布局中,或者可以直接在源XML标签状态下添加,可能更方便。

5、编辑修改该TextView组件的相关属性

右击TextView组件,然后再弹出的快捷菜单中进行相应的操作。

将Text属性设置为“这是在LinearLayout布局中的TextView组件”、ID属性设置为firstTextViewID。

6、在第2个子LinearLayout布局中添加两个TextView组件

android:id="@+id/linearLayout1"

android:layout_width="fill_parent"

android:layout_height="fill_parent">

android:id="@+id/linearLayout2"

android:layout_width="fill_parent"

android:layout_height="fill_parent"

android:layout_weight="2"

android:orientation="vertical">

android:id="@+id/firstTextViewID"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:text="这是在LinearLayout布局中的TextView组件"/>

android:id="@+id/linearLayout3"

android:layout_width="fill_parent"

android:layout_height="fill_parent"

android:orientation="horizontal">

android:id="@+id/textView1"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:text="TextView"/>

android:id="@+id/textView2"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:text="TextView"/>

7、设置这两个TextView组件的相关属性

由于在可视化界面中很多属性的编辑都不支持,建议还是在XML源标签中选择性地输入和编辑

8、最终的布局设计的结果

android:id="@+id/linearLayout1"

android:layout_width="fill_parent"

android:layout_height="fill_parent">

android:id="@+id/linearLayout2"

android:layout_width="fill_parent"

android:layout_height="fill_parent"

android:layout_weight="2"

android:orientation="vertical">

android:id="@+id/firstTextViewID"

android:layout_width="fill_parent"

android:layout_height="wrap_content"

android:text="这是在LinearLayout布局中的TextView组件"/>

android:id="@+id/linearLayout3"

android:layout_width="fill_parent"

android:layout_height="fill_parent"

android:orientation="horizontal">

android:background="#aa0000"

android:gravity="center_horizontal"

android:id="@+id/secondTextViewID"

android:layout_width="wrap_content"

android:layout_height="fill_parent"

android:text="第2个LinearLayout布局中的左面TextView组件"

android:layout_weight="1"/>

android:background="#00aa00"

android:gravity="center_horizontal"

android:id="@+id/thirdTextViewID"

android:layout_width="wrap_content"

android:layout_height="fill_parent"

android:text="第2个LinearLayout布局中的右面TextView组件"

android:layout_weight="1"/>

在LinearLayout布局中有两个非常相似的属性:android:gravity与android:layout_gravity。他们的区别在于:android:gravity用于设置View组件的对齐方式(对该view内容的限定),而android:layout_gravity用于设置Container组件的对齐方式(设置该view相对于其父View

的位置)。

举个例子,我们可以通过设置android:gravity="center"来让EditText中的文字在EditText 组件中居中显示;同时我们设置EditText的android:layout_gravity="right"来让EditText组件在LinearLayout中居中显示。

9、AndroidDemoActivity代码示例

package com.px1987.androiddemo;

import android.app.Activity;

import android.os.Bundle;

public class AndroidDemoActivity extends Activity{

private static final String TAG="AndroidDemoActivity";

@Override

public void onCreate(Bundle savedInstanceState){

super.onCreate(savedInstanceState);

setContentView(https://www.doczj.com/doc/be6067368.html,yout.main);

}

}

由于在界面布局中没有应用到string.xml中的相关资源,因此对于string.xml不需要其中的符号定义。

10、执行本程序

11、理解“fill_parent”和“wrap_content”的不同点

将下面的两个TextView组件的android:layout_height="fill_parent"改变为

android:layout_height="wrap_content",再执行并观察结果的差别。

android:id="@+id/linearLayout1"

android:layout_width="fill_parent"

android:layout_height="fill_parent">

android:id="@+id/linearLayout2"

android:layout_width="fill_parent"

android:layout_height="fill_parent"

android:layout_weight="2"

android:orientation="vertical">

android:id="@+id/firstTextViewID"

android:layout_width="fill_parent"

android:layout_height="wrap_content"

android:text="这是在LinearLayout布局中的TextView组件"/>

android:id="@+id/linearLayout3"

android:layout_width="fill_parent"

android:layout_height="fill_parent"

android:orientation="horizontal">

android:background="#aa0000"

android:gravity="center_horizontal"

android:id="@+id/secondTextViewID"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:text="第2个LinearLayout布局中的左面TextView组件"

android:layout_weight="1"/>

android:background="#00aa00"

android:gravity="center_horizontal"

android:id="@+id/thirdTextViewID"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:text="第2个LinearLayout布局中的右面TextView组件"

android:layout_weight="1"/>

wrap_content:让控件根据自己的内容需要来定义自己大小;而fill_paren(在API LEVEL 8以后版本中改为match_parent),则是让控件充满父控件。

12、区分padding和layout_margin属性的差别

padding属性通常用来描述控件里面的内容与控件的关系,而layout_margin通常用来描述控件之间的位置关系。两者都可以加上方向,即paddingLeft这种格式,不加方向则代表四周都有这个属性。

1.1.4绝对布局AbsoluteLayout及应用示例

1、可以实现任意位置布局,通过设置其x、y属性可以决定其在父容器位置

(1)AbsoluteLayout也就是绝对布局

又常称为坐标布局,在布局上灵活性比较大,但很难适配于任何屏幕大小、像素,比如在屏幕旋转时有明显弊端。

用坐标布局时,需要注意坐标原点为屏幕左上角,这和电脑屏幕的设置时一样一样的,添加视图时,要精确的计算每个视图的像素大小,最好先在纸上画草图,并把所有元素的像素定位计算好。

(2)主要的特性

该布局没有屏幕边框,允许元素之间互相重叠。

2、布局代码示例

(1)布局要点

绝对布局相对来说非常简单,只要在控件中用android:layout_x和android:layout_y属性指定控件横纵坐标就可以了。

(2)main.xml文件示例

android:orientation="vertical"

android:layout_width="fill_parent"

android:layout_height="fill_parent">

android:text="AbsoluteLayout布局应用示例"

android:layout_width="fill_parent"

android:layout_height="wrap_content"/>

android:layout_x="50px"

android:layout_y="40px"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:text="必须要给出具体的XY坐标值"/>

(3)界面效果

android 自定义圆角头像以及使用declare-styleable进行配置属性解析

android 自定义圆角头像以及使用declare-styleable进行配置属性解析由于最新项目中正在检查UI是否与效果图匹配,结果关于联系人模块给的默认图片是四角稍带弧度的圆角,而我们截取的图片是正方形的,现在要给应用统一替换。应用中既用到大圆角头像(即整个头像是圆的)又用到四角稍带弧度的圆角头像,封装一下以便重用。以下直接见代码 [java] view plain copy 在CODE上查看代码片派生到我的代码片 package com.test.demo; import com.test.demo.R; import android.content.Context; import android.content.res.TypedArray; import android.graphics.Bitmap; import android.graphics.BitmapShader; import android.graphics.Canvas; import android.graphics.Matrix; import android.graphics.Paint; import android.graphics.RectF; import android.graphics.Shader.TileMode; import android.graphics.drawable.BitmapDrawable; import android.graphics.drawable.Drawable; import android.os.Bundle; import android.os.Parcelable; import android.util.AttributeSet; import android.util.Log; import android.util.TypedValue; import android.widget.ImageView; /** * 圆角imageview */ public class RoundImageView extends ImageView { private static final String TAG = "RoundImageView"; /** * 图片的类型,圆形or圆角 */ private int type; public static final int TYPE_CIRCLE = 0; public static final int TYPE_ROUND = 1; /** * 圆角大小的默认值

Android应用程序开发(第二版)课后习题答案最新版

第一章 Android简介 1.简述各种手机操作系统的特点. 答案: 目前,手机上的操作系统主要包括以下几种,分别是Android、iOS、Windows Mobile、Windows Phone 7、Symbian、黑莓、PalmOS 和Linux。 (1)Android是谷歌发布的基于Linux的开源手机平台,该平台由操作系统、中间件、用户界面和应用软件组成,是第一个可以完全定制、免费、开放的手机平台。Android底层使用开源的Linux操作系统,同时开放了应用程序开发工具,使所有程序开发人员都在统一、开放的开发平台上进行开发,保证了Android应用程序的可移植性。 (2)iOS是由苹果公司为iPhone、iPod touch、iPad以及Apple TV开发的操作系统,以开放源代码的操作系统Darwin为基础,提供了SDK,iOS操作系统具有多点触摸操作的特点,支持的控制方法包括滑动、轻按、挤压和旋转, 允许系统界面根据屏幕的方向而改变方向,自带大量的应用程序。 (3)Windows Mobile是微软推出的移动设备操作系统,对硬件配置要求较高,一般需要使用高主频的嵌入式处理器,从而产生了耗电量大、电池续航时间短和硬件成本高等缺点,Windows Mobile系列操作系统包括Smartphone、Pocket PC和Portable Media Center。

随着Windows Phone 7的出现,Windows Mobile正逐渐走出历史舞台。 (4)Windows Phone 7具有独特的“方格子”用户界面,非常简洁,黑色背景下的亮蓝色方形图标,显得十分清晰醒目,集成了Xbox Live游戏和Zune音乐功能,可见Windows Phone 7对游戏功能和社交功能的重视。 (5)Symbian是为手机而设计的实时多任务32位操作系统,它的功效低,内存占用少,提供了开发使用的函数库、用户界面、通用工具和参考示例。操作系统不是完全开放的,核心代码不开放,但是API文档是公开的。 (6)黑莓系统主要在黑莓手机上使用,其特色是支持电子邮件推送功能,邮件服务器主动将收到的邮件推送到用户的手持设备上,而不需要用户频繁地连接网络查看是否有新邮件。同时,黑莓系统提供手提电话、文字短信、互联网传真、网页浏览及其它无线信息服务功能。黑莓系统主要针对商务应用,具有很高的安全性和可靠性。 (7)PalmOS由拥有较多的第三方软件,是32位的嵌入式操作系统,主要在移动终端上使用,操作系统本身所占的内存极小,不具备录音和MP3播放功能。 (8)Linux手机操作系统具有开放源代码的特性,但是也包含入门难度高,集成开发环境差,Linux的产品与个人计算机的连接性较差,具有较强的开发实力的公司很少等不足。 2.简述Android平台的特征

android studio 控件常用属性

android studio 控件常用属性 下面是RelativeLayout各个属性 1.android:layout_above="@id/xxx" --将控件置于给定ID控件之上 2.android:layout_below="@id/xxx" --将控件置于给定ID控件之下 3. android:layout_toLeftOf="@id/xxx" --将控件的右边缘和给定ID控件的左边缘对齐 4.android:layout_toRightOf="@id/xxx" --将控件的左边缘和给定ID控件的右边缘对齐 5. android:layout_alignLeft="@id/xxx" --将控件的左边缘和给定ID控件的左边缘对齐 6.android:layout_alignTop="@id/xxx" --将控件的上边缘和给定ID控件的上边缘对齐 7.android:layout_alignRight="@id/xxx" --将控件的右边缘和给定ID控件的右边缘对齐 8.android:layout_alignBottom="@id/xxx" --将控件的底边缘和给定ID控件的底边缘对齐 9.android:layout_alignParentLeft="true" --将控件的左边缘和父控件的左边缘对齐 10. android:layout_alignParentTop="true" --将控件的上边缘和父控件的上边缘对齐 11. android:layout_alignParentRight="true" --将控件的右边缘和父控件的右边缘对齐 12.android:layout_alignParentBottom="true" --将控件的底边缘和父控件的底边缘对齐 13.android:layout_centerInParent="true" --将控件置于父控件的中心位置 14.android:layout_centerHorizontal="true" --将控件置于水平方向的中心位置 15.android:layout_centerVertical="true" --将控件置于垂直方向的中心位置 android:layout_width 设置组件的宽度 android:layout_height 设置组件的高度 android:id 给组件定义一个id值,供后期使用 android:background 设置组件的背景颜色或背景图片 android:text 设置组件的显示文字 android:textColor 设置组件的显示文字的颜色 android:layout_below 组件在参考组件的下面 android:alignTop 同指定组件的顶平行

Android平台我的日记设计文档

Android平台我的日记 设计文档 项目名称:mydiray 项目结构示意: 阶段任务名称(一)布局的设计 开始时间: 结束时间: 设计者: 梁凌旭 一、本次任务完成的功能 1、各控件的显示 二、最终功能及效果 三、涉及知识点介绍 四、代码设计 activity_main.xml:

android:layout_centerHorizontal="true" android:layout_marginTop="88dp" android:text="@string/wo" android:textSize="35sp"/>

相关文档 最新文档