setLineSpacing()原型为public void setLineSpacing(float add, float mult); 参数add:增加的间距数值,对应android:lineSpacingExtra参数。 参数mult:增加的间距倍数,对应android:lineSpacingMultiplier参数。最终结果:原行间距 x mult+add tv.setLineSpacin
2023-01-06 michael007js 461
我们知道,在 Android 5.0 以后,可以通过 xml 或 Java代码 的方式给 View 添加阴影// 方式一:xml 设置android:elevation="10dp"// 或android:translationZ="10dp"// 方式二:java 代码设置view.setElevation(20);// 或view.setTranslat
2022-12-30 michael007js 563
简介:在Android API21,新添加了一个属性:android:elevation,用以在xml定义View的深度(高度),也即z方向的值。除了elevation之外,类似于已有的translationX、translationY,也相对应地新增了一个translationZ,用以在属性动画中动态改变Z值(使用View.setTranslationZ())Z = elevation + tr
2022-12-30 michael007js 100
Binder机制可谓是Android 知识体系里的重中之重,作为偏底层的基础组件,平时我们很少关注它,而它却是无处不在,也是Android 面试易考察的点之一。网上很多文章,要么知识点比较陈旧,要么源码贴一堆,要么没有成体系的分析,导致读者一知半解,似是而非。本篇将从流程上将Binder通信过一遍,尽量多用图展示。通过本篇文章,你将了解到:Binder的作用进程与Binder驱动如何通信Servi
2022-12-27 michael007js 105
1写在前面「雪糕刺客」是最近被网友们玩坏了的梗,指的是那些以平平无奇的外表混迹于众多平价雪糕之中的贵价雪糕。由于没有明确标明价格,通常要等到结账的时候才会发现,犹如一个潜藏于普通人群中的刺客般,伺机对那些大意的顾客们的钱包刺上一剑,因此得名。而在Android中,也有这么一个「内存刺客」,其作为我们日常开发中经常接触的对象之一,却常常因为使用方式的不当,时不时地就会给我们有限的内存来上一个背刺,甚
2022-12-27 michael007js 95
目录背景HttpServletRequest 获取 IPIp2regionIp2region V2.0 特性ip2region xdb java 查询客户端实现IDEA 中做个测试背景细心的朋友应该会发现,最近,继新浪微博之后,头条、腾讯、抖音、知乎、快手、小红书等各大平台陆陆续续都上线了“网络用户 IP 地址显示功能”,境外用户显示的是国家,国内的用户显示的省份,而且此项显示无法关闭,归属地强制
2022-12-27 michael007js 94
❝「是的,你没看错,现在就要带你适配 Android13」。❞2022 的Google I/O 发布了 Android 13 beta 2 和 Android 13 Beta 1 国内厂商的设备支持列表,虽然按照惯例, Android 13 应该是年末才发布正式版,但是相信有的开发者已经收到了平台的 Android13 的适配要求,所以本篇也是结合 Oppo 的 Android 13 应用兼容性适
2022-12-26 michael007js 1132
1前言曾经产品经理的奇思妙想,现在终于可以实现了…2效果效果中,原本是红色壁纸对应的红色App主题,在改成绿色壁纸之后,App主题也相应的变成绿色了。模拟器演示略微小卡…3介绍这个效果主要是使用了Material You中的动态颜色功能。3.1、什么是Material YouMaterial You也称Material3或M3,是第三代Material Design设计语言。Material Yo
2022-12-26 michael007js 145