【详细】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).我们同样来看下 ...
随机推荐
- Linux网络编程学习计划
由于网络编程是很重要的一块,自己这一块也比较欠缺,只知道一些皮毛,从今天开始系统学习<Linux网络编程>一书,全书分为十四个章节: 第一章 概论 P1-16 第二章 UNIX ...
- 35.Spring-jdbc支持.md
目录 1.JdbcTemplate类 1.1导入jar包 1.2创建Dao对象 1.3将上述例子封装后 2. 3. 1.JdbcTemplate类 传统的jdbc开始,需要对Connection.St ...
- metrics+spring+influxdb整合
1.在maven项目的pom.xml引入metrics-spring和metrics-influxdb两个jar包 <dependency> <groupId>com.ryan ...
- jQuery之必会增删改查Dom操作
.next .prev <button>change</button> <span class = '.demo'>aaa</span> <p ...
- cdnbest 节点和主控连接不上原因主要查看几点
1. 注意安装过程中有没有报错,如果没有报错,检查下节点程序是否有运行,本例以linux系统为例,windows系统可以查看进程管理器 有以下进程说明程序是运行成功的 ps -aux |grep ka ...
- 手工搭建web项目
https://www.cnblogs.com/skyblue-li/p/5966311.html
- TaskScheduler
一初始化 在SparkContext初始化的时候,同时初始化三个对象.DAGScheduler,TaskScheduler,SchedulerBackend.DAGScheduler,前面已经讲到,做 ...
- 求树的重心 poj 1655
题目链接:https://vjudge.net/problem/POJ-1655 这个就是找树的重心,树的重心就是树里面找一个点,使得以这个点为树根的所有的子树中最大的子树节点数最小.题目应该讲的比较 ...
- 使用es6的then()方法封装jquery的ajax请求
使用场景: jsp页面中使用jquery的ajax请求比较频繁,以前vue框架的项目用过axios,所以就想着用then()封装一个公共请求的方法,这样每次请求就不用那么麻烦的写一大堆请求参数了. 示 ...
- AFNetWorking 源码粗浅理解
最近在看AFNetWorking的源码,整理出自己的一点思路.先从一个最简单的网络请求看: NSString *urlStr = [NSString stringWithFormat:@"h ...