- 博客(26)
- 问答 (2)
- 收藏
- 关注
原创 Android有关于Bitmap的转换
最近刚接到词汇表需求,就是点击按钮的时候图片会顺时针旋转90度,直接使用Matrix转换就行了。然后需要将彩色图转化为灰度图,我的个天啊,这玩意以前用opencl做过简单的一匹,现在我打算用代码实现,所以翻了很多博客,这里做一个记录,以后好复制。色彩图转化为灰度图方法有三加权法 GRAY==0.3*R+0.59*G+0.11*B均值法GRAY==(R+G+B)/3最大值法 max(R,G,B) var colorToGrayscale: (Bitmap) -> ...
2021-08-23 12:19:02 726
原创 Android 判断字符串是不是Hex(16进制)
项目有判断一个字符串是不是16进制的需求,我本来百度的,最后发现还是自己写比较好。刚开始我使用的椒正则表达式,然而效果并不是很好(应该是我写错了)。所以使用ascii 来实现。所谓hex无非就是(0~9||a~f||A~F)我这边遍历每一个字符 然后进行判断 fun checkHexString(string: String): Boolean { for (element in string) { var cInt: Int = elem.
2021-08-15 11:47:40 886
原创 记一下常用的gradle配置
1.设置支持的SO库架构找到对应的gradleandroid{ defaultConfig{ ndk { abiFilters 'armeabi' , 'x86'//, 'armeabi-v7a', 'x86_64', 'arm64-v8a' } }}2. 编译出错的时候,用此方法可以忽略错误。android{ lintOptions { checkReleaseBuilds false.
2021-08-15 11:08:36 279
原创 自定义RationBar
自定义的RationBar:SuperRationBarSuperRationBar是直接继承至View的,这次项目需求让我改了改刚好放上去。源码很简单,可以很容易看懂老样子先上图控件可以支持半星 第一二个和三四个分别是一种样式 当然自定义图标时不可少的 详情见github传送门...
2020-12-09 19:56:21 158
原创 Android 基于window写的自定义Toast
Toast原本就是基于window上写的,而且Toast本身是有提供setView()方法来自定义的,但是我记得在android 11 上面这个方法也就不推荐了,于是我就自定义了一个Toast,小白文。原则上先画布局,看图(简单的一个按钮)再看代码再看效果再看看连续点击的效果下面时自定义View的表演先看自定义View的布局同样的时点击一个按钮弹出Toast,看看代码和效果图再看看连续点击的效果再看看交叉点击的效果总结就是两个方法其实现就是windowmanager
2020-12-03 21:04:34 291
原创 Android 面试题之Handler
Handler 老东西了,但是每次面试基本都会问,今天做个笔记下次面试可以直接拿手机了。。。Handler流程主要分为4个类1.Message 需要传递的消息2.Handler 用于处理消息的类3.MessageQueue 消息队列4.Looper 通过无线循环取出要用的消息Handler 的使用也很简单 Message message = new Message(); handler.sendMessage(message);...
2020-11-18 20:53:57 370
原创 面试题 - Activity 的生命周期
总所周知 Activity 的生民周期主要为onCreate onStart onResume onPause onStop onDestroy但是只知道这些生命周期是完全没有的,你的明白在不同情况之前生命周期执行的顺序。(这里主要涉及到普通模式下的Activity 和 singleTask启动模式下的Activity)1.普通状态下Activity跳转 (MainActivity -> Test2Activity)2.普通状态的Activity跳转至启动模式为singleTask 的Act
2020-11-14 15:50:17 214
原创 Android 通过okhttp3的拦截器来设置BaseUrl
最近有这样一个需求:服务器地址可能会变但是每个服务器的方法是必然相同的,也就是说api的BaseUrl是变化的。我是用的是okhttp3+retrfoit2,用注解的方式设置单个请求的链接等信息,所以我最先想到的是在拦截器里面设置api里面的BaseUrl。先上代码/** * 将BaseUrl设置成自己想要的样子 */public class UrlInterceptor implements Interceptor { @Override public Response i
2020-06-24 20:49:44 1122
原创 Android有关于MVP的封装
Android有关于MVP的封装有关于mvp还不懂的朋友可以看看我之前写的文章。接着上一篇文章来继续撸。一般来说,MVP的V层是和BaseActivity放到一起的,这里只说BaseActivity。于是就创建了几个类。先看IBasepublic interface IBasePresenter<V extends IBaseView>{ void create(...
2020-02-17 12:14:00 158
原创 Android面试之MVP(自己的理解)
Android面试之MVP最近刚刚把封装的mvp给删掉了(因为我觉得自己用的根本不是mvp)总所周知,MVP分为 M V P 三层,P层是 M V 两层的桥梁,分别与两层进行着双向通信, M V 两层是没有直接联系的。我的做法貌似就抛弃了 M 层,所谓的 M 层竟然和 V 层直接双向通信了。我发觉封装的不对,于是就决然把以前的删掉了,重新写一个真正的MVP(人是活的,封装的MVP并非与其他写...
2020-02-17 10:06:34 928
原创 Android面试之内存泄漏(自己理解,有不对之处希望大神们能够指出)
Android面试之内存泄漏1.什么是内存泄漏首先我们需要知到泄漏的内存是什么泄漏的内存就是指不用了的内存,Android系统本身就有内存的回收机制,正常情况下,不用了的内存是会被系统正常回收的,但是因为小伙伴写的代码等原因就会导致不用了的内存得不到正常的回收,这就导致了内存的泄漏。例如:ActivityA 里面有一个static变量A,并且里面有一个while循环,while里面引用了A...
2020-02-15 14:05:40 167
原创 Android 关于model(bean)类的遍历
Android 关于model(bean)类的遍历之前有写过 json和map的遍历 估计大家都知道 现在播出的是model的遍历首先定义一个model类public class Model { private String id; private int age; public Model(String id, int age) { this....
2020-02-14 17:35:56 552
原创 Android代理模式
Android代理模式(自己的理解 欢迎大神指出错误)代理模式至少要出现两个类:代理类和被代理类用代理类来代理被代理类来执行被代理类的方法(以下是一个log的例子)代理类/** * 这是一个代理类 */public interface ILogger { public void e(String value);}/** * 这是一个被代理的类 */public...
2020-02-04 09:55:32 142
原创 Android评分RationBar控件
Android评分RationBar控件主要是不想用太多三方的控件,所以决定尽可能自己写,最近有写一个评分的页面,废话不多说直接上图我觉得嘛 这个东西用ViewGroup包起来感觉会写很多View 于是我决定使用之定义控件 直接上代码注释得还是挺详细的 这里直接上使用代码SuperRationBar_startWidth 这个为必传 而且只能在布局里面传使用就这么一句 调用可以获取到当前的...
2019-12-18 20:18:10 344
原创 Android有关于文字颜色的渐变
先放张效果图镇楼直接进入正题实现文字的渐变效果其实很简单LinearGradient linearGradient = new LinearGradient(0, 0, 0, textview.getHeight(), new int[]{Color.parseColor("#FF0000") , Color.parseColor("#FFFF00")}, ...
2019-09-21 16:54:32 1563
原创 Android ListView平滑的滑动 smoothScrollTo
Android ListView平滑的滑动 smoothScrollTo最近做环信IM,用的easeui 直接跳过自定义消息 接受离线消息的步骤。上面的说是环信当有新消息加入最下面的时候没有动画效果,让我改出滑动的效果出来,好吧 小意思 直接用 smoothScrollToPosition 就完事了。but 几分钟之后 上面说是有滚动效果了 但是太快了 让我改慢一点我是没有听说过 ...
2019-08-19 20:42:08 1187
原创 Amdroid 圆形进度条
圆形进度条先看个效果图就是这个效果了 图是直接在网上下的 偷了个懒 代码也很简单 这里主要做个笔记以后遇到了就懒得重新写了import android.content.Context;import android.graphics.Canvas;import android.graphics.Color;import android.graphics.Paint;imp...
2019-08-19 20:16:22 165
原创 Android数字集合排序
Android数字集合排序遇到了记一下List<Long> sortedKeys = new ArrayList<>();sortedKeys.add((long) 2);sortedKeys.add((long) 1);sortedKeys.add((long) 4);sortedKeys.add((long) 3);Collections.sort(sor...
2019-08-18 11:58:08 962
原创 Android 环信IM接受离线消息
Android 环信IM接受离线消息已经按照官方文档上面写了,结果还是没有接受到离线消息,但是离线消息确实显示在了列表里面。实际上 android 环信IM是有这个方法的,只是平时没有开启而已。我用的sdk是3.6的 但是3.3开始应该就是有的 不多说直接看代码//开启接受离线通知 这样就能接收到离线消息了EMClient.getInstance().pushManager().en...
2019-08-18 11:46:20 1946 5
原创 Android 一个Banner的遮罩层
b一个Banner的遮罩层一直以来都有一个需求,那就是给banner加上圆角看到这样的效果 我遇见过很多人都是直接把图片弄成了圆角 或者是直接让后台返回圆角的图片,表面上看没问题,但是banner不可能只有一张图 在滑动的时候就会出现一个问题,两张图之间会员一个缝隙,这里就不说缝隙怎么来的了很明显的缝隙 我的老板这都能看出来于是我选择了用遮罩 把图片的四周都用布遮起来...
2019-08-03 07:13:28 477
原创 解决在ScrollView中使用固定高度的WebView的冲突
**解决在ScrollView中使用固定高度的WebView的冲突**废话不多说直接上代码,看注释import android.content.Context;import android.util.AttributeSet;import android.view.MotionEvent;import android.view.View;import android.view.Vi...
2019-06-18 17:46:26 630
原创 Anroid大图查看器
最近看到微信朋友圈查看大图那叫一个牛哇,Android5.0刚好有个share的转场动画,于是自己写了一个。。。先分享一个地址添加链接描述然后开始使用导入更目录下build.gradle添加allprojects { repositories { ... maven { url "https://jitpack.io" } }}在需要依赖...
2019-04-27 08:20:56 234
原创 记网络请求错误回调的处理(RX + RETROFIT)
记网络请求错误回调的处理最近自己封装了个网络请求(RX+RETROFIT),也是遇到了很多的坑,天天都搞的焦头烂额的。就在前两天突然觉得我网络请求的错误回调处理不行 /** * 各种网络错误的回调 * @param e */ public void onRequestException(Exception e) { if (e ...
2018-12-17 22:10:10 473
原创 有关于JSONObject,HashMap,Object实例的遍历
关于JSONObject的遍历 org.json.JSONObjectJSON字符串: { name: 韩梅梅, height: 163, age: 20 } 代码: try { JSONObject jsonObject = new JSONObject(json);//json就
2017-11-11 10:29:01 4022
空空如也
Android 自定义的EditText设置的hint没有效果
2017-11-27
Android开发,有关于vivo x20手机权限申请的问题
2017-11-25
TA创建的收藏夹 TA关注的收藏夹
TA关注的人