Android开发中,那些让你相见恨晚的方法、类或接口

Fastjson2升级指南:如何平滑迁移并避免兼容性问题 本文详细介绍了Fastjson2的升级指南,涵盖兼容性检查、性能调优及零停机迁移方案。通过实战案例展示如何避免常见问题,如日期格式严格校验和字段映射策略变化,并分享高性能配置技巧如JSONB二进制协议和内存池化。帮助开发者平滑迁移至Fastjson2,提升JSON处理效率。 阅读详情
  • getParent().requestDisallowInterceptTouchEvent(true);剥夺父view 对touch 事件的处理权,谁用谁知道。

  • ArgbEvaluator.evaluate(float fraction, Object startValue, Object endValue); 用于根据一个起始颜色值和一个结束颜色值以及一个偏移量生成一个新的颜色,分分钟实现类似于微信底部栏滑动颜色渐变。

  • Canvas中clipRect、clipPath和clipRegion 剪切区域的API。

  • Bitmap.extractAlpha ();返回一个新的Bitmap,capture原始图片的alpha 值。有的时候我们需要动态的修改一个元素的背景图片又不希望使用多张图片的时候,通过这个方法,结合Canvas 和Paint 可以动态的修改一个纯色Bitmap的颜色。

  • HandlerThread,代替不停new Thread 开子线程的重复体力写法。

  • IntentService,一个可以干完活后自己去死且不需要我们去管理子线程的Service。

  • Palette,5.0加入的可以提取一个Bitmap 中突出颜色的类,结合上面的Bitmap.extractAlpha,你懂的。

  • Executors. newSingleThreadExecutor();这个是java 的,之前不知道它,自己花很大功夫去研究了单线程顺序执行的任务队列。。

  • android:animateLayoutChanges=”true”,LinearLayout中添加View 的动画的办法,支持通过setLayoutTransition()自定义动画。

  • ViewDragHelper,自定义一个子View可拖拽的ViewGroup 时,处理各种事件很累吧,嗯? what the fuck!!

  • GradientDrawable,之前接手公司的项目,发现有个阴影效果还不错,以为是切的图片,一看代码,什么鬼= =!

  • AsyncQueryHandler,如果做系统工具类的开发,比如联系人短信辅助工具等,肯定免不了和ContentProvider打交道,如果数据量不是很大的情况下,随便搞,如果数据量大的情况下,了解下这个类是很有必要的,需要注意的是,这玩意儿吃异常..

  • ViewFlipper,实现多个view的切换(循环),可自定义动画效果,且可针对单个切换指定动画。

  • 有朋友提到了在自定义View时有些方法在开启硬件加速的时候没有效果的问题,在API16之后确实有很多方法不支持硬件加速,通常我们关闭硬件加速都是在清单文件中通过,其实android也提供了针对特定View关闭硬件加速的方法,调用View.setLayerType(View.LAYER_TYPE_SOFTWARE, null);即可。

  • android util包中的Pair类,可以方便的用来存储一”组”数据。注意不是key value。

  • PointF,graphics包中的一个类,我们经常见到在处理Touch事件的时候分别定义一个downX,一个downY用来存储一个坐标,如果坐标少还好,如果要记录的坐标过多那代码就不好看了。用PointF(float x, float y);来描述一个坐标点会清楚很多。

  • StateListDrawable,定义Selector通常的办法都是xml文件,但是有的时候我们的图片资源可能是从服务器动态获取的,比如很多app所谓的皮肤,这种时候就只能通StateListDrawable
    来完成了,各种addState即可。

  • android:descendantFocusability,ListView的item中CheckBox等元素抢焦点导致item点击事件无法响应时,除了给对应的元素设置 focusable,更简单的是在item根布局加上android:descendantFocusability=”blocksDescendants”

  • android:duplicateParentState=”true”,让子View跟随其Parent的状态,如pressed等。常见的使用场景是某些时候一个按钮很小,我们想要扩大其点击区域的时候通常会再给其包裹一层布局,将点击事件写到Parent上,这时候如果希望被包裹按钮的点击效果对应的Selector继续生效的话,这时候duplicateParentState就派上用场了。

  • includeFontPadding=”false”,TextView默认上下是有一定的padding的,有时候我们可能不需要上下这部分留白,加上它即可。

  • Messenger,面试的时候通常都会被问到进程间通信,一般情况下大家都是开始背书,AIDL巴拉巴拉。。有一天在鸿神的博客看到这个,嗯,如他所说,又可以装一下了。

  • TextView.setError();用于验证用户输入。

  • ViewConfiguration.getScaledTouchSlop();触发移动事件的最小距离,自定义View处理touch事件的时候,有的时候需要判断用户是否真的存在movie,系统提供了这样的方法。

  • ValueAnimator.reverse(); 顺畅的取消动画效果。

  • ViewStub,有的时候一块区域需要根据情况显示不同的布局,通常我们都会通过setVisibility的方法来显示和隐藏不同的布局,但是这样默认是全部加载的,用ViewStub可以更好的提升性能。

  • onTrimMemory,在Activity中重写此方法,会在内存紧张的时候回调(支持多个级别),便于我们主动的进行资源释放,避免OOM。

  • EditTxt.setImeOptions, 使用EditText弹出软键盘时,修改回车键的显示内容(一直很讨厌用回车键来交互,所以之前一直不知道这玩意儿)

  • TextView.setCompoundDrawablePadding,代码设置TextView的drawable padding。

  • ImageSwitcher,可以用来做图片切换的一个类,类似于幻灯片。

  • WeakHashMap,直接使用HashMap有时候会带来内存溢出的风险,使用WaekHashMap实例化Map。当使用者不再有对象引用的时候,WeakHashMap将自动被移除对应Key值的对象。

【C++/嵌入式梳理】bootloader 【C++/嵌入式笔试面试八股】bootloader 阅读详情

相关推荐

合并数组与非合并数组——SystemVerilog

合并型数组(packed): — 合并型数组可以实现连续的存储,赋值时不需要用 '{ }。 //合并型数组 bit [3] [7:0] b_pack // 表示3行 x 8列的数组,[3]是高维度(高维度),[7:0]是低维度(第一维) 数组中,数据排列为{b_pack[3],b_pack[2],b_pack[1],b_pack[0]},其中每个b_pack为8个bit; bit是二值逻辑,每位bit只占据1位。故24位bit只占据一个word(一般一个word为32bit)的存储空间

SummerXRT的博客 7638

Android开发中一些挺有用的方法

今天看到一篇文章,觉得很有用,有些东西确实记不过来,转载过来方便以后用的时候查找。 下面是知乎的链接,有很多很多有用的,平时没事的时候多看看,这里只贴一部分。 http://www.zhihu.com/question/27140400 getParent().requestDisallowInterceptTouchEvent(true);剥夺父view 对touch 事件的处理...

dawuafang 253

5分钟搞定Conflux钱包注册:Fluent钱包从安装到转账全流程指南

本文提供Conflux公链上Fluent钱包的完整注册和使用指南,涵盖从安装、助记词备份到CFX转账的全流程。特别强调安全操作要点,包括助记词保管和网络选择,帮助用户5分钟内快速掌握这款国产公链钱包的核心功能,确保数字资产安全。

weixin_29181861的博客 244

[android]奇思妙想之实用类ArgbEvaluator(渐变色效果)

1、前言 ArgbEvaluator,真特么是一个相见恨晚的类。因为它可以实现很多有趣的色彩效果,提高体验度。简单介绍下: ArgbEvaluator:一个在俩种色彩通,通过偏移量计算出另一个色彩的类。 按小渣渣我的理解就是,传俩个颜色参数,和一个 0~1直接的小数。得到这俩个颜色中间的 颜色.如果是‘0’就是第一个颜色,如果是‘1’就是第二个颜色。 这特么有卵用……别急。。哥。。别急。。

Sunflower812 的博客 5796

光储微电网混合储能系统的控制策略

随着社会生产力的不断提高,对不可再生资源的大量消耗,人们已经意识到发展可再生能源的重要性,因此微电网技术作为再生能源利用的有效形式被快速发展。蓄电池容量无限大是传统光储微电网混合储能系统控制策略一种理想形式,但实际上蓄电池的容量是有限度的,传统控制策略在蓄电池剩余电量达到阖值时将无法正常使用,由此提出了光储微电网混合储能系统的新型控制策略,又结合实际情况,对开关进行了改进,利用开关与二极管并联,使其拥有四种工作状态,当储能元件剩余电量达到阈值时,可自动恢复电量降低成本,提高并输出电池电能质量。

nhkg888的博客 1742

小米手机Magisk解锁与Root完整指南:从Bootloader到模块管理

Android系统Root权限获取是设备深度定制的核心技术之一,其核心原理在于通过修改系统启动流程获取超级用户权限。Systemless Root技术通过动态挂载修改,在不触碰系统分区的前提下实现功能注入,既保证了系统完整性,又能绕过完整性检测。这一技术为设备带来了极高的可定制性,用户可以通过模块化方式增强系统功能、修改UI界面或启用隐藏特性。在小米手机生态中,由于官方提供了完整的Bootloader解锁通道,结合Magisk的无系统修改Root方案,使得安全可控的深度定制成为可能。本文聚焦于Bootloa

weixin_29164185的博客 334

粗浅理解接口在Android开发中的用途

一直认为程序中写接口的都是大神级人物,自己不是大神就不用写接口,这样的理解让我很长时间都回避了接口的学习,最近自己用到了接口,有了自己粗浅的理解。下面是一个经典的场景: 当我们在Activity中调用Fragment弹出框,弹出框里面有个按钮,如果我想实现点击一次按钮,就通知Activity中一个TextView上显示的数字加一,该怎么实现?如果是以前我可能会想用Handle来实现,但是现在用接

让创意的火花散落到屏幕的每一个dp 2105

YOLO-FastestV2从零部署到移动端推理实战手册

本文详细介绍了YOLO-FastestV2从零开始的完整部署流程,涵盖环境搭建、模型训练、格式转换及移动端部署。通过实战步骤,指导开发者将这一轻量级目标检测模型成功部署到Android设备,实现实时推理。文章重点解析了PyTorch到NCNN的模型转换与优化,助力移动端AI应用开发。

l1k9j8h7g6的博客 668

android接口的作用是什么意思,Android开发中接口的用处

本篇文章送给Android的初学者.一.场景一:某activity或fragment是一个较复杂的界面,假设其中含有一个列表和列表外其他控件组成.现在有一个需求就是点击列表条目,去改变列表外其他控件的UI.那么此时使用接口是一个不错的选择:1)首先无论是listview还是recyclerview,在adapter中定义一个接口例:public interface MyClickListener{...

weixin_42545159的博客 1448

手撕数美风控三板斧:device_fingerprint/device_id/hmac生成逻辑全解析

摘要:逆向分析数美风控核心参数生成机制 本文详细记录了逆向分析数美(Shumei)风控系统中三个关键参数(device_id、device_fingerprint、hmac)的生成逻辑。通过抓包分析和动态调试(使用Frida、IDA等工具)发现:device_id由设备IMEI和Android ID经MD5哈希生成;device_fingerprint融合23项设备与环境信息,并采用SHA-256哈希和动态环境检测;hmac则是参数+指纹+动态盐值的SHA-256签名。文章揭示了数美"设备指纹+动

专注于Python爬虫开发,分享爬虫技巧、项目实战与反爬经验,使用Scrapy、BeautifulSoup等工具,解决数据抓取难题。 1472

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

Android开发常见实用API(二)

紧接着上一篇文章不重复的: 1、getParent().requestDisallowInterceptTouchEvent(true);剥夺父view对touch事件的处理权,谁用谁知道。 2、ArgbEvaluator.evaluate(float fraction, Object startValue, Object endValue);用于根据一个起始颜色值和一个结束颜色值

watertekhqx的博客 775

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

Android开发中,那些让你觉得相见恨晚的方法、类或接口

本篇文章内容提取自知乎android开发中,有哪些让你觉得相见恨晚的方法、类或接口?,其实有一部是JAVA的,但是在android开发中也算常见。大多数的函数自己还是见过的,这里记录一下备忘。同时呢,也推荐一个github项目,里面记录了自己日常开发中见过的比较有用的东西开发中常用的工具、链接 Throwable类中的getStackTrace()方法,根据这个方法可以得到函数的逐层调用地址

期待 3234

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

Android开发中,有哪些让你觉得相见恨晚的方法、类或接口?

https://www.zhihu.com/question/33636939

qq906786621的专栏 184

Android开发中,一些相见恨晚的方法、类或接口

android开发

duanyu218的专栏 1035

Android开发中相见恨晚的方法、类或接口

摘抄、整理加个人总结,感谢所有参与者! 1.      Resources类中的getIndentifier(name,defType,defPackage)方法,根据资源名次获取其ID; 2.      Array类中的asList(T…array)方法,数组转List集合; 3.      View类的callOnClick(),performClick()和performLongCli

THEONE10211024的专栏 3814

android 类中 接口方法,Android开发中相见恨晚的方法、类或接口

1、Throwable类中的getStackTrace()方法,根据这个方法可以得到函数的逐层调用地址,其返回值为StackTraceElement[];2、StackTraceElement类,其中四个方法getClassName(),getFileName(),getLineNumber(),getMethodName()在调试程序打印Log时非常有用;3、UncaughtExceptionH...

weixin_35648005的博客 249

Android开发中,那些让您觉得相见恨晚的方法、类或接口

Android开发中,那些让你觉得相见恨晚的方法、类或接口 本篇文章内容提取自知乎Android开发中,有哪些让你觉得相见恨晚的方法、类或接口?,其实有一部是JAVA的,但是在android开发中也算常见。大多数的函数自己还是见过的,这里记录一下备忘。同时呢,也推荐一个github项目,里面记录了自己日常开发中见过的比较有用的东西开发中常用的工具、链接 Throwable类中的getS

smxueer的专栏 3520

Android开发中,那些让你相见恨晚的方法、类或接口,android相见恨晚

Android开发中,那些让你相见恨晚的方法、类或接口,android相见恨晚 原文出处: liukun (@TheFresher )    PS:本文类容来自我在知乎上对Android开发中,有哪些让你觉得相见恨晚的方法、类或接口?这一问题的回答,目前就总结这些,日后若有新的发现,随时补充。欢淫点赞。 getParent().requestDisallowInterceptT

日月星辰的博客 262
上一篇: Android开发编码规范
下一篇: Android SDK Manager无法更新的解决方案
Jefferyleng
博客等级 码龄13年 21粉丝 13原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值