Android提供6种布局类的控件:LinearLayout、TableLayout、GridLayout、FrameLayout、RalativeLayout、AbsoluteLayout

网上搜到一篇文章,写的比较全面。

http://blog.csdn.net/cctcc/article/details/9943587

补充:

1、部分Layout包含gravity属性(对应的XML属性android:gravity),可以使用setGravity方法来设置Layout内部组件的对齐方式。可以同时设置横向和纵向的对齐方式,中间用“|”间隔,但是“|”前后不能有空格。

2、LinearLayout不会换行,如果orientation为horizontal,想要显示5个控件,但是屏幕上只能显示4个控件,则第5个控件不会显示在屏幕上,因为LinearLayout不会自动换行。

3、TableLayout

  •   继承自LinearLayout,而且TableLayout的组成部分TableRow也是一个LinearLayout。
  •   如果直接向TableLayout中添加组件,这个组件将自己占有一行。
  •   TalbeLayout的列宽度由最宽的那个单元格确定。
  •   可以设置以下三种列行为方式,下面指定的列号从0开始:
      • Shrinkable:该列所有单元格可以被收缩,对应TableLayout.setColumnShrinkable(int,boolean);对应TableLayout的XML属性,android:shrinkColumns
      • Stretchable:该列所有单元格可以被拉伸,对应TableLayout.setColumnStretchable(int,boolean);对应TableLayou的XML属性,andriod:stretchColumns
      • Collapsed:该列所有单元格将会被隐藏,对应TableLayout.setColumnCollpased(int,boolean);对应TableLayout的XML属性,android:collpaseColumns

4、RelativeLayout

  可以通过setGravity设置内部各子组件的对齐方式

  setIgnoreGravity(int)设置某个组件不需要遵守gravity设置的对齐方式。

5、Android通常支持如下的距离单位

  px:像素,每个px对应屏幕上的一个点

  dip或dp(device independent pixels,设备独立像素):一种基于屏幕密度的抽象单位。在每英寸160点的显示器上,1dip=1px。但随着屏幕密度的抽象单位,dip和px的转换会发生改变。

  sp(scaled pixels,比例像素):主要处理字体大小,可以根据用户选择的字体大小进行缩放。

  in(英寸):标准长度单位。

  mm(毫米):标准长度单位。

  pt(磅):标准长度单位,1/72英寸。

  em :这是一个弹性的长度单位,它会继承父级容器的单位大小。显示的时候,大小为父级容器的大小乘以em对应的值。比如父级容器15px,该控件大小为0.5em,则大小为7.5px。

Android 布局类控件的更多相关文章

  1. Android布局及控件的属性说明

    android常用的一些属性说明   android:id --- 为控件指定相应的ID android:text --- 指定控件当中显示的文字,需要注意的是,这里尽量使用strings.xml文件 ...

  2. 让我们创建屏幕- Android UI布局和控件

    下载LifeCycleTest.zip - 278.9 KB 下载ViewAndLayoutLessons_-_Base.zip - 1.2 MB 下载ViewAndLayoutLessons_-_C ...

  3. [转 载] android 谷歌 新控件(约束控件 )ConstraintLayout 扁平化布局

    序 在Google IO大会中不仅仅带来了Android Studio 2.2预览版,同时带给我们一个依赖约束的库. 简单来说,她是相对布局的升级版本,但是区别与相对布局更加强调约束.何为约束,即控件 ...

  4. android自己定义刷新类控件

    android尽管定义了种类很丰富的控件.可是有的时候这些自己定义的控件还是不能满足我的要求,为了可以适配很多其它的需求,我们须要在原有的基础上进行自己定义控件. 今天我向大家介绍的就是android ...

  5. Android RecyclerView滚动类控件修改、去掉滑动边界的阴影效果

    前言 滚动类控件,大家都用的很多,如 RecyclerView.NestedSrollView.... 下面以recyclerView为例讲解,其他滚动控件也同理. RecyclerView 滚动列表 ...

  6. Android 在程序中动态添加 View 布局或控件

    有时我们需要在程序中动态添加布局或控件等,下面用程序来展示一下相应的方法: 1.addView 添加View到布局容器 2.removeView 在布局容器中删掉已有的View 3.LayoutPar ...

  7. Android 中常见控件的介绍和使用

    1 TextView文本框 1.1 TextView类的结构 TextView 是用于显示字符串的组件,对于用户来说就是屏幕中一块用于显示文本的区域.TextView类的层次关系如下: java.la ...

  8. 五、Android学习第四天补充——Android的常用控件(转)

    (转自:http://wenku.baidu.com/view/af39b3164431b90d6c85c72f.html) 五.Android学习第四天补充——Android的常用控件 熟悉常用的A ...

  9. 【风马一族_Android】第4章Android常用基本控件

    第4章Android常用基本控件 控件是Android用户界面中的一个个组成元素,在介绍它们之前,读者必须了解所有控件的父类View(视图),它好比一个盛放控件的容器. 4.1View类概述 对于一个 ...

随机推荐

  1. .net core中automapper的使用

    automapper 是将两个类中的相同字段进行映射,也可以指定字段进行映射:将 UserDao的id 映射为 User 的age CreateMap<UserDao, User>() . ...

  2. Flutter - Finished with error: FormatException: Bad UTF-8 encoding 0xc3 (at offset 169)

    方案1: 更改项目的Encoding方式 File -> Settings -> Editor,  choose "File Encodings", change Pr ...

  3. Tomcat学习(一)------部署Web应用方法总结

    Tomcat部署Web应用方法总结 在Tomcat中部署Java Web应用程序有两种方式:静态部署和动态部署. 在下文中$CATALINA_HOME指的是Tomcat根目录. 一.静态部署 静态部署 ...

  4. How to: Provide Credentials for the Dashboards Module when Using External Data Sources

    XAF中使用dashboard模块时,如果使用了sql数据源,可以使用此方法提供连接信息 https://www.devexpress.com/Support/Center/Question/Deta ...

  5. 六种流行的语言大餐---C、C++、python、Java、php、C#你更喜欢哪一个呢?

    引言 鉴于五一期间超大的人流量,LZ思来想去,最终还是选择蜗居在自己的出租屋.无聊之际,当然不能忘了做点什么事情,于是LZ就研究了一下几种语言的皮毛,在这里献丑一翻,希望各位猿友莫要见笑. 不过说来也 ...

  6. golang--性能测试和分析

    前言 测试分为:压力测试.负载测试.性能测试,功能测试等等,其中在开发过程中开发人员经常要写一些test case unit 自己的模块进行功能测试测和性能.在分析出模块的性能瓶颈后开发人员就需要针对 ...

  7. join命令详解

    基础命令学习目录首页 原文链接:https://www.cnblogs.com/agilework/archive/2012/04/18/2454877.html 功能说明:将两个文件中,指定栏位内容 ...

  8. sar命令详解

    基础命令学习目录首页 原文链接:http://lovesoo.org/linux-sar-command-detailed.html sar(System Activity Reporter系统活动情 ...

  9. yarn (npm) 切换设置镜像源

    设置镜像源 1.查看一下当前源 yarn config get registry 2.切换为淘宝源 yarn config set registry https://registry.npm.taob ...

  10. Laravel路由除了根目录全报404错误

    Route::get('hello',function(){ return 'Hello World!'; }); 在laravel/app/Http/routes.php下添加上面的语句,然后再浏览 ...