Android

基本控件

控件名称控件的作用
ViewAndroid中所以控件的最顶层的基类
TextView主要作用用来显示文字,它相当于Panel
ImageView它的主要作用用来显示图片
EditText它表示输入框,可编译,又可以进行设置软键盘方式
Button可以显示按钮,并且可以附加图片
CheckBox它表示复选框
RadioButton它表示单选按钮<其中这个要和RadioGroup配合着使用>

View类的常用的属性

属性的名称属性的作用
android:id这一属性用来 设置控件的标识符号
android:layout_width用来 设置子组件的布局宽度
android:layout_height用来 设置子组件的布局高度
android:background这个主要作用是 设置控件的背景颜色
android:onClick用来 设置控件的单击事件绑定监听器
android:padding用来 设置子组件的内边距
android:layout_margin用来 设置子组件的外边距

android:layout_heightandroid:layout_height的属性
1.wap_content,其包裹内容为<根据具体的内容的大小调整其中控件的大小>
2.fill_parent:其功能是填充父控件<从Android2.1开始已经被match_parent所替代>
3.match_parent:其功能是填充父控件

TextView简介

属性名称属性的作用
android:id用来设置控件的标识符号
android:layout_width用来设置组件布局的宽度
android:layout_height用来设置组件布局的高度
android:background用来设置控件的背景颜色
android:text用来显示文字的内容
android:textSize用来设置文字的大小
android:textColor用来设置文字的颜色
android:gravity用来控制控件中内容的位置
android:textAlignment用来设置文字的对齐方式

在这里插入图片描述

使用TextView来实现跑马灯的效果

要实现上述功能需要以下的属性:
1.android:singleLine=“tuue”
2.android:elipsize=“marquee”
3.android:foucsable=“true”
4.android:focusablelnTouchMode=“true”
5.可以选用的属性:
android:marqueeRepeatLimit

说明:
使用上述所说的跑马灯的效果的前提
1.文本内容必须要超出控件的宽度
3.必须单行显示

Button简介

Button继承来自TextView中所以具有TextView的所以属性

属性名称属性的作用
android:id用来设置控件的标识符号
android:layout_width用来设置组件布局的宽度
android:layout_height用来设置组件布局的高度
android:background用来设置控件的背景颜色
android:text用来显示文字的内容
android:textSize用来设置文字的大小
android:textColor用来设置文字的颜色
android:gravity用来控制控件中内容的位置
android:textAlignment用来设置文字的对齐方式

在这里插入图片描述
咋们看一下例图:
在这里插入图片描述
注册监听事件用以下四种方式
1.设置android:onClick的属性
2.成员内部类
3.匿名内部类
4.把当前Activity实现监听接口

EditText简介

EditText类它继承了来自TextView所以具有的属性
两者区别:
1.TextView是用来显示一个文字的控件
2.EditText是TextView的子类是可以输入文字的控件
其他的用法基本一致

属性名称属性的作用
android:id用来设置控件的标识符号
android:layout_width用来设置组件布局的宽度
android:layout_height用来设置组件布局的高度
android:background用来设置控件的背景颜色
android:text用来显示文字的内容
android:textSize用来设置文字的大小
android:textColor用来设置文字的颜色
android:gravity用来控制控件中内容的位置
android:textAlignment用来设置文字的对齐方式

在这里插入图片描述

CheckBox简介

CheckBox继承自Button,CheckBox提供了可选中的功能

属性名称属性的作用
android:id用来设置控件的标识符号
android:layout_width用来设置组件布局的宽度
android:layout_height用来设置组件布局的高度
android:background用来设置控件的背景颜色
android:text用来显示文字的内容
android:textSize用来设置文字的大小
android:textColor用来设置文字的颜色
android:gravity用来控制控件中内容的位置
android:textAlignment用来设置文字的对齐方式

在这里插入图片描述

ImageView简介

它继承自View

属性名称属性的作用
android:id用来设置控件的标识符号
android:layout_width用来设置组件布局的宽度
android:layout_height用来设置组件布局的高度
android:layout_alignParentStart紧贴着父元素结束位置的开始
android:layout_alignParentLeft把当前的控件的左侧与父控件的左侧对齐
android:layout_marginStart设置控件一开始位置的距离
android:layout_marginLeft用来设置离左边框的距离

RadioButton简介

RadioButton继承自Button,在使用RadioButton的时候,要使用RadioGroup来包围RadioButton
RadioGroup是LinearLayout的子类,从根本上来理解它RadioGroup是一个存放RadioButton的布局容器

属性名称属性的作用
android:id用来设置控件的标识符号
android:layout_width用来设置组件布局的宽度
android:layout_height用来设置组件布局的高度
android:background用来设置控件的背景颜色
android:text用来显示文字的内容
android:textSize用来设置文字的大小
android:textColor用来设置文字的颜色
android:gravity用来控制控件中内容的位置
android:textAlignment用来设置文字的对齐方式

在这里插入图片描述

看一下具体的实例
在这里插入图片描述

Activity的介绍

一般情况下,Android程序的流程都运行在activity中,activity具有自己的生命周期,由系统来控制。可以使用onSaveInstanceState()和onRestoreInstanceState()方法来保存和恢复状态。activity之间通过Intent来进行跳转和数据传输。
activity的生命周期如图所示
在这里插入图片描述
由上图可知Activity生命周期有三个关键的循环:

1、整个的生命周期,从onCreate(Bundle)开始到onDestroy()结束。

Activity在onCreate()设置所有的“全局”状态,在onDestory()释放所有的资源。例如:某个Activity有一个在后台运行的线程,用于从网络下载数据,则该Activity可以在onCreate()中创建线程,在onDestory()中停止线程。

2、可见的生命周期,从onStart()开始到onStop()结束。

在这段时间,可以看到Activity在屏幕上,尽管有可能不在前台,不能和用户交互。在这两个接口之间,需要保持显示给用户的UI数据和资源等,例如:可以在onStart()中注册一个IntentReceiver来监听数据变化导致UI的变动,当不再需要显示时候,可以在onStop()中注销它。onStart(),onStop()都可以被多次调用,因为Activity随时可以在可见和隐藏之间转换。

3、前台的生命周期,从onResume()开始到onPause()结束。

在这段时间里,该Activity处于所有 Activity的最前面,和用户进行交互。Activity可以经常性地在resumed和paused状态之间切换,例如:当设备准备休眠时,当一个 Activity处理结果被分发时,当一个新的Intent被分发时。所以在这些接口方法中的代码应该属于非常轻量级的。

常见的生命周期过程:

1.启动Activity:系统会先调用onCreate方法,然后调用onStart方法,最后调用onResume,Activity进入运行状态。
2.当前Activity被其他Activity覆盖其上或被锁屏:系统会调用onPause方法,暂停当前Activity的执行。
3.当前Activity由被覆盖状态回到前台或解锁屏:系统会调用onResume方法,再次进入运行状态。
4.当前Activity转到新的Activity界面或按Home键回到主屏,自身退居后台:系统会先调用onPause方法,然后调用onStop方法,进入停滞状态。
5.用户后退回到此Activity:系统会先调用onRestart方法,然后调用onStart方法,最后调用onResume方法,再次进入运行状态。
6.当前Activity处于被覆盖状态或者后台不可见状态,即第2步和第4步,系统内存不足,杀死当前Activity,而后用户退回当前Activity:再次调用onCreate()、onStart()、onResume(),进入运行状态。
7.用户退出当前Activity:系统先调用onPause(),然后调用onStop(),最后调用onDestory(),结束当前Activity。

状态说明

状态说明
活动状态当Activity在用户界面中处于最上层,完全能被用户看到,能够与用户进行交互,则这个Activity处于活动状态。
暂停状态当Activity在界面上被部分遮挡,该Activity不再处于用户界面的最上层,且不能与用户进行交互,则这个Activity处于暂停状态。
停止状态当Activity在界面上完全不能被用户看到,也就是说这个Activity被其他Activity全部遮挡,则这个Activity处于停止状态。
非活动状态活动状态、暂停状态和停止状态是Activity的主要状态,不在以上三种状态下的Activity的则处于非活动状态。

状态变换图

在这里插入图片描述
1.Activity启动后处于活动状态,此时的Activity位于界面的最上层,是与用户正在进行交互的组件,因此Android系统会努力保证处于活动状态的Activity的资源需求,资源紧张的时候可以终止其他状态的Activity
2.如果用户启动了新的Activity,部分遮挡了当前的Activity,或新的Activity是半透明的,则当前的Activity转换为暂停状态,Andorid系统仅为处于活动状态的Activity释放资源时才终止处于暂停状态的Activity
3.如果用户启动新的Activity 完全遮挡了当前的Activity,则当前的Activity转变为停止状态,停止状态的Activity将优先被终止
4.活动状态的Activity被用户关闭后,以及暂停状态或者停止状态的Activity被系统终止后,Activity便进入了非活动的状态
5.注意: 一般来说,Andorid系统会优先终止处于停止状态,且位置靠近栈底的Activity,因为这些Activity被用户再次调用的机会最小,且在界面上用户是看不到的

事件回调事件

在这里插入图片描述

Activity生命周期的事件回调函数

函数说明
onCreate()Activity启动后第一个被调用的函数,常用来进行Activity的初始化,例如创建View、绑定数据或者回复信息等。(不能终止)
onStart()当Activity显示在屏幕上,该函数被调用。一般用来初始化与更新界面相关的资源。(不能终止)
onRestart()当Activity从停止状态进入活动状态前,调用该函数。(不能终止)
onResume()当Activity可以接收用户输入(获得焦点)的时候,该函数被调用。此时的Activity位于Activity栈的栈顶。(不能终止)
onPause()当Activity进入暂停状态的时候,该函数被调用。主要用来保存持久数据,关闭动画、释放CPU资源等。该函数中的代码必须简短,因为另一个Activity必须等待该函数执行完毕之后才能显示在界面上。(不能终止)
onStop()当Activity不对用户可见后,该函数被调用,Activity进入停止状态。一般用来暂停或停止与更新界面相关的操作。(能终止)
onDestory()在Activity被终止前,即进入非活动状态前,该函数被调用。
有两种情况该函数会被调用:1. 程序主动调用finish()函数;2.程序被Android系统终结。(能终止)

注意:
1.onPause()方法控制Activity是否具有交互的功能。
2.onStop()方法控制Activity是否具有可视化的功能。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值