iJays'blog 专注于移动开发,分享技术,共享快乐

自定义Toast 样式

概述 前段时间接到一个需求,希望能够定制化Android Toast 的样式,于是稍微研究了下,并记录成文。 其实Github 上已经有了现成的很漂亮的第三方库,但是这样又要引入不少代码,稍显有些重,那到底Android 原生支不支持自定义Toast 样式呢? 原理 答案是肯定的。首先从Toast 的使用说起,我们一般都是makeText 这个方法来使用Toast,那么就从这个方法入...

发布lib到jCenter&MavenCentral

注册账号 首先我们需要到https://bintray.com/ 这个网站去注册账号(需自备梯子),完成后在profile 中找到API KEY,先复制下后面有用。 创建Maven 仓库 点击创建一个仓库。 这里Name 需命名为Maven,类型也为Maven。 创建项目 新建一个Project,在其build.gradle 文件中添加如下依赖: classpat...

记Support Design 的一次填坑之旅

最近因为Android Studio 升级到2.3正式版,将之前的老项目也进行了依赖更新,在这个过程中,发现了一些问题,将其记录如下。 FloatingActionButton.Behavior View的可见性 这个标题比较抽象,其实就是当RecyclerView 上滑的时候隐藏FloatingActionButton,在下滑时将其展示出来。然而,从23.3.0版本的Support D...

多种方式获取View 的宽高

多种方式获取View的宽高 说到获取View 的宽高,一般情况下我们都是直接调用View 的getWidth(),getHeight()方法。然而,当我们需要在Activity 一启动的时候就去获取View 的宽高的时候,这种方式就有问题了。因为View 的测量绘制过程和Activity 的生命周期并不是同步执行,在onCreate、onStart 或者onResume 方法中获取View...

设计模式之单例模式

单例模式 单例模式是应用最广的设计模式之一,该模式保证了一个类实例存在,有利于我们协调系统整体的行为。 单例模式实现起来并不复杂,但不同的实现方式在不同的情况下可能会产生不同的效果,因此,需要根据实际的情况选择最优的实现方式。下面就来说一下常见的单例模式写法。 饿汉式 饿汉式 懒汉式(Lazy Load) 懒汉式是声明一个静态对象,并且在用户第一次调用getInstance() ...

Java基础之Callable

Java 基础之Callable 在开发中,我们总是要和线程打交道,而在Java中,创建线程的方法有三种,分别是继承Thread 类实现run() 方法、实现Runnable 接口重写run() 方法以及本文所记录Callable 和Future 创建线程。 Callable 特点 Callable 接口是从Java5 之后引入的,几乎是Runnable 接口的增强版,它提供了一个ca...

Android 内存泄漏相关

Android 内存泄漏相关 在了解内存泄漏之前,先来了解下Java 的引用类型 强引用:即默认的引用类型,例如 StringBuffer sb = new StringBuffer(); 就是sb 持有了StringBuffer的强引用类型。 弱引用:即WeakReference,其指向的对象只有在GC执行时才会被回收。 ...

我的2016

我的2016 2016年还有不到6个小时就要结束了,回想过去这一年,收获还是不少的,就在这里总结下过去的一年。 上半年度过了在学校的最后时光。回想起来,在学校的时候真是有千般好,自由、洒脱,想睡的时候可以睡到自然醒,想学习的时候可以去图书馆、实验室跟一群人一起学习,想去运动的时候可以每天去打ball……唯一不好的可能就是没钱吧,但这大学不就是这样吗,与一群志同道合的人一起度过一段这样美好...

Android7.0适配心得

Android N 适配心得

Android7.0的部分新特性 Android7.0(Nougat)正式版分布已经有一段时间了,然而并没有仔细去研究。前几天偶然在Android7.0的设备上运行我们的App,突然的闪退让我意识到应该适配Android7.0了。于是结合官方文档和实际操作,便有了此文。 文件系统权限更改 自Android6.0起,Android 对隐私问题越来越重视,于是引入了动态权限(RunTime...

轻松搞定MarkDown

MarkDown是什么? MarkDown是一种轻量级标记语言,创始人为约翰·格鲁伯(John Gruber)。它允许人们“使用易读易写的纯文本格式编写文档。MarkDown从推出至今已吸引了大量的粉丝,如大家经常用的为知笔记、简书、和开发者爱好的GitHub以及国内的CSDN等,都对MarkDown提供了支持。 PS. 因为它的优点很多,目前也被越来越多的写作爱好者,撰稿者广泛使用。看到...