自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(10)
  • 收藏
  • 关注

原创 Android彩色字体都显示为黑色的原因

我们的产品中有个功能是在照片上添加红色时间和地址水印,但是最近收到业务部门反馈,部分照片的水印是黑色的,于是开始了漫长的填坑之旅。Step 1 代码问题?检阅了下代码:paint.setColor(Color.RED),写死的呀!要是发生了异常,应该也不会继续绘制出文字,很自信地暂时排除代码问题!STEP 2 机型问题?因为是偶发的情况,所以猜测可能是某些机型Android版本太老,导致部分颜色匹配不上。找了下对应的用户数据,都是很新很大众的机型,同机型别的用户也都正常!排除Step 3 主题问

2022-04-11 15:09:11 3763 1

原创 使用Jenkins+Gitlab集成Flutter自动化打包(Android),并发布到蒲公英

本文记录一下使用Jenkins+Gitlab集成Flutter自动化打包的过程。在集成时,Jenkins和Gitlab是已经搭建好的,并且Gitlab上已经上传了Flutter项目。Jenkins自动构建打包安装Gitlab插件因为Jenkins默认使用的是Github仓库,所以需要安装Gitlab的插件才可以实现配合工作。根据路径打开页面 首页 -> Manage Jenkins -> Manage Plugins选择可选插件选项卡,搜索gitlab一般第一项就是我们要安装的Gi

2021-08-09 16:01:22 2076

原创 Linux安装Android Sdk

在使用Jenkins+Gitlab集成自动化打包时,遇到Linux缺少Android Sdk环境的问题,单独记录一下安装过程。sdk安装方式常规思路,下载sdk,安装之后修改环境。但是发现,网络上已经没有了sdk的下载资源,有的也只是很老的版本。查看Android开发文档——sdkmanager的使用指南,发现可以使用sdkmanager这个命令行工具进行下载。下载sdkmanager工具包官网下载页最底部-命令行工具下载,找到Linux平台的工具包使用wget下载到服务器wget -P /h

2021-08-09 13:54:35 5985

原创 【Flutter脱发实录】拆轮子之Provider

占位

2020-09-18 20:09:28 590

原创 【Flutter脱发实录】盘一盘InheritedWidget

InheritedWidget简介在Widget篇中,讲述了StatefulWidget如何管理自身的状态。但是开发一款App经常会出现多个页面数据共享的场景。Flutter提供了一个功能型的组件来解决数据传递的问题——InheritedWidget。数据获取为了更好理解InheritedWidget的如何传递数据的,先解析其实现思路,然后带着这个思路去看源码,就会清晰很多。实现思路通常的数据共享情况,数据都是向下传递的,比如某个模块内的数据共享,全局数据共享等。Flutter中整个UI是由El

2020-08-21 22:55:36 320

原创 【Flutter脱发实录】盘一盘Element

前面的两篇小记,介绍了Widget和RenderObject,Widget代表了开发人员的想法,RenderObject负责在屏幕上进行绘制。那么想法如何驱动RenderObject工作呢?那么就需要引入Element这个中介,今天就来盘它一盘!官方解释An instantiation of a [Widget] at a particular location in the tree.** Widget在UI树某个具体位置的实例**阅读源码要知道Element是什么?干了什么?必然逃不过看源码!

2020-08-21 22:55:13 210

原创 【Flutter脱发实录】盘一盘RenderObject

在Widget篇中,提到了RenderObject,那么RenderObject到底是个啥?咱们来盘一盘!官方解释An object in the render tree.render树上的一个对象。Flutter门前有四棵树,一棵是Widget树,一棵是Element树,一棵是Render树,还有一棵是layer树。如果Widget树是一张图纸,那么Render树就是这张图纸对应的流水线。RenderObject就是这条流水线上的操作员工。我们在顶层配置好Widget树后,最终render树负

2020-08-21 22:54:35 333

原创 【Flutter脱发实录】盘一盘Widget

在Flutter的学习过程中,听到看到最多的一个概念就是Widget。可以说,在Flutter宇宙中:Everything is widget. 机器翻译一下就是:一切都是小玩意儿。这个小玩意儿到底是个啥?咱们来盘一盘!官方解释Describes the configuration for an [Element].Widget 描述了Element的配置。并且!源码中有这么一句注释:Widgets are the central class hierarchy in the Flutter fra

2020-08-21 22:54:03 215

原创 【Flutter脱发实录】也来实现一下灭霸效果

去年妇联4上映后,谷歌迅速推出了一个彩蛋,以致敬妇联计生办主任-灭霸。鉴于新冠疫情在国外的爆发,国家为了保障我们的安全,限制了大部分危险的通道,我冒死替大家搬来了这个彩蛋。看到这个炫酷的彩蛋,我不禁毛囊一紧!其实这个彩蛋早就被大家玩坏了,看了各路大神的实现方式,心中也就有了思路。下面就开始在Flutter中实现这个效果。实现思路这个彩蛋本质上就是一个动画,而要实现一个动画效果,首先要做的就是拆解,然后在简单的效果上丰富元素。问:灭霸实现他的计划需要几步?答:三步。1.戴上手套 2.打个响指

2020-08-21 22:53:18 182

原创 Flutter开发踩坑脱发实录

方法一:任务管理器关闭所有dart进程进入Flutter目录,删除flutter/bin/cache下的lockfile文件重启AS大多数情况下,方法一可以生效。方法二:可能是因为网络问题,导致AS一直loading所以关闭AS,打开VPN,重新打开AS或者换个网络环境(连手机热点等)...

2020-08-13 17:14:01 595

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除