Android Day01-布局详解

简介:

   在Android中布局分为线性布局、相对布局、帧布局、表格布局、网格布局、绝对布局,常用的是线性布局相对布局

   **布局本身也是一个组件(通过类的继承关系可以得知),布局文件中不管是什么组件包括布局本

     身要指定layout_width和layout_height属性。

   **布局上的属性是相互影响的,有着优先级。如weight,如果设置了布局的这个属性。组件的

    layout_width或layout_height就要设置为0. 

一、线性布局

   uorientation 属性是指定线性布局的排列方向:

                ühorizontal 水平(默认)

                       üvertical 垂直

    ugravity属性是指定当前控件内容显示位置

     üleft 左边

     üright 右边

     ütop 上边

     übottom 底边

   ulayout_gravity属性是指定当前控件在父元素的位置

     üleft 左边

     üright 右边

     ütop 上边

     übottom 底边

   ulayout_weightSum(权重)属性是把线性布局中剩余空间分成N.

   ulayout_weight (权重)属性是指定当前控件在父元素(线性布局)中占N份.

   uvisibility属性是控制布局是否显示: 

     üvisible 显示

     üinvisible 不显示但占空间

     ügone 隐藏


二、相对布局 

    位置、对齐

     //属性值为@id/控件id名   

     uandroid:layout_toRightOf  在指定控件的右边

    uandroid:layout_toLeftOf  在指定控件的左边

    uandroid:layout_above  在指定控件的上边

    uandroid:layout_below  在指定控件的下边


    uandroid:layout_alignBaseline  跟指定控件水平对齐

    uandroid:layout_alignLeft  跟指定控件左对齐

    uandroid:layout_alignRight  跟指定控件右对齐

    uandroid:layout_alignTop  跟指定控件顶部对齐

    uandroid:layout_alignBottom  跟指定控件底部对齐

     //属性值为true或者false

    uandroid:layout_alignParentLeft  是否跟父布局左对齐

    uandroid:layout_alignParentTop  是否跟父布局顶部对齐

    uandroid:layout_alignParentRight  是否跟父布局右对齐

    uandroid:layout_alignParentBottom  是否跟父布局底部对齐


    uandroid:layout_centerVertical  在父布局中垂直居中  

    uandroid:layout_centerHorizontal  在父布局中水平居中

    uandroid:layout_centerInParent  在父布局中居中


1
2
3
4
5
6
7
     < Button
         android:layout_width = "wrap_content"
         android:layout_height = "wrap_content"
         android:layout_toRightOf = "@id/id_btn01"
         android:text = "Btn02"
         android:layout_alignParentRight = "true"
         />

    layout_toRightOf与layout_alignParentRight="true"同时存在,按钮的宽度就等于match_parent了。

    blob.png



            


易于混淆的属性

        1.layout_marginXXX与layout_paddingXXX的区别

     padding是站在父view的角度描述问题,它规定它里面的内容必须与这个父view边界的距离。

     margin则是站在自己的角度描述问题,规定自己和其他(上下左右)的view之间的距离,如

   果同一级只有一个view,那么它的效果基本上就和padding一样。(网上经常有说margin是相对于

   父控件,这种说法其实是错误的。

     如下面的是垂直排列LinearLayout中的两个TextView控件,layout_margintop属性分别为50和

   100。因为是垂直排列,所以下面的那个TextView的top是相对于上一个控件的。效果图如下所示。

     wKiom1Wrc1rj03OqAAB6a5irIe4741.jpg

      如果将LinearLayout的方向改为水平排列的话,两个TextView的top都是相对于父窗体的。效

   果图如下:

     wKiom1WrdsCwGQE_AABPZfR7NpM202.jpg

     

   






      本文转自屠夫章哥  51CTO博客,原文链接:http://blog.51cto.com/4259297/1676083,如需转载请自行联系原作者



相关文章
|
6月前
|
XML Android开发 数据安全/隐私保护
10. 【Android教程】网格布局 GridLayout
10. 【Android教程】网格布局 GridLayout
330 1
|
2月前
|
ARouter Android开发
Android不同module布局文件重名被覆盖
Android不同module布局文件重名被覆盖
|
4月前
|
移动开发 监控 前端开发
构建高效Android应用:从优化布局到提升性能
【7月更文挑战第60天】在移动开发领域,一个流畅且响应迅速的应用程序是用户留存的关键。针对Android平台,开发者面临的挑战包括多样化的设备兼容性和性能优化。本文将深入探讨如何通过改进布局设计、内存管理和多线程处理来构建高效的Android应用。我们将剖析布局优化的细节,并讨论最新的Android性能提升策略,以帮助开发者创建更快速、更流畅的用户体验。
73 10
|
6月前
|
Android开发
08. 【Android教程】相对布局 RelativeLayout
08. 【Android教程】相对布局 RelativeLayout
91 0
|
2月前
|
ARouter Android开发
Android不同module布局文件重名被覆盖
Android不同module布局文件重名被覆盖
173 0
|
4月前
|
编解码 Android开发
【Android Studio】使用UI工具绘制,ConstraintLayout 限制性布局,快速上手
本文介绍了Android Studio中使用ConstraintLayout布局的方法,通过创建布局文件、设置控件约束等步骤,快速上手UI设计,并提供了一个TV Launcher界面布局的绘制示例。
74 1
|
5月前
|
Android开发 Kotlin
kotlin开发安卓app,如何让布局自适应系统传统导航和全面屏导航
使用`navigationBarsPadding()`修饰符实现界面自适应,自动处理底部导航栏的内边距,再加上`.padding(bottom = 10.dp)`设定内容与屏幕底部的距离,以完成全面的布局适配。示例代码采用Kotlin。
141 15
|
4月前
|
XML 数据可视化 API
Android经典实战之约束布局ConstraintLayout的实用技巧和经验
ConstraintLayout是Android中一款强大的布局管理器,它通过视图间的约束轻松创建复杂灵活的界面。相较于传统布局,它提供更高灵活性与性能。基本用法涉及XML定义约束,如视图与父布局对齐。此外,它支持百分比尺寸、偏移量控制等高级功能,并配有ConstraintSet和编辑器辅助设计。合理运用可显著提高布局效率及性能。
272 0
|
4月前
|
Android开发
AutoX——当Android中clickable属性显示为false,实际可点击的布局如何处理
AutoX——当Android中clickable属性显示为false,实际可点击的布局如何处理
71 0
|
5月前
|
XML Android开发 数据安全/隐私保护
使用RelativeLayout布局Android界面
使用RelativeLayout布局Android界面