简介
今天从Java学习步入Android开发,接下来向大家介绍一下Android最根本的Activity。
首先,在Android里面,不像之前C和Java里面方法需要自己调用,而绝大部分的方法是由系统自己调用的,只需要在方法里面实现功能,运行即可。
什么是Activity?
官方定义是:Activity是一个应用组件,用户可与其提供的屏幕进行交互, 每个 Activity 都会获得一个用于绘制其用户界面的窗口。
也就是说,Activity其实就是一个界面,用于和用户进行数据交互。
详解
1.创建一个Activity
要创建 Activity,您必须创建 Activity 的子类(或使用其现有子类)。您需要在子类中实现 Activity 在其生命周期的各种状态之间转变时(例如创建 Activity、停止 Activity、恢复 Activity 或销毁 Activity 时)系统调用的回调方法,也就是说通过实现回调方法管理 Activity 的生命周期。
Activity 的整个生命周期发生在 onCreate()调用与 onDestroy()调用之间。
生命周期
接下来看看程序运行过程会调用哪些方法:
界面启动:onCreate、onStart、 onResume
点击home键 回到主界面:onPause
通过后台重新运行程序: onRestart、 onStart、 onResume
退出程序: onPause 、onDestroy
2.AS左边的工具框的作用
1.改变应用在手机上显示的图标
image.png
2.对控件进行布局
image.png
3.更改应用名称
image.png
4.更改app主题风格
image.png
5.核心:界面的生命周期管理和操作
3.Layout布局
Android布局管理器有六大类:
传统的五大布局:
LinearLayout(线性布局)
RelativeLayout(相对布局)
FrameLayout(帧布局)
AbsoluteLayout(绝对布局)
TableLayout(表格布局)
还有新出的布局:
ConstraintLayout(约束布局)
说是布局管理器,其本质还是继承于View,是一个视图,其作用是充当容器来容纳并管理添加在其上的子视图。
与其他视图相同,创建都需要设置宽和高
android:layout_width="match_parent"
android:layout_height="match_parent"
设置方式:
layout_height= "wrap_content" // 根据子控件内容的大小决定大小
layout_height= "match_parent" //子控件填满父容器
layout_height= "xdp" //直接设置大小
几大布局的特点:
FrameLayout
特点:所有的View都会放在左上角,并且后添加进去的View会覆盖之前放进去的View
适用场景:在开发中常做容器使用,用于动态添加布局对象,比如浏览单张图片这类的。
LinearLayout
特点:在水平或者垂直方向上依次按照顺序来排列子元素,控件的排列顺序遵循其在布局文件中被写出的先后顺序。
适用场景:Android开发中最常见的 一种布局方式,值得注意的是LinearLayout中存在weight这一属性,在水平方向上代表列宽,在垂直方向上代表行距。一般这个值越大,则所占用的控件比例越大。
RelativeLayout
特点:以某一个子元素为参照物,其余子元素均按照其相对位置来完成布局。
适用场景:其属性很好的弥补了LinearLayout的缺点,在Android手机碎片化严重的今天,该布局是目前最推荐的一种布局方式,但也存在着一定的缺点,例如在修改了某一个控件的属性时,其他依赖于该控件的其他控件可能都需要修改其属性。
TableLayout
特点:每个TableLayout都是由一个或多个TableRow组成的,一个TableRow就代表TableLayout的一行。
适用场景:适用于多行多列的表格形式。需要注意的是,行和列的下标是从0开始的。
AbsoluteLayout
该布局已弃用。
ConstraintLayout
约束布局ConstraintLayout 是一个ViewGroup,可以在Api9以上的Android系统使用它,它的出现主要是为了解决布局嵌套过多的问题,以灵活的方式定位和调整小部件。从 Android Studio 2.3 起,官方的模板默认使用 ConstraintLayout。