• Android 自定义 View 绘图基础

    View的测量 控件的测量可以说是固定写法,原生的View只支持EXACTLY的测量模式,我们自定义的控件可以重写onMeasure方法 @Override protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) { setMeasuredDimension(getMeasuredSize(widthMeasureSpec), ge
    Philip-Morton 发表于1年前 阅读(36399) 评论(0)
  • Android 对话框 Dialog 深度剖析

    对话框 对话框是提示用户作出决定或输入额外信息的小窗口。 对话框不会填充屏幕,通常用于需要用户采取行动才能继续执行的模式事件。 对话框设计 Dialog 类是对话框的基类,但您应该避免直接实例化 Dialog,而是使用下列子类之一: AlertDialog 此对话框可显示标题、最多三个
    vaibhav 发表于1年前 阅读(3439) 评论(0)
  • Android 混淆从入门到精通

    简介 作为Android开发者,如果你不想开源你的应用,那么在应用发布前,就需要对代码进行混淆处理,从而让我们代码即使被反编译,也难以阅读。混淆概念虽然容易,但很多初学者也只是网上搜一些成型的混淆规则粘贴进自己项目,并没有对混淆有个深入的理解。本篇文章的目的就是让
    Abiy 发表于1年前 阅读(826) 评论(0)
  • 深入理解 Android 之 View 的绘制流程

    概述 本篇文章会从源码(基于Android 6.0)角度分析Android中View的绘制流程,侧重于对整体流程的分析,对一些难以理解的点加以重点阐述,目的是把View绘制的整个流程把握好,而对于特定实现细节则可以日后再对相应源码进行研读。 在进行实际的分析之前,我们先来看下面这张图
    Holger-Just 发表于1年前 阅读(620) 评论(0)
  • Android网络与数据存储——网络编程数据处理(网络请求,解析xml,解析Json)

    手机的优势是携带方便,可以随时打开,而且手机通常总是处于联网状态的,所以网络支持对于手机很重要。而且Java的网络编程完全适用于Android网络编程。 一.网络请求 1.URL 在真正学习网络请求之前有必要了解一下什么是URL,URL的英文全拼是Uniform Resource Locator,翻译过来
    Scott-Bale 发表于1年前 阅读(1372) 评论(0)
  • Android简易手势密码开源库

    简介 本文介绍一个Android手势密码开源库的使用及实现的详细过程,该开源库主要实现以下几个功能: 支持手势密码的绘制,并支持密码保存功能,解锁时自动比对密码给出结果 封装了绘制密码的方法,比对两次密码是否一致,可以快捷地进行手势密码的设置 可以设置密码输入错误后
    yegor256 发表于1年前 阅读(1097) 评论(0)
  • 破译Android性能优化中的16ms问题

    当你不能向六岁的儿童讲清楚一件事的时候,说明你还没有真正理解这件事。 Android应用有一个明显的趋势---越来越多地使用动画效果来提升用户体验。但任何事情都是有代价的,丰富复杂的动画提升用户体验的同时,性能问题像隐形的恶魔一样,逐渐地侵蚀着你的应用。动画不流畅、
    RAnders00 发表于1年前 阅读(1041) 评论(0)
  • Android高仿微信表情输入与键盘输入详解

    最近公司在项目上要使用到表情与键盘的切换输入,自己实现了一个,还是存在些缺陷,比如说键盘与表情切换时出现跳闪问题,这个相当困扰我,不过所幸在Github(其中一个不错的开源项目,其代码整体结构很不错)并且在论坛上找些解决方案,再加上我也是研究了好多个开源项目的代
    Bill-the-Lizard 发表于1年前 阅读(1321) 评论(0)
  • Java和Android的LRU缓存及实现原理

    一、概述 Android提供了LRUCache类,可以方便的使用它来实现LRU算法的缓存。Java提供了LinkedHashMap,可以用该类很方便的实现LRU算法,Java的LRULinkedHashMap就是直接继承了LinkedHashMap,进行了极少的改动后就可以实现LRU算法。 二、Java的LRU算法 Java的LRU算法的基础是L
    Mote 发表于1年前 阅读(2058) 评论(0)
  • Android后台调度任务与省电

    I. Handler: 在进程存活的期间有效使用, Google官方推荐使用。 简单易用。 稳定高效。 II. AlarmManager: 利用系统层级的闹钟服务(持有Wake lock)。 如果需要精确的定时任务,这个是最佳选择。 1. 功能 在大概的时间间隔 运行/重复执行 指定任务。 指定精确的时间间隔执行任务
    Abiy 发表于1年前 阅读(1060) 评论(0)
  • Android开发之GridView实现弹出式选择器

    前段时间,写了一个小项目,里面有个界面如下图所示,之前的版本是用Spinner来做,觉得不够拉轰,所以采用GridView做了一个实现,效果还不错,Mark一下。 弹出单选GridView.png 一、点击那个底部的绿色按钮,弹出一个对话框,对话框里面的内容是一个单选的GridView,关键代码
    Scott-Bale 发表于1年前 阅读(1460) 评论(0)
  • Android 中的注解深入探究

    本文系GDG Android Meetup分享内容总结文章 注解是我们经常接触的技术,Java有注解,Android也有注解,本文将试图介绍Android中的注解,以及ButterKnife和Otto这些基于注解的库的一些工作原理. 归纳而言,Android中的注解大概有以下好处 提高我们的开发效率 更早的发现程序的问题或
    Mote 发表于1年前 阅读(1640) 评论(0)
  • 更简单的学习Android事件分发

    事件分发是Android中非常重要的机制,是用户与界面交互的基础。这篇文章将通过示例打印出的Log,绘制出事件分发的流程图,让大家更容易的去理解Android的事件分发机制。 一、必要的基础知识 1、相关方法 Android中与事件分发相关的方法主要包括dispatchTouchEvent、onIntercep
    grand-johnson 发表于1年前 阅读(891) 评论(0)
  • Android,几分钟教你怎么应用自定义注解

    ????相信各位Android程序猿都了解过 ButterKnife 这个高效的注解,对于 InjectView 高效的替代findViewId更是熟之又熟。以下代码: @InjectView(R.id.textview) private TextView textView; ????好了,今天目的不是为了介绍 ButterKnife 这个框架哈。这次写的文章主要是为了
    twernt 发表于1年前 阅读(1120) 评论(0)
  • Android群英传学习之路-View的滑动

    滑动效果是如何产生的? 滑动一个View从本质上来说就是移动一个View,改变其当前的坐标。所以,想要滑动一个View,就必须监听该View的触摸事件,并且根据事件的坐标,不断的改变View的坐标从而实现View的滑动。 Android中的坐标体系 Android中的坐标体系分为两种: Android坐
    twernt 发表于1年前 阅读(1096) 评论(0)
  • Android中实现滑动效果

    预备知识 Android屏幕区域划分 我们先看一副图来了解一下Android屏幕的区域划分,如下: Android屏幕的区域划分 通过上图我们可以很直观的看到Android对于屏幕的划分定义。下面我们就给出这些区域里常用区域的一些坐标或者度量方式。如下: //获取屏幕区域的宽高等尺寸获取 Di
    genehack 发表于1年前 阅读(763) 评论(0)
  • Android 利用 APT 技术在编译期生成代码

    APT(Annotation Processing Tool?的简称),可以在代码编译期解析注解,并且生成新的 Java 文件,减少手动的代码输入。现在有很多主流库都用上了 APT,比如 Dagger2, ButterKnife, EventBus3 等,我们要紧跟潮流,与时俱进呐!?(? ??_??)? 下面通过一个简单的 View 注入项目?Vi
    Nathan 发表于1年前 阅读(712) 评论(0)
  • Android Animator运行原理详解

    1. 前言 上一篇文章《Android Animation运行原理详解》介绍了插间动画的原理,而Android3.0之后引进了一种动画实现——属性动画,放在以前可能会因为要兼容3.0以前系统而小犹豫下,但现在3.0以上系统已占有率已达97%以上(来自Android Studio统计数据),市场上许多应用甚至已
    Peter-Mortensen 发表于1年前 阅读(859) 评论(0)
  • Android Animation运行原理详解

    1. 前言 作为Android程序员,或者是想要去模仿一些酷炫的效果,或者是为了实现视觉的变态需求,或者是压抑不住内心的创造欲想要炫技,我们不可避免地需要做各种动画。Android中,动画主要分为帧动画、插间动画以及属性动画。帧动画最为简单,是用一系列的素材作为关键帧逐帧播
    Peter-Mortensen 发表于1年前 阅读(964) 评论(0)
  • Android Glide图片加载库学习

    到目前为止,网上有很多图片加载库,我就先来说说为什么选择Glide来学习。 Glide的特点 显示图片平缓流畅速度快 支持gif和webp格式图片 扩展性高可以转换各种图片效果 根据Activity/Fragment生命周期自动管理请求 ... 其它图片加载库有的Glide都有,这里的特点是其它加载库没
    Scott-Bale 发表于1年前 阅读(1140) 评论(0)