关闭

pAdPt_-8 XML布局文件的常用布局属性

标签: androidxml布局属性
707人阅读 评论(0) 收藏 举报
分类:

2015.11.19

看“Android.老罗”的笔记以为Android开发入门的好瓜笔记。

1. 布局

1.1 Android的布局方式

简单来说,Activity是布满整个窗口或悬浮于其它窗口上的交互界面。为了适应各种界面风格,Android提供了5种布局:
- FrameLayout - 框架(帧)布局
- LinearLayout - 线性布局
- RelativeLayout - 相对布局
- TableLayout - 表格布局
- AbsoluteLayout - 绝对布局
利用以上5种布局可在手机屏幕上随心所欲的摆放各种空件。

1.2 Android视图创建方式

在Android系统中,任何的可视化控件都是从android.view.View继承的。可以使用两种方法来创建视图:
- 使用XML布局文件方式配置View的相关属性,然后装载这些View。
- 完全使用java代码来创建View。

1.3 XML布局文件常用属性

所有的XML布局文件必须包含在res/layout目录中。xml文件的编写遵循Android的语法规定。以下介绍5种布局中的一些布局属性。

(1) 5种布局都包含的属性

长度表示方式
px - 屏幕实际像素;dp(dip) - 屏幕物理尺寸,大小为1英寸的1/72;sp(与刻度无关的像素) - 与dp类似,但是可以根据用户的字体大小首选项进行缩放。

长度设计技巧:如果设置表示长度、高度属性时可以使用dp或sp;但如果设置字体,需要使用sp;dp是与密度无关,sp除了跟密度无关外,还与scale无关;如果使用dp和sp,系统会根据屏幕密度的变化自动进行转换。

android:layout_margin*
控件边缘相对于父控件的边距。

padding*
控件内容相对于控件边缘的边距。

android:gravity和android:layout_gravity
android:gravity用于设置View组件的对齐方式(View视图的内容的对齐方式);android:layout_gravity用于设置Container组件(包含内容的组件)的对齐方式。

(2) LinearLayout布局

可嵌套定义,但不建议嵌套多层线性布局,加载这样的布局文件会比较耗时。
android:layout_width和android:layout_height

属性 描述
wrap_content 填满父控件的空白
fill_parent 表示大小刚好足够显示当前控件里的内容,安卓中的fill_parent和match_parent是一样的
match_parent 在Android 2.2中启用match_parent,不用fill_parent

android:layout_weight权重属性
用于给一个线性布局中的诸度视图的重要度赋值。所有视图的layout_weight的默认值为0 - 需要显示多大就显示多大的屏幕空间。若给视图的该属性赋予一个高于0的值,则将父视图中的可用空间分割,分割的大小取决于每一个视图的layout_weight值以及该值在当前屏幕布局的整体layout_weight值和在其它屏幕布局的layout_weight值中所占的比率而定。

(3) FrameLayout布局

框架布局是最简单的布局方式,所有添加到这个布局中的视图都是以层叠的方式显示。第一个添加到框架布局中的视图显示在最底层,最后一个被放在最顶层,上一层的视图会覆盖下一层的视图,因此框架布局类似堆栈布局。

属性 描述
top 将视图放到屏幕顶端白
buttom 将视图放到屏幕的底端
left 将视图放在屏幕的左侧
right 将视图放在屏幕的右侧
center_vertical 将视图按照垂直方向居中显示
horizontal_vertical 将视图按照水平方向居中显示

(4) RelativeLayout布局

此布局可以设置某一个视图相对于其他视图的位置,这些位置包括上下左右等。

属性 描述
android:layout_below 在某元素下方
android:layout_above 在某元素的上方
android:layout_toLeftOf 在某元素的左边
android:layout_toRightOf 在某元素的右边

(5) TableLayout布局

在布局中,一个列的宽度由该列中最宽的那个单元格指定,而表格的宽度是有父容器指定的。在此布局中可以设置3种属性:

属性 描述
Shrinkable 列宽度可以进行收缩,以使表格能够适应其父容器的大小
Stretchable 列宽度可以拉伸,以使填满表格中的空闲空间
Collapsed 列被隐藏

列可以同时具有Shrinkable和Stretchable属性,在这种情况下,该列宽度将任意拉伸或收缩以适应父容器。

TableLayout继承自LinearLayout类。除了继承来自父类的属性和方法,TableLayout还包含表格布局所特有的属性和方法。

属性 描述
android:collapseColumns 设置指定列好的列属性为Collapsed
android:shrinkColumns 设置指定列好的列属性为Shrinkable
android:strethcColumns 设置指定列号的列属性为Stretchable

TableLayout中的列序号是从0开始计算的。setShrinkAllColumns和setStretchAllColumns实现的功能是将表格中的所有列设置为
Shrinkable或Stretchable。

1.4 使用XML布局文件定义视图并将视图应用到活动中的步骤

[1] 所有的布局文件必须包含在res/layout目录中。xml文件的编写遵循Android的语法规定。
[2] 通常在活动中的onCreate()方法使用setContentView()方法来加载xml布局文件。
[3] 通过XML文件中的视图资源在R.java文件中生成的R类名访问具体的视图。

[2015.11.19 - 20:43]

0
0
查看评论

Andriod: 在xml布局中使用自定义属性

Andriod: 在xml布局中使用自定义属性1、自定义View的属性,首先在res/values/ 下建立一个attr.xml , 在里面定义我们的属性和声明我们的整个样式。`<?xml version="1.0" encoding="utf-8"?...
  • qq_27280457
  • qq_27280457
  • 2016-07-06 20:19
  • 1368

android xml 资源中各种符号的使用 @ ?

一.@代表引用资源 1.引用自定义资源。格式:@[package:]type/name android:text="@string/hello" 2.引用系统资源。格式:@android:type/name     android:textC...
  • xiaoxiao_ming
  • xiaoxiao_ming
  • 2016-11-09 10:45
  • 500

布局文件中的几个常用布局参数

在布局文件中,这几个参数必须熟练掌握。 1、组件宽高,这两个参数可根据情况使用。因为规定太死,不建议使用。 2、组件布局宽高,layout_width,layout_height这两个参数描述此组件在父组件的表现形式。一种是适应自身内容:wrap_content;一种是适应父组件宽高:match...
  • xuegangic
  • xuegangic
  • 2017-04-01 16:14
  • 127

Android之xml文档中的命名空间

Android中,我们所需要使用的大部分资源都是通过xml文件定义的,并且还需要在xml文件中定义相关控件的属性。但是在定义控件属性时,我们必须在前面加上android命名空间。在xml文档开头我们会有这么一行代码:xmlns:android=”http://schemas.android.com/...
  • w517520112z
  • w517520112z
  • 2016-03-27 20:57
  • 784

Android布局文件layout.xml的属性详解

Android布局文件layout.xml的一些属性值   第一类:属性值 true或者 false android:layout_centerHrizontal 水平居中 android:layout_centerVertical 垂直居中 androi...
  • Faith_full
  • Faith_full
  • 2015-01-20 16:16
  • 896

相对布局常用的xml属性

类一:属性值为true或false         android:layout_centerHorizontal__水平居中         android:layout_centerVertival__垂...
  • CHENYI0526
  • CHENYI0526
  • 2016-11-09 10:20
  • 102

Android 常用布局Xml属性详解

Android应用开发中三种常最为常用的布局方式:Linearlayout(线性布局)、TableLayout(表格布局)、Relative Layout(相对布局)其中,相对布局比起前面两种布局方法而言更随意,用户可以将控件放在自己所希望的任何位置。 在LinearLayout和TableL...
  • fwwdn
  • fwwdn
  • 2012-04-20 13:22
  • 2066

Android XML布局文件解析过程源码解析

`mLayoutInflater.inflate(layoutResID, mContentParent)`。这行代码的作用是将我们的activity_main.xml填充到mContentParent中去。详见:[setContentView源码解析]。那么,这行代码怎么就将xml文件转换成了Vi...
  • qq_17250009
  • qq_17250009
  • 2016-08-22 09:47
  • 3536

android RelativeLayout常用xml布局属性

android RelativeLayout常用xml布局属性,使用RelativeLayout几乎可以布局所有类型的界面,但是由于其内容相对比较丰富,要掌握RelativeLayout并非易事,下面就对RelativeLayout常用的一些xml属性进行看看:    ...
  • snowgeneral
  • snowgeneral
  • 2010-11-28 09:39
  • 3434

android动态加载sd卡的xml布局文件

app加载sdcard里面的布局文件 在Android系统中可以shiyong
  • qq_18755755
  • qq_18755755
  • 2014-08-01 16:45
  • 1906
    个人资料
    • 访问:1806276次
    • 积分:19598
    • 等级:
    • 排名:第524名
    • 原创:385篇
    • 转载:0篇
    • 译文:42篇
    • 评论:409条
    文章分类