下面是控件和布局的继承关系: 从上面我们看到: 1.所有控件都是直接或间接继承View,所有的布局都是直接或间接继承ViewGroup 2.View是Android中最基本的UI组件,各种组件其实就是在View的基础上又添加了各自特有的功能. 3.ViewGroup是一种特殊的View,它可以包含很多子View和子ViewGroup,是一个用于放置控件和布局的容器.  一.引入布局 问题引入:在一个项目中存在一个标题栏,该项目中的许多活动都使用了该标题栏,如果在每个活动中都写一遍标题栏的代码,会…
一.TextView控件:在界面上显示一段文本信息 先看XML代码和执行效果:         代码分析: 1.android:id属性,给当前控件定义了一个唯一的标识符 2.android:layout_width和android:layout_height,指定控件的宽度和高度.所有控件均具有这两个属性,可选值有三种:match_parent.fill_parent.wrap_content.其中match_parent与fill_parent意义相同,更推荐使用match_parent,m…
RecyclerView可以说是增强版的ListView,不仅具有ListVIew的效果,还弥补许多ListView的不足. 一.RecyclerView的基本用法 与百分比布局类似,RecyclerView也属于新增的控件,为了使RecyclerView在所有Android版本上都能使用,Android团队采取了同样的方式,将RecyclerView定义在了support库当中.因此想要使用RecyclerView这个控件,首先需要在项目的build.gradle中添加相应的依赖库才行. 第一…
ListView控件允许用户通过上下滑动来将屏幕外的数据拉到屏幕内,把屏幕内的数据拉到屏幕外. 一.ListView的简单用法第一步:先创建一个ListViewTest项目,在activity_mian.xml文件中添加ListView控件,宽度和高度可以设置为全屏,即在全屏范围内滑动. 第二步:修改MainActivity中的代码 第三步:运行程序,可以实现上下滚动屏幕的效果(点击屏幕滑动或者鼠标滑动)        代码分析: 1.先将一些数据定义在字符串数组中 2.数据是不能直接传递到Li…
第一步:在app/build.grandle添加RecyclerView依赖库 第二步:在activity_main.xml文件中编写主界面:聊天.发送框.发送按钮三个部分 第三步:编写Message实体类 第四步:编写RecyclerView子项布局message_item.xml,包含消息接收(左界面)和消息发送(右界面) 第五步:自定义RecyclerView适配器MessageAdapter 程序运行后几个方法的执行流程 第六步:为RecyclerView设置适配器 第七步:运行程序,可…
一.服务是什么 服务(Service)是Android中实现程序后台运行的解决方案,它非常适合去执行那些不需要和用户交互而且还要求长期运行的任务.服务的运行不依赖于任何用户界面,即使程序被切换到后台,或者用户打开了另外一个应用程序,服务仍然能够保持正常运行. 不过需要注意的是,服务并不是运行在一个独立的进程当中的,而是依赖于创建服务时所在的应用程序进程.当某个应用程序进程被杀掉时,所有依赖于该进程的服务也会停止运行. 另外,也不要被服务的后台概念所迷惑,实际上服务并不会自动开启线程,所有的代码都…
碎片(Fragment)是一种可以嵌入在活动中的UI片断,它能让程序更加合理和充分地利用大屏幕的空间,它与活动相似,可以简单的理解为一个迷你型的活动,它也有自己的生命周期.碎片在平板的应用非常广泛. 一.碎片的简单用法 需求:在一个活动中添加两个碎片,并让这两个碎片平分活动空间. 第一步:由于碎片通常应用在平板开发中,所以先创建一个平板模拟器,然后新建一个Android项目:FragmentTest 第二步:创建左侧.右侧两个碎片布局     第三步:新建一个LeftFragment类继承Fra…
一.详解build.gradle文件 1.Android Studio是采用Gradle来创建项目的,Gradle是非常先进的构建的项目的工具,基于Groovy领域特定的语言(DSL)来声明项目配置,摒弃了传统基于XML(如Ant.Maven)的各种烦琐的配置. 2.Android项目中存在两个build.gradle文件,一个在外层,一个在app中: A.外层的build.gradle文件:当需要添加全局的项目构建配置时才修改其中的内容 jcenter():代码托管仓库,存放Android开源…
一.前言 长久以来,大多数人都认为Android系统的UI并不美观,至少没有iOS系统的美观.以至于很多IT公司在进行应用界面设计的时候,为了保证双平台的统一性,强制要求Android端的界面风格必须和iOS端一致,这种情况在现实工作中实在是太常见了,因为对于一般用户来说,他们不太可能会在两个操作系统上分别去使用同一个应用,但是却必定会在同一个操作系统上使用不同的应用.因此同一个操作系统中各个应用之间的界面统一性要远比一个应用在双平台的界面统一性重要的多,只有这样,才能给使用者带来更好的用户体验…
一.基于位置的服务简介 LBS:基于位置的服务.随着移动互联网的兴起,这个技术在最近的几年里十分火爆.其实它本身并不是什么时髦的技术,主要的工作原理就是利用无线电通讯网络或GPS等定位方式来确定出移动设备所在的位置,而这种技术早在很多年前就已经出现了. 那么为什么LBS技术直到最近几年才开始流行呢?这主要是因为,在过去移动设备的功能及其有限,即使定位到了设备所在的位置,也就仅仅只是定位到了而已,我们并不能在位置的基础上进行一些其他的操作.而现在就大大不同了,有了Android系统作为载体,我们可…