Android开发( 右侧选择分类 )
androidproject

Github 在Dribbble上找到的一个清单效果 RippleCheckBox

简洁,舒服,波纹动画,勾选动画,高度可控的波纹CheckBox设计参考:dribbbleScreenshot下载案例Apk使用该控件的开源项目:玩清单Dependenciesimplementation'com.github.xujiaji:ripple-checkbox:0.0.2'Usepx: 值为像素单位;0x: 值为颜色,如黑色0xFF000000(0-360): 值的范围
528 人浏览
android01

Android产品研发(二十五)-- MVC、MVP、MVVM开发模式

本文我们将讲解Android开发中常常涉及到的MVC/MVP/MVVM等模式的基本概念。许多童鞋对Android开发中涉及到的MVC、MVP、MVVM这三种模式不是太清楚,我认为无论是MVC、MVP亦或者是MVVM都是一种代码组织方式,通过这种代码组织方式能够让代码更有层次感,各个层次主要负责各自的工作,这样降低了整个项目的代码逻辑耦合度与可读性。下面对MVC、MVP、MVVM等设计模式逐一的做一
528 人浏览
android01

android源码解析(二十八)-- 电源开关机按键事件流程

前面我们讲解了系统截屏按键处理流程,HOME按键处理流程,今天再来讲解一下电源开关机按键事件流程,当然这也是系统按键处理流程方面的最后一篇博客了。和截屏按键、HOME按键的处理流程类似,电源按键由于也是系统级别的按键,所以对其的事件处理逻辑是和截屏按键、HOME按键类似,不在某一个App中,而是在PhoneWindowManager的dispatchUnhandledKey方法中。所以和前面两篇类
527 人浏览
androidproject

Linkage-RecyclerView 即使不用饿了么订餐,也请务必收藏好该库

真香警告:即使不用饿了么订餐,也请务必收藏好该库!Here is the English guide由来Linkage-RecyclerView 是一款基于 MVP 架构开发的二级联动列表控件。它是因“RxJava 魔法师”这个项目的需求而存在。在最初寻遍了 GitHub 也没有找到合适的开源库(高度解耦、可远程依赖)之后,我决心研究参考现有开源项目关于二级联动的逻辑,并自己动手编写一个高度解耦、
526 人浏览
androidproject

一种优雅的方式来使用RecyclerView

一种优雅的方式来使用RecyclerView使得RecyclerView各种情况的多类型条目更简单!示例图片下载体验核心思想  想必大家都遇到过,在一个列表中显示不同样式的需求。在RecyclerView中可以通过ViewType进行区分,如果样式特别多的时候就会使得代码非常冗余,不利于开发及维护。那么有没有一种优雅的方法解决这个问题呢?  技术经理给你说,接下来的项目由你负责,明天下班前把排期同
524 人浏览
androidproject

文字转化为路径动画 TextPathView

TextPathViewGo to the English README介绍  TextPathView是一个把文字转化为路径动画然后展现出来的自定义控件。效果如上图。这里有原理解析!v0.2.+重要更新现在不但可以控制文字路径结束位置end,还可以控制开始位置start,如上图二可以通过PathCalculator的子类来控制实现一些字路径变化,如下面的MidCalculator、AroundC
522 人浏览
androidproject

Flutter 自定义组件之贝塞尔曲线绘制波浪球

BezierCurve百度百科: 贝塞尔曲线(Bézier curve),又称贝兹曲线或贝济埃曲线,是应用于二维图形应用程序的数学曲线。一般的矢量图形软件通过它来精确画出曲线,贝兹曲线由线段与节点组成,节点是可拖动的支点,线段像可伸缩的皮筋,我们在绘图工具上看到的钢笔工具就是来做这种矢量曲线的。贝塞尔曲线是计算机图形学中相当重要的参数曲线,在一些比较成熟的位图软件中也有贝塞尔曲线工具,如Photo
520 人浏览
android01

Android产品研发(三)-- 基类Activity

在上一篇文章中我们介绍了在android产品研发过程中,启动页的优化工作,比如启动页性能优化,启动页渐进动画效果,启动页屏蔽返回按键等等,而在本文中我们将要介绍一下在App产品研发中都会复写的基类Activity。在实际的android产品研发中,一般的我们在写Activity的时候都会继承于一个基类Activity,该Activity是所有的Activity的基类。在该基类中我们主要用于重写一些
520 人浏览
tinuv

Activity学习笔记

笔记Activity有四种基本状态Active/Running:一个新的Activity启动后,在屏幕的最前端,在栈顶,处于可见且可与用户交互的状态Paused:失去焦点,如被一个Dialog覆盖后,此时仍然与窗口管理器保持连接,系统继续维护其内部状态,仍然可见Stopped:被另一个activity覆盖,失去焦点并不可见时Killed:当Activity被系统杀死回收或者没有被启动时,处于Kil
516 人浏览
kotlin

Kotlin简介

提供Kotlin语言和标准库的完整参考。Kotlin 是一个基于 JVM 的新的编程语言,由 JetBrains 开发。Kotlin可以编译成Java字节码,也可以编译成JavaScript,方便在没有JVM的设备上运行。JetBrains,作为目前广受欢迎的Java IDE IntelliJ 的提供商,在 Apache 许可下已经开源其Kotlin 编程语言。Kotlin已正式成为Android
515 人浏览
androidproject

PowerRecyclerView

PowerRecyclerView使用快速使用implementation'com.lovejjfg.powerrecycle:powerrecycle:lastedVersion'因为 lib 已经依赖了 v7 和RecyclerView,当前版本是 27 ,可以移除。implementation('com.lovejjfg.powerrecycle:powerrecyc
512 人浏览
android01

Android源码解析(十九)-- Dialog加载绘制绘制流程

前面两篇文章,我们分析了Activity的布局文件加载、绘制流程,算是对整个Android系统中界面的显示流程有了一个大概的了解,其实Android系统中所有的显示控件(注意这里是控件,而不是组件)的加载绘制流程都是类似的,包括:Dialog的加载绘制流程,PopupWindow的加载绘制流程,Toast的显示原理等,上一篇文章中,我说在介绍了Activity界面的加载绘制流程之后,就会分析一下剩
510 人浏览
android00

一篇文章带你看遍Google I/O 2019大会

为期三天的Google I/O 2019大会终于在上周落下了帷幕,每年的Google I/O大会都可以说是一场全球的开发者盛宴。不过可惜的是,由于和美国存在时差,I/O大会的直播时间正好是我们这边的深夜,因此对于大多数的人来说可能都只能通过回放的方式来观看I/O大会。另外由于会议全程都是使用的英文,因此对于一些英文不太好的朋友观看起来可能也会比较吃力。因此今天我特意写了这样一篇文章来覆盖Googl
510 人浏览
cnbzlj

android 根据文件Uri获取图片url

今天,简单讲讲android里如何通过文件的Uri获取文件的路径url。昨天,我讲了如何调用手机的文件管理器获取文件资源,但是文件管理器返回的是文件的Uri,我们需要通过Uri获取文件的url才可以操作文件。昨天的博客虽然写了一种Uri转url的代码,但是我自己也没有很懂,于是在网上查找资料,最终解决了问题。这里记录一下。一.简易版处理(实际并没发现有什么问题)public static Stri
508 人浏览
android01

Android源码解析(二十一)-- Android PopupWindow加载绘制流程

在前面的几篇文章中我们分析了Activity与Dialog的加载绘制流程,取消绘制流程,相信大家对Android系统的窗口绘制机制有了一个感性的认识了,这篇文章我们将继续分析一下PopupWindow加载绘制流程。在分析PopupWindow之前,我们将首先说一下什么是PopupWindow?理解一个类最好的方式就是看一下这个类的定义,这里我们摘要了一下Android系统中PopupWindow的
507 人浏览
android

WGS84,GCJ02, BD09坐标转换

废话不多说,直接上代码publicclassGps{ privatedoublewgLat; privatedoublewgLon; publicGps(doublewgLat,doublewgLon){ setWgLat(wgLat); setWgLon(wgLon); } publicdoublegetWgLat(){ returnwgLat;
505 人浏览
androidproject

EasyXRecyclerView库基于RecyclerView的终极封装

EasyXRecyclerView主要提供了简单易用强大的RecyclerView库,包括自定义刷新加载效果、极简通用的万能适配器Adapter、万能分割线、多种分组效果、常见状态页面、item动画效果、添加多个header和footer、侧滑、拖拽、Sticky(黏性)效果、多item布局等,各模块之间灵活、解耦、通用、又能相互组合使用。注:库很轻量只有213Kb,虽然功能多,大部分是复用!!!
504 人浏览
android01

Android源码解析(二十五)-- Android onLowMemory执行流程

上篇文章中我们分析了Activity的onSaveInstanceState方法执行时机,知道了Activity在一般情况下,若只是执行onPause方法则不会执行onSaveInstanceState方法,而一旦执行了onStop方法就会执行onSaveInstanceState方法,具体的信息,可以参见onSaveInstanceState方法执行时机:android源码解析(二十四)--&g
503 人浏览
kotlin

Kotlin在Android中的开发

Kotlin非常适合开发Android应用程序,将现代语言的所有优势带入Android平台,而不会引入任何新的限制:兼容性:Kotlin与JDK 6完全兼容,确保Kotlin应用程序可以在较旧的Android设备上运行,没有任何问题。Kotlin工具在Android Studio中完全支持,并与Android构建系统兼容。性能:由于非常类似的字节码结构,Kotlin应用程序运行速度与Java类似。
503 人浏览
android01

android源码解析(三十)--触摸事件分发流程

前面一篇文章中我们分析了App返回按键的分发流程,从Native层到ViewRootImpl层到DocorView层到Activity层,以及在Activity中的dispatchKeyEvent方法中分发事件,最终调用了Activity的finish方法,即销毁Activity,所以一般情况下假如我们不重写Activity的onBackPress方法或者是onKeyDown方法,当我们按下并抬起
500 人浏览