【详细】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).我们同样来看下 ...
随机推荐
- JUC详解
一.Java多线程 -- JUC包源码分析1 -- CAS/乐观锁 乐观锁其实就是不加锁,用CAS + 循环重试,实现多个线程/多个客户端,并发修改数据的问题 使用AtomicStampedRefer ...
- 使用Powershell实现计算机名称及IP地址修改
我的第一篇博客分享,写这个代码的用途是在公司Ghost完系统之后去修改本地计算机名称及IP 地址,用Powershell实现. 1. 代码第一部分,检查Powershell是否已管理员权限执行,如果不 ...
- Mybatis控制台打印sql
mybatis-config.xml配置如下: <configuration> <settings> <setting name="lazyLoadingEna ...
- TaskScheduler
一初始化 在SparkContext初始化的时候,同时初始化三个对象.DAGScheduler,TaskScheduler,SchedulerBackend.DAGScheduler,前面已经讲到,做 ...
- poj3273(二分)
题目链接:https://vjudge.net/problem/POJ-3273 题意:给定n个数,将这n个数划分成m块,问所有块最大值的最小是多少. 思路:注意到所求值最大为109,所以可以用二分来 ...
- Android 滑块验证
先上图看看实现效果 1.在 app 的 build.gradle 添加依赖 implementation 'com.luozm.captcha:captcha:1.1.2' 2.将 Captcha 添 ...
- docker上安装elasticsearch和ik分词器插件和header,实现分词功能
docker run -di --name=tensquare_es -p 9200: -p 9300:9300 elasticsearch:5.6.8 创建elasticsearch容器(如果版本不 ...
- Python: 下载底层由Python2转Python3环境更新手记
谨记录运行环境改变过程中所碰到的坑. 下载底层运行环境由Python2移至Python3所遇到的问题及处理方法: 1.所引的第三方组件,基本都有替代支持:msvcr90.dll不再需要,有则报错2.引 ...
- PostFix添加多个端口
/usr/local/*/config/postfix/master.cf 在/etc/services中搜索smtp,复制,添加smtp2<与上面一步对应起来的服务名>,后面为需要添加的 ...
- 设计模式学习心得<汇总>
绝大部分程序员其实用不上设计模式. - 创建 结构 行为 描述 在软件工程中,创建型模式是处理对象创建的设计模式,试图根据实际情况使用合适的方式创建对象.基本的对象创建方式可能会导致设计上的问题,或增 ...