Android第二节(view简介以及Android布局管理器),维维复习

布局管理器是指定View之间的排列方式的。view就是UI控件,下节课我会整理到,这里咱们先讲布局,大布局在我看来就至关于一个房间,让view显示,就是说物品在房间的摆放规则。ide


1、View的简介布局

View ,通常都有TextView,EditText,Button,RadioButton,CheckBox,ImageView,ImageButton。google

ViewGroup,通常有LinearLayout,RelativeLayout,FrameLayout,Spinner,ListView,GridView。spa

每个View在布局中都有对应的标签,好比说TextView,它的标签就是<TextView>orm


布局与Activity的关系:布局只能在Activity或Dialog中加载和显示,就如MainActivity中onCreate()方法中的:setContentView(R.Layout.布局名),这个是加载布局。it


在Activity中怎么访问和修改View控件的属性:先要在布局中找到,相对应的控件的ID,好比TextView的Id是tv,那么定义一个全局变量private TextView textView;在onCreate()方法中:textView=findViewById(R.id.tv);tv.setXXX()来进行相关属性的设置。io


通常经常使用的属性是:id,layout_width,layout_height,background。class

通常常有的与属性对应的方法:setText(String),setTextSize(float),setTextColor(int),setSingleLine(boolean),setLines(int),setMaxLines(int),setAutoLinkMask(int)。变量

其中setAutoLinkMask() List

textView.setAutoLinkMask(Linkify.WEB_URLS);// 当文本内容中包含超连接格式的文本时,自动转换成超连接样式,点击会自动跳转到指定的网页
textView.setAutoLinkMask(Linkify.PHONE_NUMBERS);//自动转手机号码点击它可进入系统拨号界面
textView.setAutoLinkMask(Linkify.EMAIL_ADDRESSES);//自动转邮件地址点击它可发送邮件(要提早设置好本身的电子邮件)
textView.setAutoLinkMask(Linkify.MAP_ADDRESSES);//自动转街道地址点击它可查看位置(前提已安装了google地图)
textView.setAutoLinkMask(Linkify.ALL);//包括上面4种状况


2、布局管理器

布局管理器一共有5种,分别是:

线性布局:LinearLayout.

相对布局:RelativeLayout.

表格布局:TableLayout.

绝对布局:AbsoluteLayout(已废弃).

帧布局:FrameLayout

一、LinearLayout

(1)在线性布局中注意的属性是:orientation="horizontal|vertical",超过一个view的时候没有这个属性会报错。

(2)第二个须要注意的是weight的使用:

控件的width/height的属性必须保持一致;

width/height="0dp"  权重值越大,所占空间越大(正比例);

width/height="match_parent" 权重值越大,所占空间越小 (反比例);

width/height="wrap_content"  权重值越大,所占空间越大(正比例);

width/height不为“0dp“时,系统会优先考虑权重值小的组件,暂时不会放入代码,请你们见谅。

(3)gravity是控件内容及子控件的对齐方式,具体的属性按快捷键都会出来,这里就不一一介绍了。

(4)layout_gravity是控件在父布局中的对齐方式。


二、RelativeLayout相对布局

这个属性分为两大部分,一个是相对兄弟控件的,一个是相对父控件的。

(1)相对兄弟控件:

放置位置:

toLeftOf在指定的兄弟控件的左边位置

toRightOf在指定的兄弟控件的右边位置

below在指定的兄弟控件下边位置

above在指定的兄弟控件上边位置

对齐方式:

alignLeft与指定的兄弟控件左对齐

alignRight与指定的兄弟控件右对齐

alignTop与指定的兄弟控件顶部对齐

alignBottom与指定的兄弟控件底部对齐

alignBaseLine与指定的兄弟控件内容对齐

(2)相对父控件:

位置对齐:

alignParentLeft放置在父控件的左边(默认是这种放置)

alignParentRight放置在父控件的右边

alignParentTop放置在父控件的顶部

alignParentBottom放置在父控件的底部

居中对齐:

centerInParent放置在父控件的居中位置

centerHorizontal放置在父控件的水平居中位置

centerVertical放置在父控件的垂直居中位置


三、FrameLayout帧布局

layout_gravity 设置子控件位置的

foreground=“#4f00”设置绘制在全部子控件之上的drawable

foregroundGravity设置绘制在全部子控件之上的drawable的gravity属性

measureAllChildren计算全部子控件的大小


关于布局这块,基本上经常使用的就是线性布局和相对布局,你们把这两部分必定要掌握清晰。欢迎转载

相关文章
相关标签/搜索