摘要:在响应丝滑动画一篇文章中,分别介绍了作用于普通视图、绘制视图的绘制对象、和界面这三种对象的动画效果,但是都有一些使用的局限性。比如这些动画都只是以屏幕上绘制更新的方式绘制动画,并没有真实改变作用对象的实际位置或属性,这种问题在视图动画中尤为明显,在没有特别设置时,动画结束后的视图状态会还原到动画前,
阅读全文
摘要:上篇文章介绍了应用程序内对用户操作响应的相关方法位置,简单的响应逻辑可以是从一个界面Activity跳转到另一个界面Activity,也可以是某些视图View的相对变化。然而不管是启动一个界面执行新界面Activity的生命周期方法,还是视图的相对变化,都需要一段时间,所以在响应的最终结果完成之前是
阅读全文
摘要:在上篇文章中已经了解到界面Activity的绘制完全依赖其加载的视图组件View,不仅如此,用户的每次触摸操作都可以在界面Activity内接收并响应,也可以直接传递给其中的某个视图View响应。那么对于用户的操作,应该如何响应,而同一个操作到底是作用于界面,还是界面中的某一个子视图?针对用户的操作
阅读全文
摘要:上篇文章介绍了界面Activity的启动方式和生命周期,本篇将继续介绍在界面Activity中的内容是如何绘制展示给用户的。 在Android系统上运行新创建的界面Activtiy,给用户展示的是空白的。而得益于AndroidStudio的强大模板支持,新创建的界面Activity会自动重写onCr
阅读全文
摘要:上回说到应用初始化加载及其生命周期,在Android系统调用Applicaiton.onCreate()之后,继续创建并加载清单文件中注册的首个界面即主Activity,也可称之为入口界面。主Activity的确定规则在Android系统编程入门系列之清单文件有介绍,本文主要介绍Android系统创
阅读全文
摘要:在上一篇文章中我们了解到Android系统启动应用的时候,会首先加载AndroidManifest.xml清单文件中的一系列信息,在清单文件中如果不指定**<application></application>标签中的name**属性值,会默认使用android.app.Application作为应
阅读全文
摘要:在上一篇文章中已经提到,Android系统加载应用程序之后,首先会读取该应用程序的AndroidManifest.xml清单文件,之后根据该清单文件加载后边的东西。所以要开发应用程序,自然要先知道清单文件中都记录了什么东西。一般地,在清单文件中声明定义的内容,称为静态注册,相对应地,可以在代码中定义
阅读全文
摘要:作为移动端操作系统,目前最新的Android 11.0已经发展的比较完善了,现在也到了系统的整理一番的时间,接下来的系列文章将以Android开发者为中心,争取用归纳总结的态度对初级入门者所应掌握的基础知识聊以标记。 应用环境 Android系统是Google基于Linux系统开发的一套移动系统,不
阅读全文
摘要:视频播放控件(一) 可拖动,变换SurfaceView
阅读全文
摘要:正常在Activity中使用Fragment的生命周期,第一次启动过程是onAtach()-onCreate()-onCreateView()-onViewCreated()-onActivityCreated()-onStart()-onResume();随着Activity被退栈销毁,Fragm
阅读全文
摘要:最近公司的测试老是提出这样那样的bug,当然也怪自己代码写的烂,所以测试总是会把app搞崩溃,而他们那边崩溃的时候还没有日志打印,自己回来再重现有的时候还真不好复现出来,因此麻烦事就来了。为了方便查看测试手机的bug原因,周末在家专门写了个小工具,只要在项目的Log类中打印的时候添加LogPhone
阅读全文
摘要:Fragment碎片:作为Activity的一部分,不能单独使用; 1. Fragment特点: (1)一个Fragment可以在多个Activity中重用; (2)一个Activity内部可以嵌入多个Fragment; 2. Fragment生命周期: 1)启动app: Activity:onCr
阅读全文
摘要:先提一下需求,用一个自定义EditText实现禁止输入表情。谈一下自定义控件中自定义属性的定义和使用方式。 第一步当然是自定义类EditTextNoEmoji继承EditText,同时重写三个构造方法。这里需要注意的是,三个构造方法中必须分别实现父类对应的构造方法,就是三个super();而不能出现
阅读全文
摘要:Android开发中的图片存储本来就是比较耗时耗地的事情,而使用第三方的七牛云,便可以很好的解决这些后顾之忧,最近我也是在学习七牛的SDK,将使用过程在这记录下来,方便以后使用。 先说一下七牛云的存储原理,上面这幅图片是官方给出的原理图,表述当然比较清晰了。可以看出,要进行图片上传的话可以分为五大步
阅读全文
摘要:最近项目中需要用到Material Design,整理了下面几个常用的控件,以便记忆。 一、Snackbar 1.作用:与Toast类似,但是可以点击监听; 2.使用: (1)Snackbar调用静态类make(),传入三个参数:View父组件,文本,显示时间; (2)Snackbar调用setAc
阅读全文
摘要:前几天的项目需要使用CameraAPI自己定义照相机,之前用过的二维码也要自己写底层代码,于是总结一下使用CameraAPI的几点事项。现在由于JDK7.0及其以上版本的官方文档已经不再推荐使用camera包而是camera2包,但这次还是先讲camera的使用,至于camera2等以后再讲。 首先
阅读全文
摘要:一、Android系统自带VideoView控件 1. 创建步骤: (1)自带视频文件放入res/raw文件夹下; (2)声明初始化VideoView控件; (3)创建视频文件Uri路径,Uri调用parse(),传入(”android.resource://”+getPackageName()+”
阅读全文
摘要:xutils的功能主要包括有四个部分:(1)布局视图关联;(2)图片下载与缓存;(3)网络请求;(4)数据库; 1. 使用xutils进行视图注入: (1)在控件声明上方添加@ViewInject()传入控件的资源Id; (2)OnCreate()中使用x.view().inject(),传入上下文
阅读全文
摘要:Volley下载主要应用于下载文本数据和图片数据两个方向,下面分别介绍; 一、使用Volley开启下载,首先要做的是导包和添加权限; (1)在build.gradle文件中导入依赖包:compile 'eu.the4thfloor.volley:com.android.volley:2015.05.
阅读全文