[精品]02Layout布局管理器

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
setContentView(yout.<资源文件名>);
通过如下方法访问指定的UI组件:
findViewById(R.id.<组件id>);
使用XML布局文件定义视图
Xml布局文件是android系统中定义的视图常用方法,所有的布 局文件必须包含在res/layout目录中。定义XML布局的命名和定 义注意事项如下: xml布局文件必须是以xml文件名结束,命名必须是符合java的 规范 每一个xml布局文件的根节点可以是任意的控件标签 xml布局文件的根节点必须是包含android的命名空间,命名空 间必须是 xmlns:android=/apk/res/android 为xml文件布局中的控件指定的id需要使用这样的格式: android:id=“@+id/控件名称“该标记会保存在R文件中,即生 成 android:id="@id/控件名称"表示该控件的id名称已经在R文件生 成了,可以引用了 每一个视图的id都会在R类中生成与之对应的变量,因此视图ID 的值必须是符合java规范的
为了适应各种界面风格,Android提供了6种布局,这6种布局分别是: FrameLayout(帧布局)、LinearLayout(线性布局)、RelativeLayout(相 对布局)、TableLayout(表格布局)、GridLayout(网格布局)、 AbsoluteLayout(绝对布局)(已过时,故此不讲)等。 利用以上6种布局我们可以再手机屏幕上随心所欲的摆放各种控件。 布局管理器都是以ViewGroup为基类派生出来的; 使用布局管理器可以 适配不同手机屏幕的分辨率,尺寸大小;
若有可能,横向拉伸以填满容器
学云 |”分隔即可 为您提供高品质课件、学习督导服务、即时答疑、知识交易平台 当需要设置多个值时,用“
线性布局LinearLayout
android:layout_width和android_layout_height属性说明
属性
wrap_content fill_parent
如果使用dp和sp,系统会根据屏幕密度的变化自动进行转换。
概念清晰化
Android LayoutParams简单说明 其实这个LayoutParams类是用于child view(子视图)向 parent view(父视图)传达 自己的意愿的一个东西(孩子想变成什么样向其父亲说明) LayoutParams继承于youtParams. LayoutParams相当于一个Layout的信息包,它封装了Layout的位置、高、宽 等信息。假设在屏幕上一块区域是由一个Layout占领的,如果将一个View添加到 一个Layout中,最好告诉Layout用户期望的布局方式,也就是将一个认可的 layoutParams传递进去。 可以这样去形容LayoutParams,在象棋的棋盘上,每个棋子都占据一个位置, 也就是每个棋子都有一个位置的信息,如这个棋子在4行4列,这里的“4行4列”就是 棋子的LayoutParams。
如果未作设置,当View被 冻结时将不会保存其状态 任何继承自View的子类都将拥有View类的属性及对应方法
Android布局中常用属性介绍
layout_margin是控件边缘相对于父控件的边距 取值为android:layout_marginTop="10dp"
android:layout_marginTop="10dp"
Android中长度单位介绍
请翻到《疯狂安卓讲义》65页 Android表示单位长度的方式通常有三种表示方式。 px:表示屏幕实际的象素。例如,320*480的屏幕在横向有320 个象素,在纵向有480个象素。 px : 像素, 每个px对应屏幕上的一个点; dip/dp : device independent pixels, 设备的独立像素, 这种单位 基于屏幕密度, 在每英寸160点的显示器上 1dp = 1px, 随着屏幕 密度改变, dp 与 px 换算会发生改变; sp : scale pixels, 比例像素, 处理字体的大小, 可以根据用户字 体大小进行缩放;
线性布局实例
使用线性布局实现如下界面
老罗安卓视频,相对较易
刘若翘杰作,相对有难度
相对布局RelativeLayout
子控件的位置相对兄弟控件或父容器而定
说明
不改变控件大小,对齐到容器顶部 不改变控件大小,对齐到容器底部 不改变控件大小,对齐到容器左侧 不改变控件大小,对齐到容器右侧 不改变控件大小,对齐到容器容器中心位置
Fill Fill_vertical
Fill_horizontal
若有可能,纵向横向同时拉伸以填满容器 若有可能,纵向拉伸以填满容器


• •
设备组件本身属性 : 带layout的属性是设置本身组件属性, 例如 android:layout_gravity设置的是本身的对齐方式;
设置子元素属性 : 不带layout的属性是设置其所包含的子元素, 例如 android:gravity 设置的是该容器子控件的对齐方式; LayoutParams属性 : 所有的布局管理器都提供了相应的LayoutParams内部 类, 这些内部类用于控制该布局本身, 如 对齐方式 layout_gravity, 所占权重 layout_weight, 这些属性用于设置本元素在父容器中的对齐方式; 容器属性 : 在android:后面没有layout的属性基本都是容器属性, android:gravity作用是指定指定本元素包含的子元素的对齐方式, 只有容器 才支持这个属性;
描述
表示大小刚好足够显示当前控件里 的内容 填满父控件的空白 Android中 fill_parent和match_parent是一样的。 在Android2.2中启动match_parent, 不用fill_parent
match_parent
线性布局LinearLayout
android:layout_weight权重的描述
Android 常用布局介绍 Android 常用布局介绍主讲Biblioteka :陈树辉6种布局的继承关系
在上面的UML图中可以看出, 绝对布局 帧布局 网格布局 相对布局 线性布局是 直接继承ViewGroup,表格布局是继承LinearLayout;
布局(Layout)
简单的说:Activity就是布满整个窗口或者悬浮于其他窗口上的交互界 面。在一个应用程序中通常由多个Activity构成,都会在Manifest.xml 中指定一个主的Activity,如下设置 <activity android:label="@string/app_name“ android:name=".MainActivity" >
线性布局
属性名称 android:orientation android:gravity android:gravity 属性值 Top Bottom Left Right Center 对应方法 setOrientation(int) setGravity(int) 描述 设置布局的朝向,用横向 要纵向两种 设置线性布局内部元素的 布局方式
android:layout_marginLeft
android:layout_marginTop
中间 中间元素
android:layout_marginButtom="10dp "
android:layout_margin相对于父控件的间隔
Android布局中常用属性介绍
layout_padding是控件内容相对于控件边缘的边距 取值也为:Android:padding="8dp"
layout_weight 用于给一个线性布局中的诸多视图(即LinearLayout的子 元素)的重要度赋值。 所有的视图都有一个layout_weight值,默认为零,意思是需要显示 多大的视图就占据多大的屏幕空 间。若赋一个高于零的值,则将父 视 图中的可用空间分割,分割大小具体取决于每一个视图的 layout_weight 值以及该值在当前屏幕布局的整体 layout_weight值和在其它视图 屏幕布 局的layout_weight值中所占的比率而定。
in : 英寸, 标准长度单位 mm : 毫米, 标准长度单位 pt : 磅, 标准长度单位, 1/72英寸;。
Android中长度单位设计技巧
设计技巧: 如果设置表示长度、高度等属性时可以使用dp 或sp。但如果设 置字体,需要使用sp。 dp是与密度无关,sp除了与密度无关外,还与scale(渐变尺寸 伸缩动画效果)无关
<intent-filter > <action android:name="android.intent.action.MAIN" /> <category android:name="UNCHER" /> </intent-filter> </activity>
界面编程与视图(View)组件
Android应用的所有UI组件都继承自View类。 ViewGroup也是继承自View类,但是 ViewGroup主要用作其他UI控件的容器。
使用XML布局控制UI界面
Android推荐使用XML布局文件来控制视图。 将视图控制逻辑从Java代码中分离出来,放 入XML文件中控制,体现了MVC的设计思想。 通过如下代码在Activity中显示视图:
Android:paddingTop="8dp"
Android:paddingLeft
中间元素
Android:paddingButtom="8dp"
Android:paddingRight
线性布局LinearLayout
线性布局是最常用的布局线性布局在xml文件中使用 <LinearLayout>来定义 线性布局可以分为水平和垂直的方向的布局,可以通过 android:orientation=“vertical”来定义方向,该属性可以有 horizontal和vertical两个方向。 <LinearLayout>标签中有一个很重要的属性gravity,该属性用 于控制布局中视图的位置,如果设置多个值需要使用 | 进行分 隔,属性如下:

View类常用属性及方法
属性名称 android:background android:clickable android:visibility android:focusable android:id android:longClickable android:saveEnabled 对应方法 setBackgroudResource(int) setClickable(boolean) setVisibility(int) setFocusable(boolean) setId(int) setLongClickable(boolean) setSaveEnabled(boolean) 描述 设置背景 设置View是否响应单击事 件 控制View的可见性 控制View是否可以获取焦 点 为View设置标识符,可以 通过findViewById()获取 设置View 是否响 应长单 击事件
概念清晰化
• 父容器与本容器属性 : android:layout_属性是本容器的属性, 定义在这个布 局管理器的LayoutParams内部类中, 每个布局管理器都有一个LayoutParams 内部类, android:、、 是父容器用来控制子组件的属性. 如 android:layout_gravity 是控制组件本身的对齐方式, android:gravity是控制本 容器子组件的对齐方式; 控制本身元素属性与子元素属性 :
相关文档
最新文档