【详细】Android入门到放弃篇-YES OR NO-》各种UI组件,布局管理器,单元Activity
- 问:达叔,你放弃了吗?
- 答:不,放弃是不可能的,丢了Android,你会心疼吗?如果别人把你丢掉,你是痛苦呢?还是痛苦呢?~
引导语
有人说,爱上一个人是痛苦的,有人说,喜欢一个人是幸福的。
人与人之间起初是陌生的,从了解到深知,到你与他(她)不分彼此时,你会丢下这个陪伴你的人吗?
总有那么一群人只是你路途中的美好回忆,人有悲欢离合,月有阴晴圆缺,不过当下才是珍惜的好时光。
世人总是回忆当初,只没想过珍惜当下。你面前的热水,如果时间长了也会变凉。想拼搏那就去做,想休息一下那就静下心来。
- 问:哥,那今日讲什么?
答:初始Android,各种UI组件,布局管理器,单元Activity,从基础到基础,从放弃到努力,现在技术发展太快,Android市场需要的是技术人才,有着高能力者才更加有机会哦~
- 问:嗯,那像我这样的女生有机会吗?
答:有啊,很欢迎哦,至少比男生受欢迎~
Android发展太快,快到人才饱和状态,如何学会Android,基础最重要,提升最重要,努力最重要。努力是你获得资源,获取提升的最好办法了。
- 问:哥,操作系统是?
- 答:Android呀,IOS呀,Windows Phone呀,Windows Phone呀,Linux呀等,需要了解就去学,知道就行~
Android入门就要知道学Android集成开发工具,Android Studio哦;对于下载该工具,我已经写好该教程了,点击《Android Studiod的下载详解》查看。在Android Studio中,一个project,Module,一个app下含manifests,java,res等。这里相信你上课也讲过,不做太多详情。
AndroidManifest配置文件:
它包含Android应用的全局配置文件,包括应用的包名,应用程序图标,应用程序采用的主题,与用户的交互工具,权限等信息。
AndroidManifest.xml文件下的manifest为根标签,属性xmlns:android和package为指定了Android的命名空间,表示各种标准属性能在xml文件中使用和package为标准的应用包名。
application元素下包含组件声明,包含四大组件。
application下有
android:icon(图标)
android:label(标题)
android:theme(主题样式)
四大组件为:
activity(活动)
service(服务)
content provider(内容提供者)
broadcast receiver(广播接收者)
- 问:什么是用户界面?
- 答:用户界面时用户看程序的视图界面,简称UI,用视图表示,在Android中为View,是负责提供组件绘制和事件处理的,是所有UI组件的基类~
嗯,先来了解一下Activity,生命周期,创建,配置,启动,关闭,调用等。
Activity是Android中最常见的四大组件之一,在中文中意思为活动,提供用户交互的可视化界面,能够提供用户的体验服务。
Android的图形用户界面是由View和ViewGrop对象构建的,View为组件化,ViewGrop为不可见的视图容器,是用来定义子视图的。
图片来源官网:
Activity生命周期
Activity从创建到销毁的生命周期,包含七中方法和四种状态。
图片来源官方:
四种状态
活动状态:
当前的activity处于最顶端,位于栈顶,用户可见,使应用获取焦点。
暂停状态:
activity失去焦点,但对用户可见,如:弹窗。
停止状态:
activity被完全覆盖,但保持所有状态和成员信息,如点击Home效果,为暂停,当重新打开,该活动再次获得焦点。
非活动状态:
activity被销毁,即退出应用。
activity starts -> onCreate() -> onStart() -> onResume() -> 运行状态
弹窗 onPause() -> 暂停状态 -> onStop() -> 停止状态 -> onDestroy() 销毁状态,总的来说:onCreate() - > onStart() -> onResume() -> onPause() -> onStop() -> onDestroy()
在onPause()方法中,如果内存低,会被process is killed,然后进行onCreate(),否则当该activity再次返回前台调用onResume()的方法。
处于onStop()方法中,如果内存低,会被process is killed,然后进行onCreate(),另一种当该activity再次返回前台时调用onRestart()的方法进入onCreate() -> onStart() -> onResume() 。。。
activity的创建,启动,关闭:
一:继承AppCompatActivity类或Activity类,重写onCreate()方法;
二:启动startActivity()方法来启动需要的activity;
三:关闭finish()方法可关闭当前activity。
Intent类和Bundle
布局篇
- LinearLayout 线性布局
- RelativeLayout 相对布局
- FrameLayout 帧布局
- AbsoluteLayout绝对布局
- TableLayout 表格布局
- GridLayout 网格布局
- ConstraintLayout 约束布局
线性布局:
指子控件以水平或垂直方式排列。
相对布局:
指子控件以控件之间的相对位置或子控件相对于父容器的位置排列。
帧布局:
指所有子控件均放在左上角且后面元素直接覆盖在前面元素之上。
绝对布局:
指子控件通过绝对定位x,y位置来决定其位置摆放。
表格布局:
指以行列的形式放置子控件,每一行是一个TableRow对象或者View对象。
其他不常用的哦~
属性
简单控件
简单的控件有:
文本控件TextView
编辑控件EditText
普通按钮Button
图片按钮ImageButton
单选按钮RadioButton
复选框CheckBox
多状态按钮ToggleButton
高级UI控件
- ProgressBar进度条
- SeekBar可拖动条
- RatingBar星级评分条
- DatePicker日期选择器
- TimePicker时间选择器
- Chronometer计算器
图像类:
ImageView,ImageSwitcher,GridView
列表类:
下拉列表Spinner,列表视图ListView
其他:
ScrollView,Dialog,Notification,Meau,WebView,ViewPager等
到此就ok了,接下来会不断往高处学,让我们一起慢慢探索吧~
欢迎点赞
【详细】Android入门到放弃篇-YES OR NO-》各种UI组件,布局管理器,单元Activity的更多相关文章
- [置顶] Android布局管理器 - 详细解析布局实现
布局管理器都是以ViewGroup为基类派生出来的; 使用布局管理器可以适配不同手机屏幕的分辨率,尺寸大小; 布局管理器之间的继承关系 : 在上面的UML图中可以看出, 绝对布局 帧布局 网格布局 相 ...
- 【Android 应用开发】AndroidUI设计之 布局管理器 - 详细解析布局实现
写完博客的总结 : 以前没有弄清楚的概念清晰化 父容器与本容器属性 : android_layout...属性是本容器的属性, 定义在这个布局管理器的LayoutParams内部类中, 每个布局管理器 ...
- Android开发5:布局管理器2(表格布局TableLayout)
版本:Android4.3 API18 学习整理:liuxinming 概念 TableLayout继承了LinearLayout,因此它的本质依然是线性布局管理器. 表格布局采 ...
- Android 布局管理器
为了更好地管理Android应用程序的用户界面组件,Android它提供了一个布局管理.通过使用布局管理,Android具有良好的平台无关的图形用户界面应用程序. 平时,推荐布局管理器来管理分布式组件 ...
- android的布局管理器
理论上通过setContentView(view)能够把一个view设置到activity中,但当你有很多个view控件的时候,就需要用android的布局管理器来管理view控件了. android ...
- Android布局管理器(线性布局)
线性布局有LinearLayout类来代表,Android的线性布局和Swing的Box有点相似(他们都会将容器里面的组件一个接一个的排列起来),LinearLayout中,使用android:ori ...
- Android布局管理器(表格布局)
表格布局有TableLayout所代表,TableLayout继承了LinearLayout,因此他的本质依然是LinearLayout. 表格布局采用行.列的形式来进行管理,在使用的时候不需要声明多 ...
- android开发4:Android布局管理器1(线性布局,相对布局RelativeLayout-案例)
控件类概述 View 可视化控件的基类 属性名称 对应方法 描述 android:background setBackgroundResource(int) 设置背景 android:clickabl ...
- 一步一步学android之布局管理器——LinearLayout
线性布局是最基本的一种布局,在基本控件篇幅中用到的都是LinearLayout,线性布局有两种方式,前面也有用到,一种是垂直的(vertical),一种是水平的(horizontal).我们同样来看下 ...
随机推荐
- Android Studio Intent使用(显式、隐式)
https://blog.csdn.net/u012005313/article/details/47006689 使用Intent能够使程序在不同活动中跳转,意及能够使用不同界面.Intent用法分 ...
- canvas绘制气泡
思路:使用Math.random()函数绘制是个不同位置,大小,颜色的圆形,然后设置定时器,前一个状态用一个与画布相同颜色的背景图片进行覆盖,改变圆形的位置,每次改变都是在这张空白的背景图片上面重新进 ...
- Unity中的点击,长按,划动
public void GetClickType() { if(Input.GetMouseButtonDown(0)) { if(isGetBeginPos) { beginPosition = I ...
- AS3中的单件(Singleton)模式
单件(singleton)模式在c#中是最容易实现的模式,其主要用意就在于限制使用者用new来创建多个实例.但在as3中,构造函数必须是public的(语法本身要求的),而且也不能在构造函数中抛出异常 ...
- mysql 查询语句严格区分大小写
一般情况下mysql 查询是不会区分大小写的,执行查询语句select id,current_unit from knowledge_attributes where current_unit = ...
- 【python原理解析】python中分片的实现原理及使用技巧
首先:说明什么是序列? 序列中的每一个元素都会被分配一个序号,即元素的位置,也称为索引:在python中的序列包含:字符串.列表和元组 然后是:什么是分片? 分片就是通过操作索引访问及获得序列的一个或 ...
- T-codes & Rarely Seen Tables(Updated from previous note)
T-codes C CO CO01/02/03:Production Order CG CG3Y:Download file from server,never used this before CM ...
- [leetcode]65. Valid Number 有效数值
Validate if a given string can be interpreted as a decimal number. Some examples:"0" => ...
- js多维数组转一维数组
1,使用map方法 var arr = [1,[2,[[3,4],5],6]]; function unid(arr){ var arr1 = (arr + '').split(',');//将数组转 ...
- VMWare 14.1 15 Pro 安装 macOS Mojave 10.14.1系统 遇到的问题解决方案
安装环境 WIN10VMware Workstation Pro 15.0.0 Build 10134415工具准备1.VMware Workstation Pro 15.0.0 Build 1013 ...