zoukankan      html  css  js  c++  java
  • Android学习笔记05:布局Layout介绍

    1.Layout介绍

      为适应各种界面风格,满足开发的需要,Android提供了5种布局方式,分别是LinearLayout(线性布局)、FrameLayout(框架布局)、RelativeLayout(相对布局)、AbsoluteLayout(绝对布局)以及TableLayout(表格布局),通过这5种布局我们可以在手机屏幕上随心所欲的摆放各种控件。

      在Android的系统中,可视化的控件是从Android.view.View类中继承而来。控件的创建方式通常有2种方式:

      1、通过在xml布局文件中配置控件的各种属性,然后在程序中加载要使用的控件。

      2、直接在程序中设置控件属性,并加载控件。

      xml布局文件是android系统中定义控件的常用方法,这样做的目的与好处是显而易见的,使程序代码与图形UI分离,方便代码及图形UI的各自维护。

      xml布局文件必须包含在res/layout目录中,且每一个xml布局文件的根节点可以是任意的视图标签。为xml文件布局中的标签指定id时需要使使用如下形式:

      android:id=“@+id/标签名称”

      每一个标签的id都会在R类中生成与之对应的变量,该标签名称便保存在R文件当中了。

      如果是要使用xml布局文件,则需要在oncreate方法中使用setContentView来加载指定的xml布局文件。加载方法如下:

      public void onCreate(Bundle savedInstanceState) {
      super.onCreate(savedInstanceState);
      setContentView(R.layout.main); }

    2.Layout常用属性

      在Android系统中表示单位长度的方式通常有三种,分别是px、dp、sp。

      px表示屏幕实际的象素。例如,320*480的屏幕即意味着该手机屏幕在横向有320个象素,在纵向有480个象素。dp表示屏幕的物理尺寸,大小为1英寸的1/72。sp是与刻度无关的像素,与dp类似,但是可以根据用户的字体大小首选项进行缩放。

      通常,如果设置表示长度、高度等属性时可以使用dp 或sp。但如果设置字体,则需要使用sp。

      1、如何控制某一控件在父控件中的相对位置呢?  

      在Android系统中提供了layout_margin,用来控制某一控件边缘相对于父控件的边距。

      其中,android:layout_marginTop表示某一控件相对于父控件顶部的距离。android:layout_marginLeft表示某一控件相对于父控件左边框的距离。android:layout_marginRight表示某一控件相对于父控件右边框的距离。android:layout_marginButtom表示某一控件相对于父控件底部的距离。

       2、如何控制某一控件中内容在该控件中的相对位置呢?

      在Android系统中提供了padding,用来控制某一控件中内容相对于该控件边缘的边距。

      其中,android:paddingTop表示某一控件中的内容相对于该控件边缘顶部的距离。android:paddingLeft表示某一控件中的内容相对于该控件左边缘的距离。android:paddingRight表示某一控件中的内容相对于该控件右边缘的距离。android:paddingButtom表示某一控件中的内容相对于该控件边缘底部的距离。

      3、android:gravity和android:layout_gravity的区别

      android:gravity用于设置View组件的对齐方式,而android:layout_gravity用于设置Container组件的对齐方式。

  • 相关阅读:
    新手学习FFmpeg
    新手学习FFmpeg
    新手学习FFmpeg
    进阶计划
    面试题汇总
    grep命令
    Quartz教程三:Job与JobDetail介绍
    spring boot热部署
    Quartz学习——SSMM(Spring+SpringMVC+Mybatis+Mysql)和Quartz集成详解(四)
    SpringBoot集成篇(二) 异步调用Async
  • 原文地址:https://www.cnblogs.com/menlsh/p/2754309.html
Copyright © 2011-2022 走看看