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

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


一、View的简介

View ,一般都有TextView,EditText,Button,RadioButton,CheckBox,ImageView,ImageButton。

ViewGroup,一般有LinearLayout,RelativeLayout,FrameLayout,Spinner,ListView,GridView。

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


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


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


一般常用的属性是:id,layout_width,layout_height,background。

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

其中setAutoLinkMask() 

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种情况


二、布局管理器

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

线性布局:LinearLayout.

相对布局:RelativeLayout.

表格布局:TableLayout.

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

帧布局:FrameLayout

1、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是控件在父布局中的对齐方式。


2、RelativeLayout相对布局

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

(1)相对兄弟控件:

放置位置:

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

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

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

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

对齐方式:

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

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

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

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

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

(2)相对父控件:

位置对齐:

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

alignParentRight放置在父控件的右边

alignParentTop放置在父控件的顶部

alignParentBottom放置在父控件的底部

居中对齐:

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

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

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


3、FrameLayout帧布局

layout_gravity 设置子控件位置的

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

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

measureAllChildren计算所有子控件的大小


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



你可能感兴趣的:(android,LinearLayout,RelativeLayout)