![](https://img-blog.csdnimg.cn/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
专高三
文章平均质量分 64
馮贰爺
这个作者很懒,什么都没留下…
展开
-
图片的三级缓存代码案例
这个网站折叠代码。阅读起来极其恶心。删了全部文章。转战简书了https://www.jianshu.com/p/da0f1e781d91原创 2021-10-30 10:19:23 · 291 阅读 · 0 评论 -
第十一单元PickerView和AndroidAutoSize
介绍地址 :https://github.com/Bigkoo/Android-PickerView/wikiAndroid-PickerView是一款仿iOS的PickerView控件,带有3D圆弧效果,并封装了时间选择和选项选择这两种选择器,详细特性如下:WheelView —— 基础控件带有3D圆弧效果。支持文字、颜色、大小设置。支持背景颜色设置。支持item的分隔线设置。支持item间距设置。支持设置是否循环。OptionsPickerView —— 选项选择器支持一、二原创 2021-04-28 19:25:47 · 190 阅读 · 0 评论 -
自定义ViewGroup实现子View按长度自动换行
自定义ViewGroup实现子View按长度自动换行样例代码使用样例代码package com.fenghongzhang.a181102;import android.content.Context;import android.util.AttributeSet;import android.util.Log;import android.view.View;import android.view.ViewGroup;/** * 显示一个viewgroup中子布局随着长度换行而原创 2021-04-06 21:29:15 · 499 阅读 · 2 评论 -
环信集成
官网:1.打开首页https://www.easemob.com/2,注册开发者https://www.jianshu.com/p/1c8e59e62a483,下载环信的sdkhttps://www.easemob.com/download/im选择android端下载4,创建一个项目导入环信sdk,通过4.1和4.2步骤集成4.1implementation files('libs/hyphenatechat_3.8.0.jar')4.2 sourceSets {原创 2021-03-10 14:10:56 · 777 阅读 · 4 评论 -
用自定义view实现一个自定义输入框
自定义输入框的Viewpackage com.fenghongzhang.day017;import android.content.Context;import android.content.res.TypedArray;import android.text.InputType;import android.util.AttributeSet;import android.view.LayoutInflater;import android.view.View;import andr原创 2021-03-10 08:34:40 · 2876 阅读 · 6 评论 -
第十二天eventbus和Design
https://www.jianshu.com/p/122354d2243fDesign多个布局相互使用<?xml version="1.0" encoding="utf-8"?><!--协调者布局--><androidx.coordinatorlayout.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http:.原创 2021-03-02 21:37:02 · 505 阅读 · 3 评论 -
自定义ViewGroup实现宽度自动换行
自定义ViewGrouppackage com.fenghongzhang.day011;import android.content.Context;import android.graphics.Canvas;import android.util.AttributeSet;import android.util.Log;import android.view.View;import android.view.ViewGroup;import android.widget.Linear原创 2021-03-02 16:10:42 · 316 阅读 · 0 评论 -
第十一天的PickerView和AutoSize
PickerView和AutoSizePickerView是什么导包用法:在代码中使用效果图:PickerView是什么仿iOS的PickerView控件,带有3D圆弧效果,并封装了时间选择和选项选择这两种选择器。导包implementation 'com.contrarywind:Android-PickerView:4.1.9'用法:xml中的布局<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:and原创 2021-03-02 13:34:05 · 242 阅读 · 0 评论 -
第八天自定义view中的进度条显示
自定Viewpackage com.fenghongzhang.day005;import android.content.Context;import android.content.res.TypedArray;import android.graphics.Canvas;import android.graphics.Color;import android.graphics.Paint;import android.graphics.RectF;import android.uti原创 2021-02-27 00:01:35 · 502 阅读 · 1 评论 -
第八天事件分发及案例
前言android事件处理,最复杂的就是对Touch事件的处理,因为Touch事件包括:down, move, up, cancle和多点触摸等多种情况,多点触摸的情况先不讨论,因为Touch有这么多的状态,所以Touch相对来说是最难处理的,下面就来讨论一下android是如何处理Touch事件的方法说明//分发 //super.dispatchTouchEvent(ev) --> 将事件向上传递 --> 交给父容器 处理是否分发 //true --> 不向下分发原创 2021-02-26 23:35:15 · 1737 阅读 · 5 评论 -
第8单元 自定义View与Touch事件分发
前言原生View不满足我们的业务需求,我们要自定义View自定义View基础类型定义自定义组合控件多个控件组合成为一个新的控件,方便多处复用继承系统View控件继承自TextView等系统控件,在系统控件的基础功能上进行扩展继承View不复用系统控件逻辑,继承View进行功能定义继承系统ViewGroup继承自LinearLayout等系统控件,在系统控件的基础功能上进行扩展View绘制流程onMeasure测量View的宽高setMeasur原创 2021-02-25 21:50:13 · 849 阅读 · 0 评论 -
第3单元 mvp架构,dagger2,butterknife的使用
前言框架发展mvc mvp mvvm mvpvmMVP把Activity,Framgent中的UI逻辑抽象成View接口把业务逻辑交给Presenter主持Model类还是原来的Model使用MVP的好处分离了视图逻辑和业务逻辑,降低了耦合Activity只处理生命周期的任务,代码变得更加简洁视图逻辑和业务逻辑分别抽象到了View和Presenter的接口中去,提高代码的可阅读性业务逻辑抽到Presenter中去,避免后台线程引用着Activity导致Activity的资源无法被系统回收从原创 2021-02-13 11:44:38 · 1031 阅读 · 2 评论 -
第七单元属性动画以及差值器以及svg动画
属性动画的意义一、背景有了补间动画,为什么还需要属性动画补间动画限制:1、补间动画只能定义两个关键帧在透明、旋转、位移和倾斜这四个属性的变换,但是属性动画可以定义任何属性的变化。3、补间动画只能对 UI 组件(view)执行动画,但属性动画可以对任何对象执行动画。4、补间动画没有改变view 的属性,只是加了视觉效果5、补间动画效果单一属性动画的优势:1、任何对象都可以,不在限制于View2、不止是四种基本变换属性动画特点https://www.jianshu.com/p/2412原创 2021-02-09 19:03:35 · 543 阅读 · 0 评论 -
第六单元补间动画以及帧动画使用
动画的详解介绍总览 https://www.jianshu.com/p/35d25cc205e7补间动画介绍 https://www.jianshu.com/p/733532041f46属性:其中AnimationSet是其余几种以及其他AnimationSet的组合基本属性:其中,Duration:持续时间,单位是毫秒Interpolator:插值器插值器列表Alpha属性Rorate属性Scale属性Translate 属性AnimationSet原创 2021-02-09 13:36:45 · 564 阅读 · 0 评论 -
第五单元rxpermissions,rxlifecycle的使用
rxpermissions的介绍https://github.com/tbruyelle/RxPermissions?spm=a2c4e.10696291.0.0.44a719a4ahaTWq注意安卓的版本号必须是rxjava的3.0的版本以后摸机器必须是26以上的. 并且模拟器8.0是有错误的.所以 直接9.0导包allprojects { repositories { ... maven { url 'https://jitpack.io' }原创 2021-02-09 12:07:01 · 487 阅读 · 0 评论 -
第二天ARouter的介绍和使用
官方使用说明官网典型应用从外部URL映射到内部页面,以及参数传递与解析跨模块页面跳转,模块间解耦拦截跳转过程,处理登陆、埋点等逻辑跨模块API调用,通过控制反转来做组件解耦基础功能1, 添加依赖和配置android { defaultConfig { ... //每一个用的build.都要加 javaCompileOptions { annotationProcessorOptions {原创 2020-09-14 23:55:40 · 1099 阅读 · 0 评论 -
第二天Android系列之组件化Calces
什么是组件化就是将一个App分成多个模块,每个模块都是一个组件(Module),开发过程中我们可以让这些组件相互依赖,或者单独调试部分组件等,但是最终发布的时候就是将这些组件合并成统一的Apk。为什么要组件化随着产品的迭代,业务越来越复杂,随之带来的是项目结构复杂度极度增加,此时就会有如下几个问题:1、业务变化太快,单一的工程业务模块耦合度太高,牵一发动全身2、对工程作任何修改都需要编译整个工程3、功能测试和系统测试每次都需要进行4、团队协作开发存在很多冲突,不得不花费时间和精力进行沟通,原创 2020-09-13 18:38:31 · 508 阅读 · 1 评论