入门

来源:互联网 发布:英雄无敌3玛各数据 编辑:程序博客网 时间:2024/05/01 10:23

布局

布局的位置:res/layout/
布局的格式:xml文件。Android代码根据xml文件来帮我们生成对应的对象

XML

<组件>    开头,中间到</组件>之间 都是他包裹的内容    <组件 属性:值 属性:值。。。/>    <组件 />     <组件 /></组件>   结尾

能包裹其他组件的,一定是布局
布局没有界面的组件
整个文档一定是树状结构,只有一个根布局

View

android所有UI组件以及UI布局管理器的父类,基本属性是所有组件通用的

android:background 背景 颜色 图片
android:layout_width 宽度:match_parent:匹配父窗体,和父窗体一样大
android:layout_height 高度:Wrap_content:包裹内容
android:id id号,一个组件中,只允许出现一次id号,不允许重复。
android:padding 边框的内边距 ,单位dip dp , 方向:上下左右
layout_margin: 边框的外边距 , 单位dip dp , 方向:上下左右
android:visibility: 是否可见 visible 可见 invisible 不可见 但是组件任然占据空间 gone不可见不占用空间
一般对于画线来说,直接使用View(V是大写的)

TextView 文本框

宽度、高度可以给match或者是wrap
四个方向 可以显示一张图片

android:drawableTop
android:drawableLeft
android:drawableBottom
android:drawableRight

android:drawpadding : 图片与文字之间的距离,单位dp
android:padding : 内边距
android:layout_margin : 外边距
android:autoLink 描述当前文本是一个超链接
android:singleLine 这是一个单行文本(不允许换行)
android:text 文本框中的内容
android:textColor 文字颜色
android:textSize 文字大小 单位sp
android:textStyle 字体样式 普通 斜体 粗体
android:typeface 字体格式 外部导入ttf字体
android:maxLines 最大的行数 保持自己的高度,超过max后,固定到max行
android:lines 行数 保持固定行数的高度

Button 按钮

TextView子类,和TextView完全一样,只是多了一个样式

ImageView 图片

宽度、高度一般是给wrap
android:src : 前景图片
android:padding : 内边距
android:layout_margin : 外边距
android:scaleType: 缩放方式 fit 不按比例拉伸
android:adjustViewBounds: 图片在调整大小的时候,保持X Y的比例 height在包裹内容的时候

线性布局管理器 LienarLayout

特点:所有组件按orientation来决定水平或者垂直排列。
android:orientation 设置该布局的走向
android:gravity : 相对布局也可以用,但是用了没效果,所以把它放在这里了
android:layout_gravity : 水平方向可以 上下移动 垂直方向可以 左右移动
layout_weight: 权重(不按照尺寸排列,按照100%比排列)
水平方向 按权重改变宽度(0dp),垂直方向 按权重来改变高度(0dp)

表格布局管理器 TableLayout

继承于 LinearLayout,使用百分比来调整宽度,高度就是包裹内容
每一个TableRow就是一行
特点:
不需要去实现 高度和宽度,默认都是wrap_content,使用权重来调整宽度。

帧布局 FrameLayout

特点: 没有特点
主要用来去 存放其他的组件。作为Fragment的容器来使用的。布局的叠加。

绝对布局 AbsoluteLayout

特点: 所有组件都使用x,y来标记左上角
layout_x, layout_y,因为不能屏幕适配,已经被弃用了。

相对布局 Relativelayout

布局中有 15个 特殊的方法
与父窗体对齐 3+4

水平居中,垂直居中,整体居中 boolean
layout_centerHorizontal
layout_centerVertical
layout_centerInParent

与父窗体对齐 boolean
layout_alignParentLeft
layout_alignParentTop
layout_alignParentRight
layout_alignParentBottom

与其他组件对齐4+4
4:在其他组件的四个方向 必须要引用其他组件的id号
layout_toLeftOf
layout_toRightOf
layout_above
layout_below

4: 与其他组件的四个方向对齐 必须要引用其他组件的id号
align_Left
align_Top
align_Right
align_Bottom

设置布局在界面中

在Activity(活动 界面)的onCreate方法中,使用setContentView(layout),来实例化xml中声明的所有组件。

标签

include 将另外一个布局文件,加入到当前的文件中, 布局重用。
merge 作为根布局使用的。使用include加入的时候,减少布局层次,层次不要超过4层.

findViewById

Activity,View都具有该方法,从一个Activity中或者一个View中去查找一个id号,返回一个组件。
当前没有设置布局,findViewById 会返回一个null
当前设置了布局,但是组件id却不在设置的布局中,返回一个null
findViewById写在了 设置布局的 上面

原创粉丝点击