自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(24)
  • 资源 (1)
  • 收藏
  • 关注

原创 Android多任务多线程断点续传下载

下载这个需求时常遇到,以前是版本更新下载单个apk包,用okhttp+service或者系统提供的DownloadManager实现即可,方便快捷,不涉及多线程多任务下载,特别是DownloadManager提供了完善的断点、状态保存、网络判断等功能,非常适合单一任务的下载情况,但遇到批量下载(类似迅雷的下载)以上的方案就略显不足了。如果全部自己来实现多任务、多线程、断点续传、暂停等功能,那工作量还是很大的,除非所开发的项目是专业下载的app,不然还是别造这个轮子了,就像我现在做的项目,批量下载只是app中

2021-08-02 11:28:42 666

原创 Android列表单选点击缩放动画

recycleView单选的时候,一般的处理就是选中的item做个stroke或者字体颜色改变,但要提升用户体验就得加点动画了。也就是点击选中的元素放大,同时之前选中的item缩小,不便截gif图,只能放一张静态图,大家脑补脑补~图中的CheckBox,代码实现其实是imageview,它的选中、取消也是有动画的,不是控制visible,而是通过改变图片透明度来实现选中取消的。具体看代码:import android.animation.ObjectAnimator;import android.a

2021-07-30 14:39:50 578

原创 Android签名jks转pkcs12(JKS 密钥库使用专用格式。建议使用 “keytool -importkeystore xx pkcs12“ 迁移到行业标准格式 PKCS12)

有遇到如下error的朋友,可以阅读此文解决:1、JKS 密钥库使用专用格式。建议使用 “keytool -importkeystore -srckeystore E:\eeee -destkeystore E:\eeee -deststoretype pkcs12” 迁移到行业标准格式 PKCS12。2、目标 pkcs12 密钥库具有不同的 storepass 和 keypass。请在指定了 -destkeypass 时重试。3、PKCS12 密钥库不支持其他存储和密钥口令。正在忽略用户指定的-de

2021-03-02 14:28:20 7556

原创 Android技术革新之路

一、小程序开发总结又有好久没写文章了,最近又闲了下来,就写一写前段时间的总结以及计划一下自己在开发道路上还需要学习的技术。疫情的问题导致公司android和iOS业务暂停,我也顺理成章的成了小程序开发者,一开始我内心真的是抗拒的,但仔细想想能学到新技术,嗯,技多不压身淦!好在有人带,所以我上手还是很快的,简单的和android对比总结一下:优点:1、微信提供了很多的基础库和api,开发者只需关心业务逻辑和ui即可,无需过多的设计模式和结构设计2、弱类型的js搭配xml响应式的数据绑定(如wx:

2020-11-20 17:42:30 423 1

原创 Android自定义注解的运用

网上很多讲自定义注解的,而且都讲得挺好,原理这些我就略过了,简单讲一下它的运用。经典的场景就是baseActivity里解析子activity的注解标签来做相应操作。比如我们定义如下注解:import java.lang.annotation.ElementType;import java.lang.annotation.Retention;import java.lang.annotation.RetentionPolicy;import java.lang.annotation.Target;

2020-07-08 11:45:47 301

原创 Android设置自定义view的宽高达到设计图比例一致的效果

这个控件是根据设计图的宽高比来设置该view在手机上的宽高,从而达到跟设计图的比例一致的效果。如果你的项目做了屏幕适配,那应该不需要这个view,但如果做了屏幕适配,也不会来搜这个话题了吧?[滑稽]import android.content.Context;import android.content.res.TypedArray;import android.util.AttributeSet;import com.makeramen.roundedimageview.RoundedImageV

2020-07-08 11:08:11 1627

原创 Android在TextView的最后一行后面拼接view(类似长文本的查看更多及收起)

其实一开始我是反感这种需求的,因为市面上也没这样的例子吧(当时对比过马蜂窝、飞猪、美团,他们都没采用这种方式)?一般后面的标签都会另起一行单独给位置,不会拼接到TextView后面。但是在这之前已经实现了类似的需求(见android在TextView后添加view实现展开收起查看更多),我也就没纠结太多,直接开干,反正也费不了多少时间。效果如下:多行的效果:先说一下思路吧,这个景区标题是一个TextView,拼在后面的标签也是一个TextView,这两个TextView被安排在一个frameLayo

2020-07-06 15:34:50 2530 5

原创 Android自定义view圆形百分比progressBar√

前言最近工作太不饱和,基本是这个节奏:8.40到公司,吃个早餐,边吃边玩手机9.消化一下,打开电脑看会新闻。阿三们又在搞事,反对made in china的产品、禁用几十款app,加上国安法在香港也有游行不服的,哎,我大清真难了9.30-10.带薪拉屎时间10.如果当天有茅台抢购,也是要打开京东抢一抢的,虽然东哥暂时还不认我这个兄弟11.要开始做点事了(反正不是工作的事)12.-1.30吃饭、午觉14.把每个群的消息浏览一遍,最活跃的群非同学们的炒股群莫属(每天如此),都在讨论牛市要来了,准

2020-07-04 15:51:17 731

原创 Android自定义view实现进度条动画、按钮渐变及录制状态控制

不得不说自定义view绘制各种图形及它们的动画是令人有成就感的事情。该篇来分享之前项目中写的一个视频录制按钮的自定义view,该view有录制、暂停(结束)等状态的控制,各种状态转变的动画,以及录制进度展示。先看效果(圆圈的小白色段是最小录制时长的标记点):代码的内容其实主要就是绘制进度条、录制按钮的切换动画(圆角正方形—>圆—>圆角正方形)。还是那句话,计算好每个组件的坐标(半径)事情就完成了一半,所以关键在于计算,这里的图形都简单计算并不复杂,只是要稍微细心点。注释都写得比较详细,就不一

2020-07-04 14:19:38 640

原创 Android日历选择按月分组并用recyclerview展示

今天分享一个日历选择控件,可以定义日期可选、选择范围、按月分组展示。这个日历无非就是把每个日期的数据通过系统的日历查询出来,然后用recyclerview展示即可,数据模型里可以定义哪些可选以及选定状态等等。思路就是这样了,先看看效果:首先定义好数据来源,即从系统的calendar获取日期列表,这里因为是要按月分组,所以我选择用一个key为月份的时间戳value为对应月份的所有日期list的map来接收查询出来的日历,在展示的时候把map转为分组的list即可:import android.annot

2020-07-04 11:00:08 1262 3

原创 Android在TextView后添加view实现展开收起查看更多

import android.content.Context;import android.graphics.drawable.Drawable;import android.text.Layout;import android.util.AttributeSet;import android.view.Gravity;import android.view.MotionEvent;import android.view.ViewGroup;import android.view.ViewT.

2020-07-03 17:45:00 2997

原创 Android利用Xfermode剪裁圆角

通常的图片圆角一般是对单独的图片进行切圆角操作,但是像下图的效果就没那么合适了,虽然对单张图片切圆角也能实现,但更为繁琐、不简洁,因为数据内容是动态的,要根据数据源分很多种情况判断哪张图片该切哪个角。所以,我在想能不能就在外层容器的四个角切圆角而不用管内部图片的圆角情况呢?答案显然是能!主要思路就是自定义一个layout,在dispatchDraw的时候将数据图片的canvas与圆角bitmap混合,设置PorterDuff.Mode.DST_IN使交集部分展示即可达到图示的效果关键代码(根据后台数据

2020-07-02 14:36:50 296

原创 Android给任意view添加阴影

先看一下效果吧开始的时候项目里用阴影的地方很少,要用的地方也是让ui切个阴影图片解决,但后面ui妹子的设计风格变了,导致整个app各种页面很多用阴影的地方(抓狂),所以才寻找一种优雅的解决方案(靠切图解决阴影问题明显很低效切不优雅)。开始的时候是想自定义一个framelayout在内间距添加阴影的方式实现,但还是遇到不少问题,做出来的效果不佳,当时项目又紧急,时间不够,就没折腾了,取而代之的是github的开源项目:ShadowLayout 这个项目使用下来还是挺方便的,在需要添加阴影的view外层包

2020-07-02 11:10:19 2938

原创 Android自定义view绘制表格

先上效果图平时很少有这样的表格需求,不过第一想法就是自定义view绘制表格,事实上我确实是用的canvas来绘制的,整个过程看似复杂,实为简单,计算好各个点的坐标后事情就完成一半了。不废话show codeimport android.content.Context;import android.graphics.Canvas;import android.graphics.Color;import android.graphics.Paint;import android.graphics.

2020-07-01 15:49:48 817

原创 Android progressBar实现recyclerView横向指示器(类似支付宝、淘宝某些页面的指示器)

主要实现思路就是在recyclerview滑动的时候不断计算滑动的距离,用当前已滑动的距离/总长度即为当前recyclerview的滑动百分比,用progressBar(seekBar也可以)显示百分比即可,主要代码如下:private ProgressBar progressIndicator;private float scrollX;private float percentage;private int totalDistanceX;m_rv_scenic.addOnScrollListe

2020-07-01 14:49:33 1187

原创 Android沉浸式透明状态栏、导航栏机型适配

最近把状态栏和导航栏相关的东西整理了一下,目前应用到了项目里面,测试了4.4 5.x 6.x 7.x 8.0的系统,包括oppo vivo 魅族 华为 小米 酷派等机型,都是可以的,也花了点时间,所以在这里记录一下完成后发现界面确实美观很多~~看来没白忙活啊 啊哈哈特点: 1.APP视图嵌入到状态栏 2.底部虚拟导航栏显示隐藏是动态控制视图高度 3.动态设置状...

2018-04-18 18:50:14 1956

原创 WebView填坑之旅4--网页内下载

webView中下载,这个功能在我们的产品中还挺重要的,webView中默认的实现方式好像是跳转第三方应用打开,比如手机内置浏览器或者其他有下载能力的应用,我的实现呢,也是从最原始的方法到现在自己控制在webview中下载,效果的话当然是自己实现下载更好,talk is cheap,look the code:/** * Created by ly on 2017/9/9 10:15. */p

2017-11-10 14:43:38 303

原创 WebView填坑之旅3--H5中选择本地文件

把上一篇(WebView爬坑之旅2–a标签是target=”_blank”时创建新窗口)的问题解决后,继续上线APP,然后又发现不能选择本地文件,这不是坑爹吗@##¥继续改不由自主的想起这张图: 谁让我是开发呢?网页中选择手机中的文件,这个主要是WebChromeClient中实现,具体实现如下: 代码的有些片段是参考腾讯x5内核demo中实现的,由于这个功能在自己项目中用的不多,所以没做兼

2017-11-10 14:22:57 1889

原创 WebView填坑之旅2--a标签是target=“_blank”时创建新窗口

如果网页里链接的a标签是target=”_blank”,而碰巧你的WebView又没有处理,那这个时候就会出现狂点链接/button页面却无动于衷的情况,给人想砸手机的感觉… 好了,解决方案其实也挺简单的,继承WebChromeClient,重写onCreateWindow是关键,请看代码: /** * 当网页里a标签target="_blank",打开新窗口时,这里会调用

2017-11-10 11:47:12 4977

原创 WebView填坑之旅1--腾讯x5内核(tbs)

说到webView大家可能都熟悉,基本每个android开发都用过吧,开始觉得这玩意没什么特别的,不就把url往webView一丢,网页就可以加载了吗?哈哈哈 事实上…这玩意套路还挺多的,我在开发过程中也是遇到各种问题,一般也是解决这个问题,又出现新的问题,好在,现在项目中webView相关的东西基本都完善了,最近也稍微空闲一点,把项目中遇到过的一些问题分享一下,也权当记录,有什么不对的,希望大家

2017-11-10 10:35:01 2405

原创 SVN update拉取后撤回

手一滑,点了update,更新了很久以前写的代码到项目里了,而且刚写的代码也被覆盖掉,这个时候要怎么撤回呢,别慌,这样做1、右键工程:2、选择要撤回的文件(可以多选):完美恢复到update前的代码下班...

2017-07-05 20:44:13 15523 3

原创 idea解决maven pom依赖下载失败

从GitHub上checkout一个项目下来,导入idea后发现加载依赖奇慢无比,所以临时把网络调成翻墙的代理,结果会发现idea会停止之前的下载,那怎么办呢?项目还没构建完成呢,折腾了很久,发现更改一下依赖的版本号,再右键pom文件,reimport可以成功加载改依赖,但是 没有版本号的库怎么弄呢?整了很久,发现可以这样操作:点击右边工具栏maven--maven goal然后在

2017-07-04 18:28:16 16487 7

原创 mysql-5.7.18数据库环境配置

1.首先去官网www.mysql.com下载最新版本,我的是5.7.13zip版,就是免安装,可以直接解压到需要的地方。2.环境变量的配置:计算机-》右键-》属性-》高级系统设置-》高级-》环境变量  在PATH里面加入解压的地方,比如我是E盘,就加入E:\mysql-5.7.13-winx64\bin注意! 有\bin3.在解压的地方E:\mysql-5.7.13-win

2017-06-17 15:09:16 723

原创 listview,gridview的getview多次调用的问题

参考这位大哥的blog  终于把多次调用的问题解决http://blog.csdn.net/ksr12333/article/details/18407527他的文章写的不是很清楚  我在他的基础上把getView的方法贴出来   我看他博客的评论也有很多人问getView方法是怎么写其实很简单,就是在填充数据代码的前面进行return:@Override    public Vi

2015-09-10 10:42:18 344

地图&导航&定位&指南

地图&导航&定位&指南 百度地图定位系统

2015-03-19

空空如也

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

TA关注的人

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