自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(35)
  • 资源 (2)
  • 收藏
  • 关注

原创 flutter 18g运存手机崩溃问题修复

最近收到联想市场关于启动app崩溃问题的报告,进过排查发现是由于flutter导致的。报错如下"E/DartVM (13711): Exhausted heap space, trying to allocate 8 bytes" is printed by the Dart VM when it fails to allocate an object even after atempting a Full Garbage Collection. This will result in an OOM ex

2021-11-10 11:06:05 3886 1

原创 Flutter TextField引起的剪切板合规问题

背景最近突然收到安全部门的消息,说有些页面在获取剪切板内容。我当时很确性的说,我压根没去获取剪切板内容啊。但是他给出了具体的调用堆栈,这一看果然是真的。at android.content.ClipboardManager.getPrimaryClip(Native Method) at io.flutter.plugin.platform.PlatformPlugin.getClipboardData(PlatformPlugin.java:332) at io.flutter.plugin.p

2021-10-14 13:21:40 3545 16

原创 Android上的视图轮播

最近接手了一个需求,要求实现,叮咚买菜秒杀位置的轮播拆解通过观察发现其实还是挺简单,大致分为商品图片的上下轮播价格布局渐隐渐现在android上实现布局轮播,其实官方已经提供了实现ViewFlipperAdapterViewFlipper由于后端传递的是一组商品,不确定个数。那么选取AdapterViewFlipper是最好的选择布局复用,用adpter的方式填充数据而且不论是ViewFlipper还是AdapterViewFlipper 系统都帮助实现了,自动轮播的功能,

2021-10-09 15:51:50 379

原创 realtk audio console无法安装的问题

新买了一台电脑,发现麦克风没有声音,之前出现这个问题通过打开realtk 控制面板解决的,也就是realtk audio console这个软件。但一般新安装的电脑都没这个软件,这个软件需要去应Mircorsoft Store下载。但问题就出现在这了,应该有很多人都下载不成功吧,报各种错误代码,应该是0x80131500 这个代码,反正网上搜索了一大堆都是那几个命令,但我都试过,都不行。说下我是怎么解决的。1.开启Windows Update服务首先打开计算管理 找到服务,然后找到 Windows

2021-09-04 12:58:33 6145

原创 Flutter 自定义Widget 圆角矩形加三角指示器

一般app设计中都会有气泡提示,这个时候就需要用到切图了,在flutter中不管你信不信 反正对于.9的这块还是很不友好的,使用起来特别麻烦。要是安卓中这或许会很简单。但即使支持.9 如果气泡样式很多,对于app的包大小占用其实还是有那么一丢丢的影响的。基于此,我才用了是用代码的方式实现了圆角矩形带三角指示器现看看效果吧上面就是ui给出的效果,其中底部的三角形距离左边的位置还是动态可变,背景颜色还是渐变的。基于此才用了CustomPaint方式实现一套圆角矩形加指示器的控件,下面是代码实现Ex

2021-08-16 17:57:54 1305

原创 flutter Text文本,中英文混合,或则英文单词自动换行处理

之前在安卓原生遇到过,当中英文混合,或者中文与数字或者特殊符号,或则英文单词时,文本会被自动换行,这样会导致,换行时上一行可能会留很大的空白区域,今天群里也有人问题过此种情况。下面给出我在项目中的解决方案,当然有更好的解决方案也希望能分享分享。解决思路是把每个字符插入一个0宽的字符,大家网上搜索也能搜索带是什么是0宽字符\u{200B}于是我们可以对String进行一下扩展方便后续使用下面是我对String的一个扩展实现import 'package:characters/characters.

2021-08-16 17:17:00 2977 1

原创 安卓app合规-获取频繁获取wifi信息

最新在做app一些列合规问题,针对我在合规中的问题处理做了下记录,方便后续遇到问题的朋友们一些参考,当然也真是我的处理方案,如果有更好的解决方案也希望能分享分享。接到app检测报告时,我有点懵,曝出了10多个sdk在获取wifi信息腾讯TBSSDK通过GetConnectionInfo获取Wifi信息,MAC地址函数名:GetConnectionInfo详情:result:{'WifiInfo':'SSID:,BSSID:02:00:00:00:00:00,MAC:02:00:00:00:00:

2021-07-16 11:33:49 3393

原创 Flutter文本后面跟icon 文字超过1行... 但图标不能被挤出屏幕

今天群里提出了个ui效果,如下图标跟在文字后面 且不能超过一行,然后图片还不能被挤掉。当时大致实现了下Row( children: <Widget>[ Container( constraints: BoxConstraints(maxWidth: MediaQuery.of(context).size.width - 22), child: Text( '3333333

2021-04-28 14:55:58 1086

原创 Flutter¥和数字价格不能居底对齐。去掉Flutter文字空白区域

最近有ui走查反馈价格¥和数字没有底部对,所以对flutter的文字绘制做了下了解,以此解决ui一直以来纠结的历史问题。先看看正常情况和非正常情况的ui展示样式吧可以看到数字,汉字和字母(不同的字母所占的高度还不一致) 24呵呵jki这文字再给出字符的显示规则针对价格(数字类型的展示) 其实获取的应该是Capheight,所以在Flutter中需要根据TextPainter 来获取相关信息Capheight = BaseLineHeight - o(字符空白区域到顶部距离),但Capheigh

2021-03-12 16:16:14 1626

原创 flutter dialog对话框支持自定义大小

Flutter dialog对话框支持自定义大小欢迎使用Markdown编辑器欢迎使用Markdown编辑器在平时的需求开发中不可避免要弹出一些对话框提示用户,但默认的showDialog中的SimpleDialog和AlertDialog默认都是宽度全屏的,所以需要满足自定义大小的dialog非常有必要。这里记录下我的实现方式,当然有更好的方式也希望大家分享在评论里ex_dialog.dartimport 'package:flutter/material.dart';/// 显示指定大小di

2021-02-23 10:34:20 1926 1

原创 Flutter Text控件在不同手机上不居中的问题

在最近flutter页面改造过程中,发现通过Contail包裹Text控件设置上下padding时,在华为魅族和vivo等手机上并没有居中展示,所以通过查看控件属性,得以解决此类问题下面是代码/// 修正不同手机上leading和不居中的问题class ExText extends StatelessWidget { final String data; // 展示文案 final TextStyle textStyle; // 文字样式 由于字体大小和颜色是必须的 所以此处为必穿参数 f

2020-12-24 18:37:30 2348 1

原创 控制LiveData是否接收粘连性事件

在跨页面使用LiveData时出现新的页面刚订阅上事件就被触发了一次事件接收,类似用Rxbus或者EventBus的粘连性事件,然后网上搜索了一下,发现很少有此类文章.没办法只好自己看看LiveData的源码,还好它的源码不多,发现关键点在于private abstract class ObserverWrapper { final Observer<? super T&g...

2020-01-10 14:19:21 1181

原创 基于Flutter的mvvm框架

这里写自定义目录标题项目地址之前一直在找关于flutter的结构框架,但都没有一个明确好用的,基于此 自己写了一个在Flutter的mvvm框架,这是按我的理解去做的,如果有更好的意见和建议也可以提醒我…项目地址https://github.com/lhjandroid/FlutterBaseMvvmbase_mvvm: ^1.0.5...

2019-12-13 21:06:54 906

原创 Flutter 类似Android的对齐方式实现

最近重拾Flutter 打算用它山寨一个抖音.所以开始了漫长的学习之路在构造底部NavigationBarItem时 发现底部白线的宽度要等于itemtitle的宽度.这下可难倒我了要实现的效果是一开始用笨办法写了很长一串代码,而且很绕 大概是这样的 BottomNavigationBarItem createNavitem(String name, int index) { re...

2018-12-14 15:54:48 876

原创 一个Manager轻松让RecycleView指定item项置顶

RecycleView指定item项置顶效果由于最近需求需 当滑过列表中的某一项时置顶该item项,网上也搜索了下 大多是通过ItemDecoration 来实现 原理是获指定item的view视图通过分割线去来来绘制出来.但是我的置顶item是一个横向的recycleview 能滑动能点击.而通过分割线的方式只能有点击事件.所以此种方式不适用于我的情况所以采用滚动监听事件来失效此效果根据...

2018-10-09 15:52:14 2361 3

原创 沉沁状态栏 渐变切换图片

忙了一阵终于有点时间了,记录下最近UI上实现的功能 效果如下 沉沁状态栏渐变切换图片 一开始想的是用两张imageview去实现这个效果 但是由于app有别的效果还有用两张Imageview的方式判断太复杂.所以就想了另一种方法去实现 通过采用两个viewpager联动的方式来达到切换图片渐变的效果沉沁区的viewpage 暂时命名为 statuViewPage内容区的vie...

2018-09-11 15:24:14 266

原创 android优化之内存泄漏检测

虽然现在有了leakcanary 这个神器,能够检测出内存泄漏。但是还是抱着手动去检测并且做一次从头到尾的分析。所以就拿现有公司的app去做了一次首页内存泄漏的检测 并且发现了内存泄漏都地方。以下记录下分析过程.Markdown Extra 定义列表语法:界面操作首页是一个viewpager 连续滑动几页然后点击内存回收发下内存大小没有发生任何变化(点击1这个地方) 由此可以判断F...

2018-05-11 18:17:20 212

原创 封装微信微博QQ分享lib快速使用

上次封装了分享图片资源的处理趁着有空 把分享功能进行了整合封装ShareLib集成微信微博QQ分享功能1.接入工程 在主工程的build.gradle 中添加maven仓库地址maven { url "https://dl.bintray.com/thelasterstar/maven/" }// 主要针对微博分享sdk并添加sharelib依赖 2.初始化分享sd...

2018-03-16 19:06:02 403

原创 微信分享QQ分享微博分享时的图片压缩实现

在进行第三方平台分享时都需要对分享的图片进行一些压缩才能正常分享出去 图片分享不能太大 缩略图不超过32k 。而压缩又需要耗时不能再主线程中进行,所以进行了简单的封装一次性返回所需要的图片数据.ShareImageCompress分享到微信微博或者QQ时图片压缩并生成缩略图针对微信分享时需要压缩图片到较小的图片尺寸 并且需要设置缩略32k的限制. 针对业务场景新增图片压缩前的拼接...

2018-03-01 15:34:03 2729

原创 关于Textview maxline=1 ellipsize="end" 导致中英文数字混合分割错误的问题

出现错误的现象 我想让textview显示:你好啊430000000呵呵呵呵呵呵呵赫尔呵呵. 由于我设置了maxline=1 ellipsize=”end” 在Textview宽度不够的时候应该显示成 你好啊430000000呵呵呵呵呵呵呵…(理想的显示) 结果在一些手机上 特别是5.0以下的手机 显示成 你好啊… 当时想着这么会出现这个情况呢 于是我上网上搜索了下 比较靠谱的说法是 当你

2017-09-30 15:50:21 2118 2

原创 使用ViewDragHelper 实现吸边效果

由于项目需求需要按钮吸边,就自己动手写了下。对于通过手势拖拽我立马就想到了ViewDragHelper这个系统工具类。有了这个类的存在 我们只需要处理松开手指的逻辑处理和边界控制就行了。 下面是实现代码public class SuctionSideView extends RelativeLayout { private final String TAG = "SuctionSideVie

2017-03-09 16:44:33 1067

原创 Glide 加载Gif 导致cpu居高不下的解决办法

最近由于要所有图片上支持gif的展示,结果在界面上显示3张gif图后cpu飙升到了90%,一会手机就烫手了。想了很多种办法 比如监听view的显示或者隐藏状态然后再来控制GIF的播放与暂停。但是都未能很好的实现。网上也查询了很多关于view的进入或退出屏幕的监听,但是都未能找到。要么就是不能通用的进行判断。搞了几天也没找到解决办法就想到了为何不去问问Glide作者呢。问之前我先搜索了下是否有人已经提

2017-03-03 14:01:08 9081 17

原创 app的启动白屏解决

在网上搜索了许多关于app启动摆平的文章大致分为两类第一种是在style的app的thme 里设置<item name="android:windowIsTranslucent">true</item> 这种设置在点击桌面点击app时给人一种很迟钝的感觉 反正我不会用这种方式第二种方法是在app的theme里设置<item name="android:windowBackground">@mipma

2016-12-08 18:01:12 872

原创 微信分享 解决留在微信时没有回调结果的问题(不保证所有的都成功)

最近在开发项目的过程中 想对成功分享内容的用户进行一些奖励。在正常的流程下可以顺利的拿到分享的回调结果 唯独点击留在微信时 app死活拿不到分享的结果。我的这个解决方案是针对 腾讯自己的分享api。使用腾讯api进行分享的可以试试次方法。 此方法我也是在无意中打印activity的生命周期发现的。我在我的手机上测试通过,不保证在所有的手机上都能成功。 有更好的办法更正确的方法 也希望能告诉我

2016-12-06 18:14:16 3634 1

原创 三个简短的动画实现饿了么红包滑动效果

最近app里要实现类似饿了么 滑动列表或者滑动scrollview 隐藏红包的收起与弹出的效果 于是简单的实现了下public class OrderDetailRedPacktHelper implements ISendPacktView{ private String TAG = getClass().getSimpleName(); private Activity mActi

2016-11-29 11:35:28 1047

原创 Dagger2 的技巧

上一篇文章初略的实现一个Dagge2Demo 我自己昨完后 有这样一个想法 StudentModule 怎么产生出或者装不同的Pen对象呢 比如我想往StudentModule装入三支笔 分别为 红色的笔 白色的笔 黑色的笔 那该怎么办呢?通过网上查资料 我们只需要在 StudentModule 里 装入这三个对象 然后给每支笔取一个别名 我们使用这支笔的时候 根据它的别名去取就行了首先是 怎么实现

2016-09-09 18:59:35 318

原创 初学Dagger2

听说Dagger2 很长一段时间了 每次都是点开一个教程 看看别人的实现 但是每每读起来确实晦涩难懂 终于这两天又时间了 自己尝试着写一个简单的例子 我将以一个初学者的角度记录下 我的simple Dagger2在我写Dagger2 例子之前 我看了很多篇文章 但是我看完后 无非记住了几个名字 比如 反转控制 依赖注入 等 对于涉及模式我不太懂 所以这个反转控制这个名词我也就云里雾里了 依赖注入 这

2016-09-08 15:25:04 1227 1

转载 解决 android studio adb 端口被占的最有效的办法

新建一个 ANDROID_ADB_SERVER_PORT的环境变量 让后编辑这个环境变量 设置一个 数值 比如 54321 注意这个值的范围为 1024-65535

2016-08-29 12:26:33 2335

原创 初学MVP

一直听群里的人说MVP模式去开发app 自己也搜藏了几篇文章 但一直没事件去学习,正好这两天有空闲的时间就尝试写个demo出来看看。概念信的东西我就不写了 网上的文章对于MVP的概念大致都是一样的。对于新东西 我一般是通过先写出个demo 以后在运用的过程再去学习此东西里面的详细内容。 建立MVP 项目 一般需要 建立 view(界面逻辑),model(业务逻辑),presenter(调度)这几个

2016-06-28 12:48:54 887

原创 rxjava retrofit 返回网络结果时取请求参数

最近项目中 需要在网络结果返回时拿到请求的请求参数 所以通过询问和查询终于找到了实现的方法现在记录一下 返回的观察者结果需是Response类型api.login1(userName.getText().toString(),passWord.getText().toString(),"test params").subscribeOn(Schedulers.newThread()).observ

2016-06-21 10:32:00 1016

原创 初学 retrofit2与RXJava 的搭配使用

retrofit2和RXJava 很早以前就有了 但是一直没事件学习 趁着前几天有空就学习了下 很难在网上找到完整的 retrofit2与RXJava 的搭配使用的例子 我自己也折腾半天才搞明白 首先我是在网上查看别人给出的文章试着实现我自己的登陆功能 http://blog.csdn.net/lmj623565791/article/details/51304204下面说说具体实现方法吧

2016-06-12 12:19:28 771

原创 初学 android databinding

听交流群的人讨论过网上也搜到看过但一直都没时间学习。这两天比较空闲就尝试着写出一个demo来学习他,下面我写出的我是怎么学习和使用他的。已经了解的和已经在使用中的就不用看了。没写过博客 写得不好大家也不要喷首先我是从这篇文章开始学习的http://www.jcodecraeer.com/a/anzhuokaifa/androidkaifa/2015/0603/2992.html 他给出了在1.3上

2016-05-28 11:52:24 425

原创 android 闹钟设置的几种方法

android 闹钟网上基本实现的是用AlarmManager 来说说AlarmManager吧用它的好处是 在设定好提醒时间后 到点app会接收到触发广播 接收到广播事件后我们可以做一些处理 它的不好之处 如果不小心系统被回收了 或者点击了手机上的一键清理 你的app会被杀死再也接收到不任何广播 即使是你静态注册的广播 好像在安卓4.4后 手机都自带一键清理功能 而且我也特别喜欢用点击一键清

2016-04-28 17:02:41 4973 1

转载 监听android软键盘弹出或者关闭的方法

在网上搜索了很多例子感觉都不太理想要实现键盘的弹出或关闭的首要条件是 activity的softinputmode必须是android:windowSoftInputMode="adjustResize" 基本上所有的文章都给出了 网上我搜索到的基本都是 RelativeLayout mCiRelativeLayout;

2016-04-19 11:23:31 1313

原创 Android 完全退出整个应用 不在栈底也能退出

上次做了个不在栈底退出应用(a->b->c 直接在c退出) 在网上找了很多方法 最常见额是 建一个ArrayList list 的集合存储 已经存在的Activity 每打开一个activity就在list集合中加入,退出时就移除 假如你的手机配置足够好 在一定的时间内 那么这样的方法可能没什么问题 能够推出整个app  还有的方法是通过报错强制关闭app 还有通过killbackground 反

2016-04-11 10:06:32 872

glide加载gif 降低cpu

glide 使用自定义解码器加载gif 降低cpu.使用的是adnroid7.0系统里的gif解码器

2017-11-03

gilde 自定义gif解码器 解决太多gif导致cup占用率高

gilde 自定义gif解码器 解决太多gif导致cup占用率高,使用第android 7.0上的FrameSequenceDrawable 实现

2017-10-11

空空如也

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

TA关注的人

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