- 博客(1092)
- 资源 (24)
- 问答 (3)
- 收藏
- 关注
原创 ScaleGestureDetector 在两指距离较短时,不能缩放
如果你能源码开发,直接改这个值即可。但这个对一般人来说都比较麻烦,但咱们可以复制 ScaleGestureDetector 这个类的源码,直接复制 mMinSpan。调试了发现,当手指距离很短的时候detector.getScaleFactor() 等于 1,基本不动,那肯定不会缩放了。首先,mInProgress 第一次赋值在 onScaleBegin() 方法中,这也是为什么要返回true 的原因。这个可以在 framework 的 res 中找到值,不同版本值不同。
2024-02-01 15:05:37
547
原创 Android studio : Layout Inspector 查看布局
一、 Android Studio Plugins :Layout Inspector
2024-01-22 17:44:03
2094
原创 git log ,查看提交次数和提交代码行数
工作中,分支之间的合并,往往不是 fast-forword,而是 recursive strategy merge 策略式合并,所以会在历史中出现很多合并提交。运用下面的命令,你可以选择只看合并提交,或者非合并提交。一般情况下,我们想找一个提交,大多是为了某个修改去找,这个修改对应要么是具体的文件,要么是具体的修改的内容。放心,这个条件也支持。这个命令支持的搜索参数为提交的创建者和提交者,而且是支持正则表达式的,可以发挥的余地很多。不幸发生了合并冲突,还可以用这个命令,可以快速找到冲突的文件。
2024-01-20 10:38:13
3782
原创 git --depth 1的使用和问题、大项目git clone 失败问题修复
执行此命令操作clone会很快 ,因为只clone了一个分支和一个commit。但也会带来2个问题。
2023-12-19 11:12:35
1332
原创 android : 省市区Json
参考getActivity/ProvinceJson数据[ { "name": "北京市", "city": [ { "name": "北京市", "area": [ "东城区", "西城区", "海淀区", "朝阳区", "丰台区", "石景山区", "门头沟区", "通州区"
2023-12-13 16:08:41
1513
原创 Android studio 工程的 module 依赖关系图绘制 、 Android Module 依赖关系的可视化实现
整体步骤:1、利用gradle脚本生成dot;2、利用graphviz将dot可视化转为图片。
2023-12-06 15:28:42
919
1
原创 Android系统中设置TextView的行间距
Android系统中TextView默认显示中文时会比较紧凑,不是很美观。为了让每行保持一定的行间距,可以设置属性或。,取值范围:正数、负数和0,正数表示增加相应的大小,负数表示减少相应的大小,0表示无变化。,取值范围:浮点数,如果值大于1.0表示增加行间距,如果值小于1.0表示减少行间距,等于1.0时表示无变化。3、代码中设置行间距和倍数:TextView.参数add表示要增加的行间距数值,对应属性;参数mult表示行间距倍数,对应属性。
2023-11-09 17:13:05
2741
原创 Android 动画资源 = 属性动画 + 视图动画(补间动画 + 帧动画) \ alpha、scale、translate、rotate、set
如果您对平台提供的插值器不满意,则可以使用修改过的属性创建自定义插值器资源。例如,您可以调整 AnticipateInterpolator 的加速率或调整 CycleInterpolator 的循环次数。为此,您可以在 XML 文件中创建自己的插值器资源。文件名用作资源 ID。
2023-11-08 17:36:27
315
原创 jetpack : ViewBinding 和 DataBinding + viewmodel + livedata 的使用
一、ViewBinding:视图绑定通过视图绑定功能,您可以更轻松地编写可与视图交互的代码。在模块中启用视图绑定之后,系统会为该模块中的每个 XML 布局文件生成一个绑定类。绑定类的实例包含对在相应布局中具有 ID 的所有视图的直接引用。在大多数情况下,视图绑定会替代 findViewById。开启ViewBinding :android { buildFeatures { viewBinding true }}为某个模块启用视图绑定功能后,系统会为该模块中包
2023-10-30 11:11:58
212
原创 Android jetpack : Navigation 导航 路由 、 单个Activity嵌套多个Fragment的UI架构方式
Navigation是一种导航的概念,即把Activity和fragment当成一个个的目的地,各目的地形成一张导航图NavGraph,由导航控制器来统一调度跳转。
2023-10-26 14:56:30
1238
原创 ArrayAdapter 支持单选
每一项只有一个TextView., 每一项只有两个TextView., 每一项有一个TextView,单选。多选每项都是由一个已选中的列表项。
2023-10-17 15:52:27
52
原创 android google 官网 : 构建应用微件 / Android桌面控件Widget / AppWidgetProvider
应用微件是可以嵌入其他应用(如主屏幕)并接收定期更新的微型应用视图。这些视图称为界面中的微件,您可以使用应用微件提供程序发布微件。能够容纳其他应用微件的应用组件称为应用微件托管应用。下面的屏幕截图显示了音乐应用微件。本文档介绍如何使用应用微件提供程序来发布应用微件。如需了解如何创建您自己的 AppWidgetHost 来托管应用微件,请参阅应用微件托管应用。注意:如需了解如何设计应用微件,请阅读应用微件概览。
2023-10-10 16:38:03
292
原创 android Google官网 :支持不同的语言和文化 rtl / ltr : 本地化适配:RTL(right-to-left) 适配
参考应用包含可能专门针对特定文化而设计的资源。例如,应用可以包含针对特定文化的字符串,这些字符串将转换为当前语言区域的语言。将具有文化特异性的资源与应用的其他资源分开是一种很好的做法。Android 会根据系统语言区域设置解析特定于语言和文化的资源。您可以使用 Android 项目中的资源目录为不同的语言区域提供支持。您可以指定相关资源,此类资源根据使用应用的用户的文化量身定制。您可以提供适合用户的语言和文化的任何资源类型。
2023-10-09 17:47:23
901
原创 microsoft excel 公式 计算本金 利息 月供 和总利息
【代码】microsoft excel 公式 计算本金 利息 月供 和总利息。
2023-09-30 16:53:43
1396
原创 中国50大著名旅游古镇
13.江苏(4个):周庄古镇,同里古镇,甪直古镇,木渎古镇。16.云南(4个):束河古镇,丽江古城,大理古城,沙溪古镇。23.浙江(4个):乌镇,西塘古镇,南浔古镇,游埠古镇。14.上海(3个):朱家角古镇,枫泾古镇,七宝古镇。22.福建(3个):长汀古镇,泰宁古镇,云水谣古镇。1.山西(3个):张壁古堡,平遥古城,碛口古镇。6.四川(3个):阆中古城,上里古镇,安仁古镇。17.广东(2个):赤坎古镇,沙湾古镇。19.贵州(2个):青岩古镇,镇远古镇。20.广西(2个):黄姚古镇,兴安古镇。
2023-09-30 11:38:29
124
原创 富贵包 与 大椎穴
富贵包是指在后项与背交界处的脂肪堆积,形成一个包块样凸起,通俗来讲就是。富贵包多出现在肥胖人群中,与经常低头玩手机、看书或低头办公的人群有关,导致这个部位血运不良。富贵包的产生与人体的生理结构有直接关系,因为人体颈椎相对的活动范围比较大,也比较灵活,可以前伸、后屈、旋转。而人体的胸椎是活动范围比较小、相对稳定的结构,因此在第7颈椎和第1胸椎之间,会出现脂肪堆积、韧带钙化1。如果富贵包长期存在可能会压迫神经,导致颈椎酸胀、疼痛、僵硬等症状,严重者甚至引起上肢麻木、无力、疼痛、行走困难、头晕、头疼等。
2023-09-29 15:39:15
270
原创 lottie /android.md : Getting Started文档
【代码】lottie /android.md : Getting Started文档。
2023-09-26 22:35:48
216
原创 手拖动实时查看屏幕尺寸 、 getLocalVisibleRect 、 getGlobalVisibleRect 、getWindowVisibleDisplayFrame
参考。
2023-09-19 14:22:09
371
原创 中国5A级旅游景区名单
北京(8个)1、北京市海淀区圆明园景区(2020年)2、北京奥林匹克公园(2012年)3、恭王府景区(2012年)4、明十三陵景区(2011年)5、八达岭-慕田峪长城旅游(2007年)6、颐和园(2007年)7、天坛公园(2007年)8、故宫博物院(2007年)天津(2个)1、盘山风景名胜区(2007年)2、古文化街旅游区(津门故里)(2007年)河北(11个)1、承德市金山岭长城景区(2020)2、保定市清西陵景区(2020年)3、秦皇岛山海关景区(2018年)4
2023-09-12 14:56:38
494
原创 2023年工业、理工、科技大学排名
11| 安徽工业大学 |安徽 |马鞍山 |179||10| 沈阳工业大学| 辽宁| 沈阳 |173||12| 齐鲁工业大学| 山东| 济南 |192||13| 湖北工业大学| 湖北| 武汉 |208||14| 河南工业大学| 河南| 郑州 |216||15| 长春工业大学| 吉林| 长春 |219||16| 北方工业大学| 北京| 北京 |220||18| 大连工业大学| 辽宁| 大连 |234||19| 西安工业大学| 陕西| 西安 |241||21| 湖南工业大学| 湖南| 株洲 |278|
2023-09-07 19:12:27
1060
原创 TextView文字阴影 shadow
xml实现<TextView android:id="@+id/tv5" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginTop="16dp" android:gravity="center" android:shadowColor="#FF0000" android:shadowDx="1" an
2023-08-31 10:37:45
409
原创 安卓全局活动切换动画,windowAnimationStyle与overridePendingTransition两种实现
**/***在{@link#startActivity(Intent)}的一种风格之后立即调用*或{@link#finish}来指定一个显式过渡动画*接下来执行。*截至{@linkandroid.os.Build.VERSION_CODES#JELLY_BEAN}的替代方案*将其用于启动活动就是提供所需的动画*通过{@link ActivityOptions}捆绑包将信息发送到*{@link#startActivity(Intent,Bundle)}或相关函数。这允许。
2023-08-29 13:49:51
808
原创 关于android:windowAnimationStyle
android:windowAnimationStyle分为两种,一种是activityAnimation,一种是windowAnimation。
2023-08-29 13:48:02
710
原创 Java 8 : Stream.collect 和 Collectors.toMap
【代码】Java 8 : Stream.collect 和 Collectors.toMap。
2023-08-28 16:44:33
302
原创 java8 : Files/path/paths 、Files.write + Files.readAllLines/Files.readAllBytes、Files.newBufferedWrite
【代码】java8 : Files/path/paths 、Files.write + Files.readAllLines/Files.readAllBytes、Files.newBufferedWrite。
2023-08-24 15:20:59
324
原创 Android profiler : 应用启动时间、冷启动、热启动、温启动
如果您之前曾在 Android 11(API 级别 30)或更低版本中使用以下某种方法来实现自定义启动画面,则可能会增加额外的启动时间:使用 windowDisablePreview 主题属性关闭系统在启动过程中绘制的初始空白屏幕。使用专用 activity。从 Android 12 开始,必须迁移到 SplashScreen API。此 API 可以缩短启动时间,并允许您通过以下方式调整启动画面:设置主题以更改启动画面的外观控制启动画面的显示时长。
2023-08-23 14:42:01
1567
原创 Android profiler : 呈现速度缓慢/卡顿
如果您无法在本地设备上重现卡顿,则可以在应用中内置自定义性能监控功能,以帮助识别现场设备上的卡顿来源。如需采用这种方法,请使用 FrameMetricsAggregator 从应用的特定部分收集帧呈现时间并使用 FFirebase Performance Monitoring 功能记录和分析数据。如需了解详情,请参阅结合使用 Firebase Performance Monitoring 功能和 Android Vitals。
2023-08-23 14:25:56
368
原创 Android profiler : ANR
如果 Android 应用的界面线程处于阻塞状态的时间过长,会触发“应用无响应”(ANR) 错误。如果应用位于前台,系统会向用户显示一个对话框,如图 1 所示。ANR 对话框会为用户提供强制退出应用的选项。图 1. 向用户显示的 ANR 对话框ANR 是一个问题,因为负责更新界面的应用主线程无法处理用户输入事件或绘制操作,这会引起用户的不满。如需详细了解应用的主线程,请参阅进程和线程。
2023-08-23 14:06:57
301
原创 Android profiler : memory
使用内存分析器查看应用的内存使用情况内存分析器是 Android Profiler 中的一个组件,可帮助您识别可能会导致应用卡顿、冻结甚至崩溃的内存泄漏和内存抖动。它显示一个应用内存使用量的实时图表,让您可以捕获堆转储、强制执行垃圾回收以及跟踪内存分配。
2023-08-23 13:54:49
257
原创 Android profiler : CPU(4) :通过对应用插桩生成轨迹日志
如需生成应用执行的方法跟踪,您可以使用 Debug 类进行应用插桩。通过这种方式检测您的应用,可让您更精确地控制设备何时开始和停止记录跟踪信息。此外,设备还能使用您指定的名称保存跟踪日志,便于您日后轻松识别各个日志文件。您随后可以使用 Android Studio 的 CPU 性能剖析器查看各个跟踪日志。此外,您还可以在 CPU 性能剖析器中开始和停止跟踪,无需对应用的代码进行插桩。在开始生成跟踪日志之前,请确保您的应用已添加逻辑,以将跟踪日志保存到应用专属目录中。
2023-08-23 12:03:29
94
原创 Android profiler : CPU(3) :检查界面卡顿
Android 通过从应用生成帧并将其显示在屏幕上来呈现界面。如果您的应用存在界面呈现缓慢的问题,系统会不得不跳过一些帧。发生这种情况时,用户会看到屏幕上不断闪烁,这种情况称为卡顿。出现卡顿通常是因为界面线程(在大多数应用中是主线程)上存在一些减速或阻塞异步调用。您可以利用系统轨迹找出问题所在。
2023-08-23 11:56:16
552
原创 Android profiler : CPU(2) :记录轨迹
如需使用 Debug API 控制 CPU 活动的记录,请将经过插桩的应用部署到搭载 Android 8.0(API 级别 26)或更高版本的设备上。:显示您选择的时间范围和线程/方法调用的跟踪数据。基于采样的跟踪存在一个固有的问题,那就是如果应用在捕获调用堆栈后进入一个方法并在下次捕获前退出该方法,性能分析器将不会记录该方法调用。重要提示:Debug API 应该与用于开始和停止 CPU 活动记录的其他方法(如 CPU 性能分析器图形界面中的按钮,以及记录配置中用于在应用启动时自动记录的设置)分开使用。
2023-08-23 11:41:18
225
原创 Android profiler : CPU(1) :显示应用的 CPU 性能分析器
CPU 性能分析器还会报告 Android Studio 和 Android 平台添加到应用进程的线程的 CPU 使用率,这些线程包括 JDWP、Profile Saver、Studio:VMStats、Studio:Perfa 和 Studio:Heartbeat 等(不过,它们在线程活动时间轴上显示的确切名称可能有所不同)。您可以使用 CPU 性能分析器在与应用交互时实时检查应用的 CPU 使用率和线程活动,也可以检查记录的方法轨迹、函数轨迹和系统轨迹的详情。图 1. CPU 性能分析器中的时间轴。
2023-08-23 11:31:32
253
android studio (as)主题theme
2018-10-08
android反编译工具
2018-06-04
httpClient4.5.3+Jsoup1.10.2
2018-02-23
httpclient-4.5.3完整jar包
2018-02-23
decp2 dbutils pool2 mysql
2016-11-15
android studio 安装插件gsonformat 出现timeout
2018-03-30
求解输出??并解析~谢谢。
2016-03-13
java问题~数字判断!~~~~~
2016-03-13
TA创建的收藏夹 TA关注的收藏夹
TA关注的人