- 博客(29)
- 收藏
- 关注
原创 Android 自定义View-圆圈扩散动画
项目需要定制一个图片,要求:View中央放置一张图片,有圆形动画从中央图片向四周扩散,圆形动画半径越大颜色越浅,中央图片/圆圈颜色/圆圈层数/间隔可以自定义。spreadColor - 设置扩散圆圈的颜色(示例中使用红色 #FF6B6B)circleInterval - 设置圆圈之间的间隔(示例中设置为80dp)centerImage - 设置中央显示的图片(示例中使用应用图标)toggleAnimation() - 切换动画状态(播放/暂停)maxAlpha - 设置最大透明度值(示例中设置为200)
2026-01-10 15:52:13
323
原创 Android基础-SwitchCompat自定义样式
如果你需要打造与众不同的开关外观,这就需要通过自定义 Drawable 来完全控制thumb(滑块)和track(滑道)的样式。以下是AndroidX原生SwitchCompat样式往往原生的样式无法满足UX设计,必须通过自定义xml文件以达到UX设计稿的效果创建一个选择器(selector)Drawable,为开关的不同状态指定不同的形状或颜色。然后分别创建开启和关闭状态下滑块的形状,例如一个圆形:-- 注意这里的宽高保持和SwitchCompat 的高度一致 -->
2025-12-25 17:17:26
343
原创 Android基础-Activity属性 android:configChanges
属性或在运行时请求的颜色模式不同于支持不同颜色模式的功能。更改所用颜色模式的 activity 不会导致配置更改,因为显示屏的颜色功能没有更改。该值表示与方向无关的尺寸变更,因此它只有在实际物理屏幕尺寸发生变更(如切换到外部显示器)时才会变化。该值表示目前可用尺寸相对于当前宽高比的变更,当用户在横向模式与纵向模式之间切换时,它便会发生变更。配置,因为当设备在纵向模式与横向模式之间切换时,屏幕布局和屏幕大小可能会发生变化。显示密度的更改,例如当用户指定不同的显示比例或其他屏幕当前处于活跃状态时。
2025-12-18 10:08:59
593
原创 RecyclerView item设置match_parent属性无法占满屏幕
却无法占满屏幕宽度,是 Android 开发中一个常见问题。问题的根源通常不在于 ConstraintLayout 本身,而在于。明显实际效果为wrap_content,检查半天无奈只能AI,以下两种方案都有效,记录下。时,系统无法为 ItemView 创建与父容器(RecyclerView)匹配的。这种方法我也试了下,确实也能解决问题,不过感觉太暴力了,还是推荐第一种方法。如果布局加载方式正确,问题可能出在。 的此类问题都源于此。,导致布局宽度设置失效。,这可能会覆盖你设置的。
2025-12-09 15:53:05
291
原创 Git-回退本地仓Amend提交
今天手快误点amen commit提交了,还好没有推送到远程仓,正好复习下如何回退提交。git add和git commit要回退本地的操作,可以使用git reflog配合git reset命令。
2025-11-11 10:37:40
344
原创 Git-新建分支并推送远程仓
参数首次推送,可能会遇到"fatal: The current branch has no upstream branch"错误,此时需要按照提示使用git push --set-upstream origin <分支名>)用于建立本地分支与远程分支的跟踪关系,建立关联后,后续在该分支上的推送可以直接使用。同时在远程仓库页面(如GitHub/GitLab)的分支列表中确认新分支是否存在。命令,无需再指定远程分支。
2025-11-08 10:21:50
396
原创 语音类AI应用术语
基于海量文本数据训练的、拥有巨大参数规模(通常是数十亿甚至万亿以上)的深度学习模型,理解和生成人类语言,并能够完成各种复杂的语言任务。人工智能的一个子领域,关注计算机与人类(自然)语言之间的交互,尤其是如何让计算机处理、理解和生成人类语言。LLM(大语言模型)是其子集。一种用于检测音频信号中是否存在人语音的技术,区分“有语音”和“无语音”(静音或噪声)的片段。:一个模型可以通过“提示”完成翻译、写作、编程、问答等众多任务,而无需为每个任务专门训练。:搜索引擎、垃圾邮件过滤、智能客服、机器翻译、情感分析等。
2025-11-03 15:20:28
725
原创 Android DataBinding数据绑定动态更新
摘要:BR类是Android DataBinding框架自动生成的辅助类,用于实现数据变量与UI的绑定。它提供静态引用标识(如BR.name),避免硬编码字符串,并支持动态更新:1)通过@Bindable注解和notifyPropertyChanged()触发更新;2)使用ObservableField自动同步数据;3)集合类型通过ObservableArrayList/Map实现自动刷新。原理上,DataBinding在编译时生成绑定代码,注册观察者监听数据变化,当数据变更时自动更新对应控件,确保UI与数
2025-10-15 16:10:15
316
原创 Android官方音频应用概览
当 Activity 构造 MediaBrowserCompat 时,必须创建 ConnectionCallback 的实例,重写其方法以从 MediaBrowserService 检索媒体会话令牌,并使用该令牌创建 MediaControllerCompat。使用便捷方法以保存指向控制器的链接。以便处理媒体按钮。它还允许您调用,用于在构建传输控件时检索控制器。以下代码示例演示了如何修改token。
2025-09-28 16:37:43
665
4
原创 显示器EDID
EDID是可扩展显示标识数据的缩写。您可以把它想象成显示器的一张“身份证”。内容制造商、型号、序列号支持的分辨率(如 1920x1080, 2560x1440, 3840x2160)支持的刷新率(如 60Hz, 120Hz, 144Hz)支持的色彩格式(如 RGB, YCbCr 4:4:4, YCbCr 4:2:2)色彩空间(如 sRGB, DCI-P3)时序信息(详细描述每个分辨率/刷新率组合的具体信号参数)工作方式。
2025-09-16 16:01:05
1925
原创 adb命令-top进程内存监控
top命令提供了实时的对系统处理器的状态监视,将显示系统中CPU最“敏感”的任务列表,可以根据CPU使用、内存使用和执行时间对任务进行排序。
2025-07-22 14:05:15
423
原创 研发实录-还原C盘后D盘代码仓无法Fetch
Windows还原C盘后,重新配置Git SSH Key后,android Studio重新打开Git的代码仓分支全没了,fetch/pull操作都会失败,这时候要重新。这个问题是由于Git仓库目录的所有权与当前用户不匹配导致的安全限制。Git 2.35+版本引入了。,注意要精确到项目.git文件所在目录。配置项,防止潜在恶意代码执行。
2025-07-10 18:40:51
166
原创 android Gradle-签名配置
在Android项目中,如果你想要在你的(Kotlin DSL)文件中配置签名配置(),你可以按照以下步骤操作。签名配置是必需的,如果你打算将你的应用发布到Google Play或者其他平台,你需要对你的APK或AAB文件进行签名。
2025-07-07 13:47:01
805
原创 Android基础-hardwareAccelerated属性
是指Android系统中的硬件加速功能,它通过利用设备的图形处理器(GPU)来加速绘图操作,从而提高应用的性能和动画效果。硬件加速可以显著提升应用的流畅度和响应速度,尤其是在处理复杂的图形和动画时效果更为明显。
2025-05-28 20:21:07
68
原创 Android应用开发基础-禁用横竖屏
此配置可使屏幕旋转时不触发Activity生命周期重启,适用于需要保持界面状态的场景。默认情况下屏幕旋转会导致Activity重建,可通过在Manifest中配置。通过此配置可强制Activity仅以指定方向显示,且不会触发自动旋转。中对目标Activity配置。在Activity的。
2025-05-23 10:02:02
160
原创 Android接入腾讯机器翻译(TMT)
机器翻译 文本翻译_腾讯云我选择放弃,直接deepseek走起,搜索:"android接入腾讯机器翻译"-"使用OkHttp接入"-接着调试一堆错误(我选择放弃)- "这个接入太复杂了 能不能用sdk接入",看到胜利曙光直接sdk走起。
2025-05-22 19:46:59
945
原创 智能手表计步原理(AI生成)
智能手表的计步功能是硬件传感器+算法优化的综合结果,虽无法达到100%精准,但通过多传感器融合和机器学习不断优化,已能满足日常运动的监测需求。用户可通过定期校准、正确佩戴(如避免过松)以及结合其他数据(如GPS)来提高准确性。
2025-03-29 22:06:40
1373
原创 Gradle基础扫盲
定制或本地插件是在特定的项目或组织中开发和使用的。这些插件不是公开共享的,而是根据项目或组织的特定需求定制的。本地插件可以封装公共构建逻辑,提供与内部系统或工具的集成,或者将复杂的功能抽象为可重用的组件。Gradle为用户提供了使用api开发自定义插件的能力。要创建自己的插件,通常需要遵循以下步骤:创建一个新类并实现接口doLast {")plugins {应用插件:当想要使用插件时,请在构建文件的plugins{}块中包含插件ID和版本。plugins {
2025-03-20 13:03:49
1203
原创 Android 图片压缩
是Android中一种重要的图片处理机制,可以用来获取图片的相关信息,同时可以对图片进行裁剪、放缩等操作,也可以指定格式进行保存。Android开发中加载大图片或者数量较多的图片是导致OOM)的主要原因,所以实际的开发中,作为一个有点东西但不多的开发者,必须有意识的对大图进行压缩,以保证App的正常运行和性能稳定。每个机型在编译ROM时都设置了一个应用堆内存VM值上限dalvik.vm.heapgrowthlimit,用来限定每个应用可用的最大内存,超出这个最大值将会报OOM。
2025-03-14 00:30:05
2015
原创 华为Mate20X展示整机图片存储权限问题
测试的手机型号是Mate 20X Harmony OS 3.0 API 29,按理可以通过以下直接通过MediaStore直接获取图片信息,load()函数会报错open failed: EACCES (Permission denied),访问权限受限,幺蛾子真的多。使用Glide将图片展示到Recyclerview过程中,如果使用从MediaStore查询到的Path传参给Glide.权限,android 10(API 29)以后引入分区存储,可以直接访问公共媒体文件。
2025-03-10 12:47:00
338
转载 网页音频文件下载(作弊)
最近开发需要用到一些音效文件,网上找了一堆网站,都需要充钱。私密吗塞,我是白嫖党,只能作弊了。这招超级简单,啥工具都不用。只要在网页上播放音乐,然后在页面空白处点右键,选“审查元素”或“检查”(或者打开网页开发者人员工具)。
2025-03-05 22:19:01
1645
原创 LeetCode 第30题:串联所有单词的子串
例如,如果 words = ["ab","cd","ef"], 那么 "abcdef", "abefcd","cdabef", "cdefab","efabcd", 和 "efcdab" 都是串联子串。返回所有串联字串在 s 中的开始索引。这时候再优化下就有如下算法,改进的思路为创建一个temp临时List,将words的子串全部读入,若smallString属于temp列表,直接去掉、再count++,就能保证smallString和words中的子串一一对应,此时count计数是准确的。
2023-03-21 15:05:13
652
1
转载 Android 开发架构-MVC MVP MVVM详解
这篇文章我们讲了是什么是架构和三种架构模式MVC、MVP、MVVM的架构思想,最后再讲了三种架构的区别与选择。相信通过这篇文章读者可能对这三种架构有了一定的认识。一个完美的架构模式是一个架构师一生的追求,在使用的时候我们可以多多思考这些架构模式的本质以及背景,想想架构师为什么这么设计,可以帮我们更好地理解架构。全文到此为止。笔者才疏学浅,有不同观点欢迎评论区或私信讨论。如需转载私信告知即可。另外欢迎阅读笔者的个人博客一只修仙的猿的个人博客,更精美的UI,拥有更好的阅读体验。
2023-03-10 22:43:17
3047
原创 解决华硕笔记本重装win10无背景灯快捷键问题
解决华硕笔记本重装win10无背景灯快捷键问题之前笔记本从Linux平台重装回windows10,但是发现背景灯快捷键没有了。某乎说是缺少华硕官方的驱动,重新去华硕官网下载了重装问题解决。型号:U4000UQ网址:https://www.asus.com.cn/support/Download-Center/输入设备型号,找到如图所示ATK,下载解压缩,setup安装,重启解决华硕ATK快捷键驱动程序fn+f3快捷键背景灯效果...
2021-01-10 16:10:00
553
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅