• LinearLayout (线性布局)的分析


    android提供了5中布局,线性布局,相对布局,帧布局。表格布局和绝对布局

    线性和相对布局用的是最多的

    以下要说的是线性布局

    提到线性布局 一定要记住。它里面的全部组件一定不会重叠的,

    切不会换行。当组件排列到窗口的边缘后,后面的组件不会显示不来。


    线性布局是将放入当中的组件依照水平或者垂直方向来布局的

     线性布局的语法:

    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android">

       属性列表

    </LinearLayout>

    简单的写一个:

    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:tools="http://schemas.android.com/tools"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:orientation="vertical">
        <TextView
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:background="#66ff66"
            android:textSize="25sp"
            android:text="面码" />
    
        <TextView
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
             android:textSize="25sp"
            android:background="#ff0000"
            android:text="小木" />
        
        <TextView
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
             android:textSize="25sp"
            android:background="#ffcc33"
            android:text="小桃" />    
    
    
    </LinearLayout>
    效果图:


    这个是垂直方向排列的,

    线性布局中经常使用的属性:

     android:orientation 指定线性布局排列的方向。其值有vertical是垂直horizontal是水平。

     andorid:gravity 布局管理器内组件的对其方法。上下左右,这个前面已经说了,这里

    在提起是想说当同一时候指定多个属性的时候中间用|分开 比如left|bottom.

    android:layout_width 指定组件的宽度,其值有fill_parent,match_parent,wrap_content,

    当中fill_parent和match_parent作用同样。表示组件的宽度与父容器的宽度同样。

    (android2.2之后推荐使用match_parent)

        <TextView
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:background="#66ff66"
            android:textSize="25sp"
            android:text="面码" />
    比如这个textview 的宽度就是和手机屏幕的宽度一样。

    wrap_content表示该组件的宽度恰好和它的宽度一样

    比如上面textview的高度。这个高度和字体的高度一样的。

    android:layout_height 指定组件的高度。里面的值和宽度一样

    android:id 指定当前组件的一个id属性。 这个指定之后android会在

    R.java中自己主动生成唯一的id值。

    android:weight 权重,这个就不再说了,不理解的參考

    http://blog.csdn.net/qq_33210042/article/details/50907811

    android:background 指定组件的背景, 这个要说下它的指定方法

    1 直接使用颜色值就像我上面的代码android:background="#ffcc33"

    2 调用图片anroid:background="drawable/图片的名字"

    3 使用android系统自带的 android:background="@android:color/white"

    android:visibility 指定布局中的组件是否显示,gone 隐藏,visible显示。

    invisible不显示但赞内存

    以下说一个线性布局的技巧(这个老师教的):

    先看代码:

    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:tools="http://schemas.android.com/tools"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:orientation="vertical">
        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:background="#66ff66"
            android:textSize="25sp"
            android:layout_gravity="right"
            android:text="面码" />
    
        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
             android:textSize="25sp"
            android:background="#ff0000"
            android:layout_gravity="left"
            android:text="小木" />
        
        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
             android:textSize="25sp"
            android:background="#ffcc33"
            android:layout_gravity="top"
            android:text="小桃" />    
            
            <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
             android:textSize="25sp"
            android:background="#ffcc33"
            android:layout_gravity="center"
            android:text="小桃" /> 
    
    
    </LinearLayout>



    看图能发现top没有效果了, 设置成bottom一样没有效果

    这里总结下:

    线性布局 是竖直方向是,左右对齐有效,顶部底部对齐无效。水平

    居中生效。竖直居中无效,

    在水平方向上则是反过来的,有兴趣的童鞋能够试试。大笑


  • 相关阅读:
    成长——新的开始,一切都是美好的
    asp.net mvc项目自定义区域
    随便记录下系列
    插件化编程实现的一份糖炒栗子~~
    个人项目框架搭建 -- 缓存接口与实现
    个人项目框架搭建 -- 仓储模式使用
    个人项目框架搭建 -- Autofac简单使用记录
    至自己
    使用T4模板合并js文件
    HTML5学习笔记
  • 原文地址:https://www.cnblogs.com/liguangsunls/p/7222448.html
Copyright © 2020-2023  润新知