Android课堂笔记(二)布局

狂风中的少年 提交于 2020-02-26 14:47:23

1.1 Android 应用的 UI 组件

1.视图(View) :相当于窗户玻璃。

视图组(ViewGroup):相当于窗户框架。

ViewGroup 类是 View 类的子类,ViewGroup类是一个抽象类,我们在开发中通常使用其子类:

     ①:ViewGroup.LayoutParams类(注意s)      ②ViewGroup.MarginLayoutParams类

2.一个活动 activity 就是一个单独的窗口,view类位于android.view包,其子类位于android.widget包。

视图和视图组的层次关系:

1.2 如何设计 UI 界面?

1.3 安卓提供布局类型

1.相对布局(RelativeLayout) :使视图相对于其相邻视图或父视图定位,如图:

相对布局布局属性:

代码示例:

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

    <!-- 相对布局 RelativeLayout... -->
	<!-- Alt+?:这是ADT里的快捷提示,比如输入id/la等就会自动联想 -->
	<!-- Button类型,不是纯文本类型,需要自己更改 -->
	<!-- 每个组件的id值是唯一的,不可以重名,会在R文件中有显示的分配内存地址 -->
    <!-- +:如果在R文件中没有给这个id分配地址的话,将自动分配地址,若有对应的id分配地址,则不分配 -->
    <!-- 关于R文件未显示对应组件名的地址分配的话,尝试保存,就会自动更新有提示了 -->
    <!-- wrap_content:表示和自身一样的长度。 match_parent:表示和父组件一样的长度。 -->
    <!-- centerInParent:确定组件在父组件中的位置-水平,垂直居中 -->
    <!-- 不能在组件里添加提示,会导致命令失败  -->
               
    <Button  
        android:id="@+id/button1"
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content"
        android:layout_centerInParent="true"
        android:text="Button1" />

    
    <!-- layout_above:该组件全部位于对应名字的组件的上方-->
    <!-- layout_alignLeft:和对应名字的组件左边对齐 -->
    <Button
        android:id="@+id/button2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_above="@id/button1"
        android:layout_alignLeft="@id/button1"
        android:text="Button2" />
    
    <!-- layout_toRightOf:连接在对应名字的组件的右边界上 -->
    <!-- layout_alignTop:和对应名字的组件上边对齐 -->
    <Button
        android:id="@+id/button3"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_toRightOf="@id/button1"
        android:layout_alignTop="@id/button1"
        android:text="Button3" />

......

总结:

 

2.线性布局(LinearLayout) :

 线性布局管理器的特点(垂直布局管理器为例)   :①每一行只能放置一个组件,并且这个组件不会换行 

 ②当一个组件一个组件排到窗体的边缘,后边的组件不被显示

属性:

代码示例:

3.框架(帧)布局(FrameLayout)

4.表格布局(TableLayout)

5.绝对布局 (AbsoluteLayout)(已经不再使用)

6.网格布局(GridLayout)

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!