- 博客(55)
- 资源 (3)
- 收藏
- 关注
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 滑动删除条目控件的简易实现
工作中有时候会碰到需要列表侧滑删除的功能,在网上找了很多都需要定制listview列子,这在有些情况下会不太适合需求,所以我这里实现了一种值需要在列表中的item中使用这个控件的做法,与列表控件的自定义程度无关。,大家可以按照需求借鉴一下惯例上图(注:侧滑有回弹效果哦): public class MyScrollDeleteView extends ViewGro...
2017-06-26 12:56:37
380
原创 gradle的依赖方式优化
目前大多数app的架构方式都是采用的模块化开发,但是模块化开发过程中或多或少会碰到一些gradle依赖问题,今天的博客就是用来解决这个问题,很久没有写blog了,今天其实也不是很有心情,最近烦心的事太多了。希望今天这篇博客能帮到你们,实际上也是帮我自己。项目目录下公用gradle文件:ext{ testImplementation_dependency=[ junit:'junit:junit:4.12', ] androidTestImp
2021-03-21 20:34:21
521
原创 抛砖引玉系列之gradle文件配置差异化打包
在项目开发的过程中,总能碰到这样的需求,打包的时候发布两个相同版本的包,但是服务器地址不同,这时候就不想打两个包的时候只想运行一句打包命令打出两个服务器地址的包,这个时候就想到可以根据gradle配置打出差异化版本的包。需求如上,gradle代码配置如下:apply plugin: 'com.android.application'android { compileSdkVersion 27 buildToolsVersion '28.0.3' defaultConf
2020-09-28 14:30:23
344
原创 抛砖引玉系列:Android简易实现录屏软件。
以前在工作中碰到一个问题,领导总是要求我给他路一段实现的功能效果或者当问题出现时,客户没办法描述清楚但是又找不到好用的免费录屏软件,所以昨天刚好有时间整理了一下,写了一个简易的Android录屏软件出来,这篇文章本事工作日志记录,也属于抛砖引玉系列,还是有很大的参考价值的。主要实现方式就是MediaProjectionManager+MediaReocrder+Service组件的方式来实现录屏。需要在5.0以上机型才有效果。按照惯例上图:然后上代码:package com.examp
2020-08-26 14:50:52
419
原创 android给图片加水印的极简实现方式
工作日志:其实这是两年前就碰到的需求,之前没有整理,也没有继续优化和实现,这次又用到这样的需求,所以记录下来,既是一种代码记录,也是一种复习bitmap和canvas的好手段,这里提供一种思路,就是将原图的bitmap生成的canvas上绘制图片或者文字。按照惯例上实现图:上代码:package com.example.testretrifit;import androidx.appcompat.app.AlertDialog;import androidx.appcompat.
2020-07-23 10:14:32
1158
原创 BottomSheetDialog的简易使用
工作日志记录,最近工作上有一个设计效果类似于BottomSheetDialog的效果,这里做了一个demo,记录下实现的效果和代码,方便以后可以参照一下:注意:使用这个BottomSheetDialog时候要映入对应得MaterialDesign包,我这里是androidx版本所有使用compile 'com.google.android.material:material:1.0....
2020-03-30 12:19:03
809
原创 使用recycleView中拖拽条目移动重排序的代码实现
工作日志记录,方便以后使用:具体效果如下:具体代码如下(两种实现方式都在MainActivity.java中):MainActivity.java代码如下:package com.xuganwen.testdrag;import androidx.annotation.NonNull;import androidx.appcompat.app.AppCompatA...
2020-03-30 12:01:32
741
原创 自定义控件之中间带文字的环形进度条,重新onMeasure自适配最小宽高问题
这是一片工作日志记录,用的比较多所以记录下来,免得下次又来写。绘制过程都是在ondraw方法中执行,思路是首先通过drawCircle画灰色底图,然后通过drawArc画粉色进度条,这中间涉及到这两个api的绘制时候的半径问题,主要是arc弧形与它的外切Rect的重合部分要在半径中去除以达到重合效果。onMeasure中使用来读取xml中写到的半径,并使用宽高的最小尺寸作为最后的半径,此代...
2020-03-30 11:37:53
275
原创 基于okhttp3.0的WebSocket的简易实践
工作日志记录:工作中有个需求就是实现实时推送,实时推送基本上都是要基于Socket通讯技术的,这里使用okhttp3.0提供的WebSocket框架,现记录下来便于后面使用时更快;具体代码如下:package com.haocang.waterpro.mango;import android.app.Service;import android.content.Context;i...
2020-03-11 09:20:45
1449
2
原创 上下滚动自定义广告条ViewGroup
工作日志记录,记录本文的初衷是用来抛砖引玉,希望对自己以后有用,对各位看官也有用。。。惯例上图:上代码:package com.xuganwen.testhichart;import android.animation.ValueAnimator;import android.content.Context;import android.graphics.Canvas;i...
2020-01-19 14:06:16
226
原创 滑动显示activity并保证不影响其内部控件的事件分发处理。
因为在平时使用app的时候,发现今日头条的app具有侧滑创建界面的方法,并且不影响内部控件的事件处理,所以想了一下并简单地实践了一下,这里记录下来,说不定以后能用得上。上效果图:图里红色背景的activity为滑动创建的activity,当在红色activity界面滑动时,就调用finish 在白色界面(也就是启动页)滑动时如果从100以内侧边内滑动,那就退出应用,否则就是创建红色的这个act...
2019-11-25 10:44:43
282
原创 在app端手写签名并保存下来(以文件形式或者是base64编码)
最近做的项目有个需求,在app端手写签名的并保存为文件或者base64编码。所以就刚好有时间写了一下并记录下来:先上效果图:分析思路:因为这里是要获取手势轨迹并画出来,所以肯定是有个Touch事件,然后使用要回显,那肯定是要获取所画的内容,所以想到了canvas这个东西,那这样就选择了自定义控件来做了。import android.content.Context;impo...
2019-11-22 11:16:41
1713
原创 RecycleView自定义ItemDecoration示例
工作日志记录:RecycleView和listview作为android列表控件,使用的场景很多,但是却不像listview那样能够简单的通过xml布局代码来设置条目的分割线样式。但是怎么办呢,当然也有解决的办法 一种办法是在子条目的布局上设置间距等来鱼目混珠,第二个就是需要从代码上来自定义分割线了,自定义分割线需要继承android.support.v7.widget.RecyclerView...
2019-05-29 14:12:57
267
原创 android自定义控件Group之上下滑动回弹及快速滑动手势viewgroup
最近一周工作上比较闲,想来没有事做,,于是就想写个自定义控件巩固一下android的自定义控件开发,一开始的想法就是写一个简单的上下翻页的viewGroup,我们都知道viewpager是左右滑动的控件。还是老规矩,先上效果图:以上就是效果图,补充说一下实现的效果:实现子控件根据手势上下滑动翻页,慢速滑动过半时会翻页,快速滑动速度达到1000px/s时也会翻页,当然也要首页和尾页处理,...
2019-05-13 10:53:01
783
2
原创 Android中的Service模板,通过Service发送通知并修改通知的提示音
Sercvice作为android中的四大组件之一,主要用来执行后台耗时任务,比如上传大文件、轮询服务器消息、间断向服务器发送数据、应用处于后台运行时向用户推送通知等等,使用场景多样,但是Service跟Activity一样,也有它的代码模板,这里给出通过StartService启动发送通知的方式的Service代码模板,便于快速开发。 通知已经适配了androi...
2019-04-17 10:16:14
2107
原创 一张图一句API彻底分解android事件分发
为了彻底弄透android的一大难题事件分发,我这里奉献出一张我收藏多年的时间分发的图:事件分发流程图 另外附上一句事件分发中十分关键的API: requestDisallowInterceptTouchEvent():这句api是用来主动申请是否阻断时间传播的,基本上没有这句话的事件分发的自定义控件都是不完美的,如果当你做滑动冲突有解决不了的效果是,不妨试试吧~...
2019-03-08 14:49:06
261
原创 androidstudio 配置打包路径和打包apk的名称
工作记录:在app的build.gradle文件的android节点下添加以下代码:applicationVariants.all { variant -> variant.outputs.all { if (!variant.buildType.isDebuggable()) { variant.ge...
2019-01-17 14:39:53
2939
转载 使用java代码发送qq邮件成功案例
记录帖,直接上代码和资源import javax.mail.Message;import javax.mail.MessagingException;import javax.mail.Session;import javax.mail.Transport;import javax.mail.internet.AddressException;import javax.mail.i...
2019-01-09 09:52:47
319
原创 java代码获取本周的开始日期和结束日期,并动态获取前几周的或者后几周的开始日期和结束日期。
/** * @param deltaWeeks 相对于当前位置的前几周或者后几周 */ public void getWeekBeginDateAndEndDate(int deltaWeeks) { Calendar calendar = Calendar.getInstance(); calendar.setTime(new Dat...
2018-10-26 13:09:03
1624
原创 根据服务器返回的文件树的节点,创建类似的文件目录结构界面
最近碰到一个需求,如何创建类似于windows文件管理器那样的文件目录,服务器返回的数据没有顺序和规律,只返回文件目录的每一个节点,节点中包括id和parentId,其他的属性都没有标志作用。写这篇文章的最大的目的是为了防止以后自己碰到类似的问题一头雾水,所以做个记录以便自己以后查看。我做出来的效果图如下:(图一是当打开一个文件夹时自动关闭其他展开文件夹,图二是不自动关闭其他文件夹)...
2018-10-18 16:13:29
466
原创 android将控件变成图片的并显示的实现方式
工作记录:工作中有时需要将屏幕中的控件现实成图片并显示在屏幕上,比如在百度地图中自定义marker可能是一个带有进度条的图片,进度条随时更新进度,那就需要我们有这样的实现了。这里记录两种实现方式:布局文件:<?xml version="1.0" encoding="utf-8"?><RelativeLayout xmlns:android="htt...
2018-07-23 11:03:20
2082
原创 可拖拽移动控件的实现方式(两种)
最近在学习android,忽然思考到一些直播软件有的那种拖拽悬浮播放框的效果是如何做的,所以去网上搜了搜,特意记录下来:两种方式都需要给控件添加onTouchListenner()监听,并处理其中的方法:第一种: public class ThirdActivity extends AppCompatActivity { private Button ...
2018-07-20 15:22:54
2974
原创 Android自定义控件:刮刮乐控件的简单实现
多话不说,直接上代码: package com.xuganwen.colorfullimage;import android.content.Context;import android.graphics.Bitmap;import android.graphics.BitmapFactory;import android.graphics.Canvas;import an...
2018-07-19 16:36:42
567
原创 android自定义Dcloud插件,调用android原生界面并获取返回数据
由于工作的需要,所以我接触到了Dcloud这个我不是很愿意接触的东西。Dcloud也是Webapp的一个工具,同样也可以用来做原生android的插件。比较一下Dcloud和Cordova的优缺点: 1,Dcloud的文档说的比较简单,一般来说,让人看不懂该如何开始;cordova的文档则说的比较详细,从创建工程到创建插件再到使用插件,都有详细步骤说明。 2,Dcloud是以...
2018-07-18 16:36:20
3617
10
原创 android项目使用自定义的cordova插件(cordova自定义插件创建及使用步骤)
1,在开发机上安装cordova工具,cordova安装步骤可参考http://cordova.axuer.com2 ,创建cordova工程:cordova create TestProject3 , 为cordova工程添加插件平台: ①.cd TestProject ②.cordova platform add ios android4 ,开发机安装plugman工具 ...
2018-07-13 15:59:01
368
转载 android7.0 以上系统中如何做到状态栏完全透明,即去掉灰色遮罩层。
原有博客地址如下:http://blog.csdn.net/hmmhhmmhmhhm/article/details/77840604关键处理方法如下:if(Build.VERSION.SDK_INT >= Build.VERSION_CODES.N){ try { Class decorViewClazz = Class.forName("com.android.i...
2018-02-22 14:42:09
7147
3
原创 当在fragment中有editext控件获取焦点弹出软键盘之后再隐藏软件盘时,如果在布局中使用的fitsystemwindows=true,界面顶部会有一个padding值,这种情况如何处理?
问题:如题,我的这种情况出现在我是用了Tinimanager所做的沉浸式效果,同时在这个fragment的布局文件的最外层容器控件使用了android:fitsystemwindows=true;期间使用各种方法如加上或者去掉scrollview,加上或者去掉android:fitsystemwindows=true,修改minifest文件中这个activity的windowsoftinputm...
2018-02-09 16:03:44
925
2
原创 Android打包出现的问题:在使用Androidstudio打包过程中会出现以下错误: is not translated in “en” (English) [MissingTranslation
这个问题是在打包是如果API兼容到7.0及以上,如果Stringxml资源文件没有配置其他语言项时,会出现如此的错误;解决的方法有很多,这里介绍一种Androidstudio的最简单的解决办法:在app的build.gradle文件中的android{}中加入如下配置然后刷新gradle文件再打包即可:android{ ... ... lintOptions { disa...
2018-02-09 15:54:49
394
原创 androidstudio签名打包之后apk安装不上,adb报错Failure [INSTALL_PARSE_FAILED_NO_CERTIFICATES]的原因及解决方法
在开发过程中会碰到这样的一个错误:明显apk是签了名之后打包也成功了,签名打包过程中没有任何问题,但是apk包在安装到真机上时,却安装不上,报错信息为Failure [INSTALL_PARSE_FAILED_NO_CERTIFICATES],翻译过来就是说没有证书,也就是没有签名的apk包。原因:这个是Androidsutdio在版本2.3及以上才会出现的问题,其实在实质上签名打包都没有问题。解...
2018-02-09 14:10:31
4252
原创 工作日志记录:关于脉脉这款应用的默认用户头像的一种实现方法
工作日志记录:脉脉这款应用中默认用户头像设计的很有新意,当用户第一次注册时它会根据用户的昵称的第一个字作为头像中的主要文字,思考了一下我用自己的方式将他实现出来,可能以后会借鉴这种设计方式。
2017-11-15 14:46:00
2460
原创 工作日志记录:Android中为Editetxt设置软件盘的enter键为的显示为Search(搜索),并响应搜索行为
工作日志记录:项目中碰到一个需求就是如果当前EditText获得焦点并弹出软键盘时,软件盘的enter键上显示的文字为“搜索”或者“search”,并响应搜索的动作,记录下实现步骤以作参考。
2017-11-07 14:44:43
337
原创 工作日志记录:模仿头条的评论功能输入框控制输入法并完整实现软键盘的在此环境下的UE控制
工作日志记录:模仿头条的评论功能输入框控制输入法并完整实现软键盘的在此环境下的UE控制
2017-11-06 11:21:14
691
原创 如何保持你的App中的字体大小不随手机系统的字体大小变化而变化
工作日志记录:在应用的开发过程中,适配的问题是我认为最难处理的,这里碰到一个问题就是当用户的手机字体大小不一样时,你的应用还能保证它的字体适配合适而不导致应用的适配出现杂乱不堪的问题吗?如果不做特殊处理,一般来说是极有可能出现问题的。本文将介绍这个问题的解决办法。
2017-10-27 10:10:15
1811
转载 工作日志记录:Android自定义控件中使用的canvas裁剪的相关参数记录:
工作日志记录:Android自定义控件中使用的canvas裁剪的相关参数记录:
2017-10-09 10:24:30
262
原创 据说是菊花机试题:求最小长方形的左下右上坐标
给定一系列2维平面点的坐标(x, y),其中x和y均为整数,要求用一个最小的长方形框将所有点框在内。长方形框的边分别平行于x和y坐标轴,点落在边上也算是被框在内。
2017-09-22 09:33:34
393
DCloud插件调用原生界面(这个插件是调用的loginsdk.aar内置界面)
2018-07-18
cordova插件调用原生界面(这个插件是调用的loginsdk.aar内置界面)
2018-07-16
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人