zoukankan      html  css  js  c++  java
  • 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一样没有效果

    这里总结下:

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

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

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


  • 相关阅读:
    Leetcode 538. Convert BST to Greater Tree
    Leetcode 530. Minimum Absolute Difference in BST
    Leetcode 501. Find Mode in Binary Search Tree
    Leetcode 437. Path Sum III
    Leetcode 404. Sum of Left Leaves
    Leetcode 257. Binary Tree Paths
    Leetcode 235. Lowest Common Ancestor of a Binary Search Tree
    Leetcode 226. Invert Binary Tree
    Leetcode 112. Path Sum
    Leetcode 111. Minimum Depth of Binary Tree
  • 原文地址:https://www.cnblogs.com/liguangsunls/p/7222448.html
Copyright © 2011-2022 走看看