zoukankan      html  css  js  c++  java
  • 界面布局

    前言:

      在Android SDK刚刚问世的时候,Android提供了AbsoluteLayout,FrameLayout,LinearLayout,RelativeLayout和Tablelayout五大布局来应对终端碎片化问题。

     

    一、LinearLayout布局

      线性布局,这个东西,从外框上可以理解为一个div,他首先是一个一个从上往下罗列在屏幕上。每一个LinearLayout里面又可分为垂直布局(android:orientation="vertical")和水平布局(android:orientation="horizontal" )。当垂直布局时,每一行就只有一个元素,多个元素依次垂直往下;水平布局时,只有一行,每一个元素依次向右排列。

    linearLayout中有一个重要的属性 android:layout_weight="1",这个weight在垂直布局时,代表行距;水平的时候代表列宽;weight值越大就越大。

    对齐:layout_gravity
    垂直(vertical)的LinearLayout布局内无法通过控件的android:layout_gravity=""进行垂直居中,可以水平居中。
    水平(horizontal)的LinearLayout布局内无法通过控件的android:layout_gravity=""进行水平居中,可以垂直居中。
    2个都可以用布局的属性android:gravity指定所有控件的居中情况(用center可以水平,垂直居中)。
    如果想要某个控件单独水平垂直居中,可以在控件外面再套个LinearLayout,然后android:gravity。

    LinearLayout中gravity与layout_gravity
    LinearLayout有两个非常相似的属性:android:gravity与android:layout_gravity。他们的区别在于:android:gravity用于设置View组件的对齐方式,而android:layout_gravity用于设置Container组件的对齐方式。

    1、 部分属性

    1. android:orientation:指定纵向布局还是横向布局
    2. android:layout_marginLeft:标签外部离屏幕的左边距
    3. android:layout_marginTop:标签外部离屏幕的上边距
    4. android:textSize:字体显示的大小 注意:单位是sp

    二、FrameLayout布局

    三、RelativeLayout布局

    四、TableLayout布局

    五、AbsoluteLayout布局

    1、部分属性

    1. android:layout_x:绝对于屏幕左上角的角落横向的距离
    2. android:layout_y:绝对于屏幕左上角的角落纵向的距离

    代码:

    <?xml version="1.0" encoding="utf-8"?>
    <AbsoluteLayout
        xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="match_parent"
        android:layout_height="match_parent" >
    
        <!-- 绝对布局AbsoluteLayout -->
    
        <Button
            android:id="@+id/button1"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_x="60dp"
            android:layout_y="60dp"
            android:text="Button 1" />
    
        <Button
            android:id="@+id/button2"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_x="160dp"
            android:layout_y="160dp"
            android:text="Button 2" />
    
    </AbsoluteLayout>

    效果:

  • 相关阅读:
    优化网站性能的14条准则
    单元测试
    无配置wcf Host
    .net 4.0
    Java 7 resources
    关于重用
    用GMaven plugin更好地编译系统
    关于系统分层的自问自答
    UBIQUITOUS LANAGUAGE
    用Groovy方式实现接口便于单元测试和协作开发
  • 原文地址:https://www.cnblogs.com/shiyoushao/p/6112534.html
Copyright © 2011-2022 走看看