• 第21天android:《android从零开始》视频(1013)


    10.LinearLayout学习

    1.以行为布局,下面是基本使用

    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:orientation="vertical" >

    orientation :水平或垂直。

    fill_parent:填充尽可能多的空间

    wrap_content:根据内容来控制大小

    2.布局内控件

    2.1 android:gravity 设置对其方式。

    android:gravity="right"

    2.2 android:layout_weight 设置高度

    默认为0,就是需要多少显示多少。

    1,显示整个,

    2,显示1/2 ...

    3.继承关系

    java.lang.Object
            android.view.View
                  android.view.ViewGroup
                        android.widget.LinearLayout

    所以它也是一个View,可以进行一些View的操作。

    11.AbsoluteLayout和FrameLayout

    1.AbsoluteLayout 要指定精确坐标的一种布

    绝对布局。不推荐使用。

    <?xml version = "1.0" encoding = "utf-8"?>
    <AbsoluteLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:padding="10dip">
      <TextView android:id="@+id/lable"
                android:layout_width="fill_parent"
                android:layout_height="wrap_content"
                android:text="请输入用户名:"/>
      <EditText android:id="@+id/text"
                android:layout_width="fill_parent"
                android:layout_height="wrap_content"
                android:layout_x="100dip"
                android:layout_y="20dip"/>
      <Button android:id="@+id/cancel"
              android:layout_width="wrap_content"
              android:layout_height="wrap_content"
              android:layout_x="10dip"
              android:layout_y="50dip"
              android:text="取消"/>
    </AbsoluteLayout>

    2.FrameLayout  框架布局

    以层叠的方式展示。

    它的大小是最大子控件的大小。

    <?xml version="1.0" encoding="utf-8"?>
    <FrameLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent">
         <TextView android:layout_width="fill_parent" android:layout_height="fill_parent" android:background="#ff000000" android:gravity="center" android:text="1"/>
         <TextView android:layout_width="fill_parent" android:layout_height="fill_parent" android:background="#ff654321" android:gravity="center" android:text="2"/>
         <TextView android:layout_width="50dp" android:layout_height="50dp" android:background="#fffedcba" android:gravity="center" android:text="3"/>
     </FrameLayout>
    android:gravity 来确定位置 上下左右。

    12.RelativeLayout

    1.使用容器间的相对位置。

    2.内部属性:

        android:layout_above 将该控件的底部置于给定ID的控件之上
        android:layout_below 将该控件的顶部置于给定ID的控件之下
        android:layout_toLeftOf 将该控件的右边缘和给定ID的控件的左边缘对齐
        android:layout_toRightOf 将该控件的左边缘和给定ID的控件的右边缘对齐
        android:layout_alignBaseline 该控件的baseline和给定ID的控件的baseline对齐
        android:layout_alignBottom 将该控件的底部边缘与给定ID控件的底部边缘对齐
        android:layout_alignLeft 将该控件的左边缘与给定ID控件的左边缘对齐
        android:layout_alignRight 将该控件的右边缘与给定ID控件的右边缘对齐
        android:layout_alignTop 将该控件的顶部边缘与给定ID控件的顶部边缘对齐
        android:layout_alignParentBottom 如果该值为true,则将该控件的底部和父控件的底部对齐
        android:layout_alignParentLeft 如果该值为true,则将该控件的左边缘和父控件的左边缘对齐
        android:layout_alignParentRight 如果该值为true,则将该控件的右边缘和父控件的右边缘对齐
        android:layout_alignParentTop 如果该值为true,则将该控件的顶部和父控件的顶部对齐
        android:layout_centerHorizontal 如果该值为true,该控件将被置于水平方向的中央
        android:layout_centerInParent 如果该值为true,该控件将被置于父控件水平方向和垂直方向都居中
        android:layout_centerVertical 如果该值为true,该控件将被置于垂直方向的中央

    3.官网实例:

    <?xml version="1.0" encoding="utf-8"?>
    <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
                    android:layout_width="fill_parent" 
                    android:layout_height="wrap_content"
                    android:background="@drawable/blue"
                    android:padding="10px" >
    
        <TextView android:id="@+id/label" 
                  android:layout_width="fill_parent" 
                  android:layout_height="wrap_content" 
                  android:text="Type here:" />
    
        <EditText android:id="@+id/entry" 
                  android:layout_width="fill_parent" 
                  android:layout_height="wrap_content" 
                  android:background="@android:drawable/editbox_background"
                  android:layout_below="@id/label" />
      
        <Button android:id="@+id/ok" 
                android:layout_width="wrap_content" 
                android:layout_height="wrap_content" 
                android:layout_below="@id/entry"
                android:layout_alignParentRight="true"
                android:layout_marginLeft="10px"
                android:text="OK" />
    
        <Button android:layout_width="wrap_content" 
                android:layout_height="wrap_content"
                android:layout_toLeftOf="@id/ok"
                android:layout_alignTop="@id/ok"
                android:text="Cancel" />
    </RelativeLayout>

    效果:

    12.RelativeLayout补充

    13.Table.Layout学习

    1.表格布局,以行和列来表示。

    2.只有水平和竖直来排列。

    3.如果tableRow 不在TableLayout里面。则只代表LinearLayout。

    4.在布局中,如果需要文字在一条水平线上,可以使用 layout_alignbaseLine = "对应空间的id"

    3.官网例子:

    <?xml version="1.0" encoding="utf-8"?>
    <TableLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:stretchColumns="1">
        <TableRow>
            <TextView
                android:text="@string/table_layout_4_open"
                android:padding="3dip" />
            <TextView
                android:text="@string/table_layout_4_open_shortcut"
                android:gravity="right"
                android:padding="3dip" />
        </TableRow>
    
        <TableRow>
            <TextView
                android:text="@string/table_layout_4_save"
                android:padding="3dip" />
            <TextView
                android:text="@string/table_layout_4_save_shortcut"
                android:gravity="right"
                android:padding="3dip" />
        </TableRow>
    </TableLayout>

    结果:

  • 相关阅读:
    Github创建远程库
    注册和登录Github
    Github简介
    一个成都程序猿写于离开北京一周年与26岁生日的这一天。
    【原创】面试时遇到『看门狗』脖子上挂着『时间轮』,我就问你怕不怕?
    【编程玄学】一个困扰我122天的技术问题,我好像知道答案了。
    【原创】(求锤得锤的故事)Redis锁从面试连环炮聊到神仙打架。
    【原创】面试官:你回去等通知吧!
    【原创】面试官问我G1回收器怎么知道你是什么时候的垃圾?
    【原创】面试官:你说你熟悉jvm?那你讲一下并发的可达性分析
  • 原文地址:https://www.cnblogs.com/wanself/p/2808532.html
Copyright © 2020-2023  润新知