- 博客(25)
- 收藏
- 关注
原创 flutter 生成aab包
flutter build appbundle --target -platform andriod-arm,android-arm64,android-x64
2020-06-10 18:42:20
1303
原创 Android Studio sdk tools文件夹下文件缺失问题以及解决方法
今天重装了系统,然后重装了android studio。跑flutter的时候出现:看了网上的解答,但是,我发现我的sdk目录并没有tools文件夹。解决:
2020-04-28 14:52:13
1501
原创 Flutter插件register方式配置
在Flutter1.12版本中正式将Embedding-V2API在Android平台默认开启,所有官方插件都迁移到了新的API。Embedding-V2APi的优势在于针对混合开发提供了更好的支持。版本配置GeneratedPluginRegistrant生成内容配置,通过在AndroidManifest.xml中配置Embedding的版本来确定工具生成的GeneratedPlu...
2020-04-23 11:04:45
1486
原创 Android 动画机制与使用技巧
Animation框架定义了透明度、旋转、缩放和位移几种常见的动画,而且控制的是整个View,实现原理是每次绘制视图时View所在的ViewGroup中的drawChild函数获取该View的Animation的Transformation值,然后调用canvas.concat(transformToApply.getMatrix()),通过矩阵运算完成动画帧。如果动画没有完成,就继...
2020-04-14 11:21:40
285
原创 Android 图像处理之图形特效处理
Android变形矩阵-------Matrix 对于图像的色彩处理,Android系统提供了ColorMartrix颜色矩阵来帮助我们进行图像处理。而对于图像的图形变换,Android系统也是通过矩阵来进行处理的,每个像素点都表达了其坐标的X Y信息。Android的图形变换矩阵是一个3*3的矩阵。...
2020-04-14 11:21:13
248
原创 android studio上flutter的Colors提示卡死解决
问题:在写flutter的时候,经常因为代码提示问题卡死,急的我想砸电脑解决:打开菜单:Android Studio - Preferences,show the documentation popup in 1000ms去掉勾选,保存即可。...
2020-04-14 11:10:10
420
原创 Android studio使用git创建本地分支提交远程仓库以及如何查看切换分支
https://blog.youkuaiyun.com/xiayiye5/article/details/79582949
2019-06-19 10:11:30
717
原创 android studio git使用看这篇就够了
配置:https://blog.youkuaiyun.com/gao_chun/article/details/49817229过滤文件:File:local.propertiesDirectory:.gradle/.idea//.idea/workspace.xml/.idea/librariesbuild//buildapp/build/还有第三方依赖库...
2019-06-19 10:05:26
358
原创 Handler 原理分析
在Android开发中,我们不可避免的要做一些耗时操作,比如操作数据库,网络请求.但是在Android中,主线程是不能做耗时操作的,不然会引起ANR异常.所以我们通常会用到Handler来进行主线程和子线程之间的切换.把耗时操作放在子线程中,当需要更新UI时,再通过Hander把相关的信息发送到主线程,让主线程负责更新UI. 那么今天,我们就来根据源码来分析Hander的工作...
2018-04-11 21:18:42
269
原创 Android绘图机制与处理技巧
屏幕的尺寸信息 1.屏幕参数 一块屏幕通常具有以下几个参数 (1)屏幕大小 指屏幕对角线的长度,通常使用“寸”来度量。 (2)分辨率 分辨率是指手机屏幕的像素点的个数。 (3)DPI 每英寸像素。它是由对角线的像素点数除以屏幕大小得到的。 系统屏幕密度 每个厂商的Android手机具有不同的大小尺寸和像素密度的屏幕。因此,系统...
2018-04-08 22:23:37
398
原创 ViewDragHelper
Google在其support库中为我们提供了DrawerLayout和SlidingPaneLayout两个布局来帮助开发者实现侧边栏滑动的效果。这两个新的布局,大大方便了我们创建自己的滑动布局界面。 然而,这两个功能强大的布局背后,却隐藏着一个鲜为人知却功能强大的类-------ViewDragHelper。通过ViewDargHelper,基本可以实现不同的滑动、拖动需求,...
2018-04-06 14:14:31
188
原创 Android Scroll分析
滑动效果是如何产生的 滑动一个View,本质上来说就是移动一个View。改变其当前所处的位置,它的原理与动画效果的实现非常相似,都是通过不断地改变View的坐标来实现这一效果。所以,要实现View的滑动,就必须监听用户触摸的事件,并根据事件传入的坐标,动态且不断地改变View的坐标,从而实现View跟随用户触摸的滑动而滑动。 Android坐标系 在物理学中,要描述一...
2018-04-05 19:30:18
198
原创 ListView使用技巧
虽然在Android 5.X时代,RecyclerView在很多地方都在逐渐取代ListView,但是毕竟ListView要成熟很多,所以还是有必要熟练掌握的。 ListView常用优化技巧 1.使用ViewHolder模式提高效率ViewHolder模式是提高ListView效率的一个很重要的方法。ViewHolder模式充分利用了ListView的视图缓...
2018-04-03 21:43:04
251
原创 事件拦截机制分析
Android为触摸事件封装了一个类-------MotionEvent.如果重写onTouchEvent()方法,你就会发现该方法的参数就是这样一个MotionEvent。其实,只要是重写触摸相关的方法,参数一般都含有MotionEvent,可见它的重要性。 在MotionEvent里面封装了不少好东西,比如触摸点的坐标,可以通过event.getX()方法,和event.getR...
2018-03-28 22:48:02
228
原创 自定义ViewGroup
ViewGroup存在的目的就是为了对其子View进行管理,为其子View添加显示、响应的规则。因此,自定义ViewGroup通常需要重写onMeasure()方法来对子View进行测量,重写onLayout()方法来确定子View的位置,重写onTouchEvent()方法增加响应事件。下面通过一个实例,来看看如何自定义ViewGroup。 本例准备实现一个类似Andro...
2018-03-19 22:27:01
219
原创 Android自定View
在自定义View时,我们通常会去重写onDraw()方法来绘制View的显示内容。如果该View还需要使用wrap_content 属性,那么还必须重写onMeasure()方法。另外,通过自定attrs属性,还可以设置新的属性配置值。 在View中通常有以下一些比较重要的回调方法。 onFinishInflate():从XML加载组件后回调。 onSizeC...
2018-03-18 07:37:24
211
原创 Android 自定义控件之ViewGroup的测量与绘制
一. ViewGroup的测量:我们在前面分析中说了,ViewGroup会负责其子类的测量与绘制。 因此,当ViewGroup的大小为wrap_content时,ViewGroup就需要对其子View进行遍历,以便获取所有子View的大小,从而来决定自己的大小。而在其他模式下则会通过具体的指定值来设置其自身大小。ViewGroup在测量时通过遍历其所有子View,从而调用其子View的Mea...
2018-03-17 21:11:49
789
原创 Android 自定义控件之View的测量与绘制
1. View的测量 在Android系统中,我们要想绘制一个View,就必须要知道这个View的大小。Android系统给我们提供了一个设计短小精悍却功能强大的类-------MeasureSpec类,通过它来帮助我们测量View。MeasureSpec是一个32位的int值,其中高2位为测量模式,低30位为测量的大小,在计算中使用位运算的原因是为了提高并优化效率。测量模...
2018-03-17 20:45:47
359
原创 Android控件架构和界面架构
Android控件架构在Android中每个控件都是占据一块矩形区域。其中控件分为两类,即ViewGroup和View。ViewGroup控件作为父控件可以包含并管理若干子控件。通过ViweGroup和View控件,整个界面上的控件就形成了一个树形结构,也就是人们常说的控件树。其中上层控件负责下层子控件的测量与绘制,并传递交互事件。我们经常调用的findViewById()其实就是查找当前View...
2018-03-17 16:33:37
413
原创 MVP模式快速生成插件MVPHelp
在前面的博客中,我们具体介绍了MVP模式的具体应用以及优化。但是MVP有个缺点,就是需要创建很多接口,需要我们做很多机械性的劳动。下面我们介绍一个本人在开发中经常使用到的插件MVPHelp,他能帮我们快速生成一些重复的代码,减少我们没必要的机械性劳动。 1.安装安装重启之后我们就可以在studio中使用了。 MVPHelp有两种模式,一种是常规模式,一种是Contract模式,这...
2018-03-17 12:03:42
1284
原创 MVP模式的优化
在上一篇博客中,我们介绍了了MVP的基本使用步骤点击打开链接 ,但是还有许多问题等着我们做相应的优化。问题 1:调用View可能会引发空指针异常。 在上面的例子中,MVP架构中的应用请求网络数据的时候,需要等待后台反馈数据后更新界面,但是在请求的过程中,可能当前的Activity因为某种原因销毁了.Presenter 收到后台反馈并调用View接口处理UI时,由于Ac...
2018-03-17 10:19:04
519
原创 MVP模式介绍及实例讲解其调用流程
为什么使用MVP模式: 说到MVP就不得不提一下MVC,因为MVP模式就是由经典的MVC模式演变过来的。其实我们日常开发中的Activity,Fragment和XML界面就是一个MVC的架构模式。 下面是MVC模式的架构图:从图中,我们可以看出MVC模式的缺点: 1.没有将View和Model剥离开来,View和Model的耦合性太强。Activity既要负责View的展示,...
2018-03-14 22:01:50
952
原创 Android Studio xml 格式化不自动换行问题
今天把Android Studio 2.3 更新为了3.0 遇到一个蛋疼的问题 如图: 格式化完代码后发现不会自动换行了,看着真心不爽。 后来发现其实是设置问题,如图: 只要把这里打上√就可以了。 在此记录一下,希望可以帮到后面的小伙伴...
2018-03-13 13:41:42
1428
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人