![](https://img-blog.csdnimg.cn/20201014180756757.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
android
文章平均质量分 92
villa_mou
安卓開發,react native 開發
展开
-
这个交互也太炸裂了趴
动画是为一个app创造出色用户体验的重要组成部分。 它的关键挑战是向用户解释应用程序的逻辑,但是常见的错误是鲁莽地使用动画,从而否定了改善用户体验的整个观点。 为了使应用出色而不仅仅是出色或平庸,动画必须正确集成并且不应多余。在本文中,您将了解如何使用ScrollView和react-native的Animated API创建标题动画。在文章结尾之后,我们将获得以下输出How it works?在ScrollView上渲染标头,并将ScrollView的顶部位置设置为标头的偏移量。然后,我们可以简单原创 2020-06-05 10:36:57 · 357 阅读 · 0 评论 -
如何在React Native里面使用 FlatList 采用 Hooks 函数?
Hooks 是javascript的函数, 他让我们可以使用state不需要写一个class因此,Hooks 被用到了 react 函数组件,而不是class组件请记住,Hooks文档中概述了我们需要遵循的规则,应该做的和不应该做的。文档地址:https://reactjs.org/docs/hooks-rules.html不要在循环或嵌套函数中调用Hook,更不要说在条件逻辑中了在您的React函数开始的最高点处执行Call Hooks。理由想象一下序列的工作原理,或者也许您可以考虑数组如原创 2020-06-03 16:09:37 · 834 阅读 · 0 评论 -
React Native的VSCode
不久前,我认识的最有经验的React Native开发人员之一JaniEväkallio发表了一篇很棒的文章,介绍了Formidable于去年三月开始将其用于新的React Native应用程序的所有不同工具。自从我开始开发React Native以来,这给了我灵感,让我首先去解决一个我遇到的很多问题:选择一个IDE并正确设置它-而不必每隔一个月进行更改。正如我提到以前的文章为阵营本土首发,找到适当的设备开始的右脚上的一个基本组成部分:所以我决定开始新的,按照我自己的建议,并安装Visual Studio原创 2020-05-15 14:29:00 · 433 阅读 · 0 评论 -
在React Native中进行渐进式图像加载
Internet连接速度是可变的,尤其是在使用移动设备时。作为开发人员,我们经常会忘记许多用户在功能较弱的设备上运行我们的应用程序,并且互联网连接速度比我们慢。走出深山,尝试访问您的应用程序并查看其性能。应用程序中最昂贵的东西之一就是您正在加载的远程图像。它们将花费一些时间来加载,特别是如果它们是大图像。今天,我们将构建一个组件,使我们能够: 传递完整尺寸的图像以显示(就像普通Image组件一样) 在加载全尺寸图片时传递缩略图以显示 在即将下载的图片的位置自动显示一个占位原创 2020-05-15 13:50:29 · 417 阅读 · 0 评论 -
阿里云的代理
// Top-level build file where you can add configuration options common to all sub-projects/modules.buildscript { ext.kotlin_version = '1.3.50' repositories {// google() maven...原创 2020-03-13 14:46:55 · 310 阅读 · 0 评论 -
自定义View之kotlin绘制手势设置温度控件
手撸一个空调温度调节自定义控件,效果如下 这个控件的难点主要是手势控制,其他的都很简单 说下思路吧 * 首先绘制圆盘,刻度,阴影(需要关闭硬件加速),文字 * 然后根据划过的角度绘制进度条 * 最后根绝touch事件重新绘制,并设置数据回调 代码如下class TempView @JvmOverloads constructor( context: Co...原创 2018-03-30 15:13:24 · 496 阅读 · 0 评论 -
学习一波自定义RecyclerView的ItemDecoration
ItemDecoration是recyclerView的静态内部类,主要是为RecyclerView的Item绘制各种特效,添加效果,最常用的就是绘制分割线 ItemDecoration只有三个常用方法,一个是getItemOffsets设置偏离值,一个ondraw绘制,还有一个ondrawOver主要是浮层绘制 public abstract static class ItemDeco...原创 2018-03-05 13:48:18 · 402 阅读 · 0 评论 -
自定义view之kotlin绘制精简小米时间控件
今天玩小米手机的时候看到了小米的时间控件效果真的很棒,但是要完全写出来估计以我现在的能力肯定是不够的 而且也没有那么多时间来研究 那就写个简易版的吧 先来看看小米的效果 再来看看我的效果 小米这个控件是有3d效果和手势效果的,当然我没有偶这些,太麻烦,而且我也不熟 看到这个控件的时候先理一下自己的思路 1,先画最外层的圆弧和文字 2,再画里面刻度盘 3,再画秒表三角形原创 2018-01-19 15:29:36 · 1326 阅读 · 1 评论 -
Android 知识点记录
android学习笔记AS最常用的快捷键1.Ctrl+E,可以显示最近编辑的文件列表 2.Shift+Click可以关闭文件 3.Ctrl+[或]可以跳到大括号的开头结尾 4.Ctrl+Shift+Backspace可以跳转到上次编辑的地方 5.Ctrl+F12,可以显示当前文件的结构 6.Ctrl+F7可以查询当前元素在当前文件中的引用,然后按F3可以选择 7.Ctrl+...原创 2017-08-28 14:54:07 · 780 阅读 · 0 评论 -
自定义view之网状图
小牛试刀,花了一个小时写了个网状图,如下 绘制的思路分成三部 1,首先绘制三条连接的长的直线,代码如下 //画第一条竖线 canvas.drawLine(0f, -r, 0f, r, mPaintLineBg) val averageAngle = 360f / PART val y = (Math.sin(averageAngl原创 2018-01-05 13:45:54 · 403 阅读 · 0 评论 -
EditText输入金额挖坑记
最近在做一个跳蚤市场的App,其实就是类型商城+社区的app,当然肯定少不了商品的买卖,商品的买卖肯定涉及到金额的输入 就是那么一个小小功能,搞了半天才搞好,差点搞崩溃 先看下效果 就是那么简单的一个EditText,搞起来麻烦的一笔 首先看需求 * 前面要有一个¥符号 * 金额必须限制输入小数点后两位采用的方式1(失败) 最开始我是采用前面再搞个Textview设置一个...原创 2018-05-29 18:00:37 · 623 阅读 · 0 评论 -
解决Glide4.x之后transform和centerCrop同时使用不能显示圆角的问题
项目中使用到一个imageview上面是两个圆角,下面是两个直角 网上找了一波类似的控件,找到了这个 public class OvalImageView extends ImageView { /*圆角的半径,依次为左上角xy半径,右上角,右下角,左下角*/ private float[] rids = {10.0f, 10.0f, 10.0f, 10.0f,...原创 2018-06-26 16:12:51 · 6359 阅读 · 1 评论 -
采用kotlin+rxjava+retrofit+mvp打造基础架构,快速开发必备
最近项目忙完了,开始有一定的时间优化自己的架构,我一直写代码都有一种感觉,每次写完一个项目,然后开始优化,等优化完,再看看自己写的代码,就发现我封装的框架真的有点辣鸡,然后又开始写个基础的lib进行架构的优化简介关于Android程序的构架,主要有MVC,MVP和MVVM。MVC相对于较为落后,耦合度太高、职责不明确;MVVM其实就是在mvp的基础上采用DataBind,普及性不如M...原创 2018-07-24 15:42:34 · 3921 阅读 · 5 评论 -
kotlin版本组件化+mvvm项目架构
kotlin版本的mvvm+组件化项目基础架构主要技术点KotlinMVVMDatabindingArouter路由Dagger依赖注入RxjavaRetrofitMVVM:MVVM设计模式的一套快速开发库,整合Okhttp+RxJava+Retrofit+Glide等主流模块,满足日常开发需求。使用该框架可以快速开发一个高质量、易维护的Android应用。ARouter...原创 2019-06-13 14:54:30 · 7094 阅读 · 9 评论 -
RN-wanAndroid的简单学习Demo
RN-wanAndroidA wanAndroid project Coding by RN引言由于公司准备把所有的项目用RN进行重写,所以最近学习了一段时间的RN,简单写了个wanAndroid的小项目主要内容如下项目截图总结RN是facebook出的一个跨平台方案,体验我觉得一般,不过最近听说facebook正在对RN进行内核优化,也不知道最后的结果是什么,相比于...原创 2019-05-20 15:13:27 · 227 阅读 · 1 评论 -
手撸一个自定义日历控件
引言日历控件在android开发中也是比较常见的一个控件,并且目前大部分开源的日历控件也已经做得很漂亮,很完善了,功能也相当丰富;今天这个日历控件就是我在别人的基础上进行修改了的,首先很感谢这个开源库(https://github.com/codbking/CalendarExaple);帮我解决了打个大问题,主要是缓存view的问题;效果先来看下效果是怎么样的;##实现步骤1,最开...原创 2018-10-10 14:46:50 · 252 阅读 · 0 评论 -
CoordinatorLayout示例
CoordinatorLayoutcoordinatorLayout (协调布局)其实就是将其下的所有子View都抽象成: 互相依赖(depends)的关系. 因此某个view可以基于另一个view来定位,这样抽象的好处更强大的地方在于:每一个view的所有属性, 坐标, 样式, 状态等一切都可以依赖于另一个view, 因此使得parentView和所有childView之间都可以互相联动起...原创 2018-10-11 16:40:24 · 219 阅读 · 0 评论 -
自定义View之kotlin绘制折线图二
早上看到有个童鞋在群里面发牢骚,说这个自定义view怎么画,不太会,ok,正好我也没事,那我就花两个小时帮你搞定他吧,先看下他要的效果;再来看下我实现的效果...原创 2018-09-20 10:50:50 · 486 阅读 · 0 评论 -
kotlin的内联函数的使用
kotlin的内联函数属于kotlin的高级特性了,也是不同于java的区别之一; 至于为什么kotlin要使用内联函数,当然肯定是有它的好处的,首先看下方法的调用流程调用一个方法其实就是一个方法压栈和出栈的过程,调用方法时将栈针压入方法栈,然后执行方法体,方法结束时将栈针出栈,这个压栈和出栈的过程是一个耗费资源的过程,这个过程中传递形参也会耗费资源。为什么要使用内联函数inline...原创 2018-08-21 16:53:59 · 2090 阅读 · 1 评论 -
自定义控件之kotlin绘制折线图和曲线图
概述 今天花了一天时间绘制了一个自定义的曲线图和折线图的自定义控件,可以说现在是身心疲惫了,有点累,下班回家写这篇博客总结下自己的绘制思路,如果有人喜欢的话,麻烦给个star了^_^; 其实这类曲线,折线和柱状图的库现在特别多,而且也已经特别成熟了,目前使用对多的应该是hellochart,mpandroidchart这两个库,这两个库我之前在项目中还用过,扩展性真的超级强,而且基本...原创 2018-08-01 21:32:54 · 2350 阅读 · 2 评论 -
Android View滑动总结
前言View的滑动是Android实现自定义控件的基础,同时在开发中我们也难免会遇到View的滑动处理。其实不管是哪种滑动方式,其基本思想都是类似的:1,当点击事件传到View时,系统记下触摸点的坐标2,手指移动时系统记下移动后触摸的坐标并算出偏移量,并通过偏移量来修改View的坐标。实现View滑动有很多种方法,这里主要是6种滑动方法,分别是1,layout();2,...原创 2018-07-30 17:29:23 · 295 阅读 · 0 评论 -
fragment+viewpager的懒加载
之前一直都没怎么fragment的懒加载,因为项目中没有这个需求,新项目准备做一下懒加载 什么是懒加载:说白了就是我从第一个fragment切换到第二个fragment再去请求数据,并且只请求一次,之后可以采用下拉刷新的方式请求,需要用户自行触发 为什么要用懒加载:我们都知道viewpager的setOffscreenPageLimit(int)方法可以设置默认加载页面个数 但是最少也是两页,原创 2017-12-29 10:16:17 · 248 阅读 · 0 评论 -
被废弃的汽车仪表盘
先看效果图 本来公司是这么一个需求,但是呢,等我写到一半又改了,改界面这种搬砖的活儿也是够蛋疼的 还是把这个快代码分享一下,但是没有适配,并且进度条的旋转的指针变化也还没写分成三个view的实现public class DashBoardViewViewLeft extends View { private float progressWidth; private String t原创 2017-09-14 15:04:35 · 438 阅读 · 0 评论 -
android 自定义控件之汽车仪表盘
效果如下图 公司要求画一个仪表盘,ui目前还不确定,所以我先按照自己的想象先画了一个来说说这个效果怎么实现 肯定是一点一点的画了 先来定义弧度问题 一看就是从150°,旋转了 240° view的绘制顺时针为正 private int mStartAngle = 150; // 起始角度 private int mSweepAngle = 240; // 旋转角度初...原创 2017-08-28 15:26:52 · 2537 阅读 · 0 评论 -
自定义View之Android波浪效果的进度条
老规矩,先来一波效果图 再来看看具体实现首先肯定要先画一个背景 我是通过判断值的大小来改变背景的颜色 private void drawBgCircle(Canvas canvas) { if (progress <= 25 && progress >= 0) { mPaintInnerCircle.setColor(Color.parseColor(原创 2017-08-22 13:58:12 · 986 阅读 · 3 评论 -
最近开发写了两个简单的进度条控件,分享一下
欢迎使用Markdown编辑器写博客本Markdown编辑器使用StackEdit修改而来,用它写博客,将会带来全新的体验哦:Markdown和扩展Markdown简洁的语法代码块高亮图片链接和图片上传LaTex数学公式UML序列图和流程图离线写博客导入导出Markdown文件丰富的快捷键快捷键加粗 Ctrl + B 斜体 Ctrl + I 引用 Ctrl原创 2017-09-13 17:18:25 · 394 阅读 · 0 评论 -
仿优酷炫酷菜单
简单做一个类似以前优酷的菜单,具体功能没有添加. 先看看xml文件,主要分为3个模块,很简单,先做出效果<?xml version="1.0" encoding="utf-8"?><RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_pa原创 2016-10-08 19:22:02 · 327 阅读 · 0 评论 -
自定义dialog的频道选择器
效果图如上我们一步一步把它撸出来 首先不考虑是dialog,搞个自定义的viewgroup来实现主要功能 先来看看这个viewgrop的xml布局,很简单,两个textview,两个gridlayout 注意这个属性 android:animateLayoutChanges=”true”,这个是为gridlayout设置内容变化时的动画. <?xml version="1.0" encodin原创 2016-10-13 21:00:30 · 508 阅读 · 0 评论 -
ViewPager的简单Transformer
本篇博文,将: 1、介绍如何使用setPageTransformer设置切换动画; 2、自定义PageTransformer实现个性的切换动画; 3、该方法在SDK11以下的版本不起作用,我们会对其做一定修改,让其向下兼容。 官方示例地址:http://developer.android.com/training/animation/screen-slide.html 有兴趣的可以去看看~~原创 2016-10-13 14:55:55 · 909 阅读 · 0 评论 -
android 高德地图之poi搜索功能的实现
二话不多说,先看效果 这个功能我是用Fragmentdialog里面做的,也遇到不少坑 第一,就是设置背景的drawable为纯白色导致键盘弹出的时候,recyclerview的布局被顶上去导致出现白色布局,有点扎眼;最后改成了设置为和背景色一个颜色就和好了 Window window = getDialog().getWindow(); WindowManager.Lay原创 2017-08-30 10:27:10 · 7171 阅读 · 9 评论 -
android之 h5调用系统相机和相册并显示
先上html界面的代码,放在assets里面就可以了,我也不太会html,所以随便写了点<!doctype html><html lang="en"><head> <meta charset="UTF-8"> <meta name="Generator" content="EditPlus®"> <meta name="Author" content=""> <m原创 2017-10-17 09:25:43 · 9111 阅读 · 7 评论 -
kotlin在fragment中不能像activity中直接通过id调用控件的解决方法
不能直接用id的原因,是因为你的xml没有载入,会导致使用id的时候会报空指针,如果需要使用,在onCreateView return view后,在onViewCreate函数中使用Id直接调用,onViewCreate会在onCreateView后执行原创 2017-12-28 09:58:19 · 2617 阅读 · 0 评论 -
kotlin的lambda表达式
Lambda是什么 简单来讲,Lambda是一种函数的表示方式(言外之意也就是说一个Lambda表达式等于一个函数)。更确切的说:Lambda是一个未声明的函数,会以表达式的形式传递来历 Python:一个函数返回了一个内部函数,该内部函数引用了外部函数的相关参数和变量,我们把该返回的内部函数称为闭包 在kotlin里面我们通常说的闭包就是lambda表达式首先看高阶函数 将函数作为参数或者原创 2017-12-18 15:08:42 · 910 阅读 · 0 评论 -
Rxjava学习笔记
1just(T...): 将传入的参数依次发送出来。Observable observable = Observable.just("Hello", "Hi", "Aloha");// 将会依次调用:// onNext("Hello");// onNext("Hi");// onNext("Aloha");// onCompleted();2from(T[]) / from(Iterab原创 2017-11-29 14:09:25 · 176 阅读 · 0 评论 -
自定义view之水波浪进度球
这段时间项目做完了,也没什么事情,本以为可以偷懒一段时间,结果老总接了一个车载项目让我做,心碎,没做过,很慌,经过各方打听,发现车载和手机app开发的流程基本一致,瞬间就淡定了,那就开始搞项目开始就知道会有各种自定义控件,今天是第一天,搞了一个水波纹的自定义控件,先看效果 第一眼还是觉得可以看的,其实我觉得有点丑,ui妹子说挺好看,好吧,那就这样吧 这里面难点主要是波纹这个了,这个我也是借用了一原创 2017-12-07 16:58:15 · 567 阅读 · 1 评论 -
android RSA和Java RSA加密不一致的坑
最近项目采用RSA进行加密,遇到了坑,记录一下1、BASE64Decoder在Android中是不存在的,需用Base64替换,BASE64Decoder base64Decoder= new BASE64Decoder();byte[] buffer= base64Decoder.decodeBuffer(privateKeyStr);替换为:byte[] buffer= Base64.d原创 2017-12-15 11:53:52 · 6793 阅读 · 3 评论 -
Android 自定义Button波纹效果
随着Material Design越来越流行,当然少不了Button的波纹效果这种需求,一开始我觉得这玩意儿应该挺麻烦的,但是找了些别人写的库来看了一下,发现也就那么回事,所以自己也自定义了一个RippleButton 主要就是监听 view的touch事件 直接上代码public class RippleButton extends AppCompatButton { private原创 2017-12-04 11:25:02 · 787 阅读 · 1 评论 -
Android 采用keyStore的方式非对称加密,配合Rxjava2更好用
加密的代码如下public class RxSecureStorage { private static final String AndroidKeyStore = "AndroidKeyStore"; private Context context; private String alias; private KeyStore keyStore; private RxShare原创 2017-11-29 11:32:07 · 516 阅读 · 0 评论 -
解决华为手机InputMethodManager和GestureBoostManager的内存泄露的问题
最近公司适配华为p9手机,系统是7.0出现了两个内存泄露的问题 解决办法,在activity的ondestory中加入两个方法即可 public void fixHuaWeiMemoryLeak() { if (!"HUAWEI".equals(Build.MANUFACTURER)) { return; } try {原创 2017-10-30 14:44:40 · 1954 阅读 · 2 评论