- 博客(3197)
- 资源 (6)
- 收藏
- 关注
转载 Kotlin @IntDef 详解 注解 枚举
Kotlin的@IntDef注解是Android开发中用于创建类型安全整型常量组的工具,主要替代枚举类以优化内存。它通过编译时检查确保变量只能赋值为预定义的整数值,同时避免了枚举类的对象创建开销。基本用法包括定义常量组、添加注解限制参数类型,并支持位掩码组合值。虽然可读性不如枚举,但在性能敏感场景(如Android组件)中优势明显。需注意它仅提供编译时检查,运行时仍需手动验证非法值,且应配合SOURCE保留策略使用。@IntDef在保持类型安全的同时有效降低了内存占用,是Android性能优化的实用方案。
2025-07-09 14:31:39
5
转载 Kotlin 中@IntDef 与@StringDef 枚举 注解
Kotlin/Java中的@IntDef和@StringDef注解用于创建类型安全的常量组。@IntDef适用于整型常量(如状态码),内存占用小;@StringDef适用于字符串常量(如颜色名称),可读性更强。两者都需配合@Retention(SOURCE)使用,提供编译时检查但无运行时保障。选择依据:数字型用@IntDef,字符串型用@StringDef,复杂逻辑用枚举类。这些注解在Android开发中能平衡类型安全与性能。
2025-07-09 14:31:13
6
转载 ViewPager TabLayoutMediator 用法介绍
TabLayoutMediator 使用指南 TabLayoutMediator 是 Android Jetpack 提供的工具类,用于简化 TabLayout 和 ViewPager2 的联动绑定,实现标签页与页面滑动的同步效果。 核心功能: 自动同步:TabLayout 标签与 ViewPager2 页面滑动联动。 简化实现:无需手动监听,一行代码即可完成绑定。 使用步骤: 添加依赖:引入 Material Design 库。 布局配置:在 XML 中定义 TabLayout 和 ViewPager2。
2025-07-09 14:10:20
9
转载 自定义span绘制ReplacementSpan,背景 图形 图片
ReplacementSpan是Android用于自定义文本显示的抽象类,继承自CharacterStyle,可实现文本替换为图片、动态效果等。主要子类包括ImageSpan、BackgroundColorSpan等。自定义需实现getSize()测量尺寸和draw()绘制内容,示例演示了如何创建圆角背景文本。使用时需注意性能、尺寸一致性和兼容性问题,适用于实现复杂文本效果如图文混排和动态文字。
2025-07-08 18:28:08
8
转载 判断 RecyclerView 是否被用户滑动过
摘要:通过监听RecyclerView的滚动状态可以判断用户是否滑动过。主要方法包括记录初始位置、监听SCROLL_STATE_DRAGGING状态标记用户操作,以及比较当前与初始位置差异。实现时需注意布局管理器的适配,提供hasUserScrolled()和hasScrolledFromInitialPosition()两种判断方式,分别用于检测用户操作和位置变化。(150字)
2025-07-08 14:51:40
6
转载 RecyclerView 从下向上滚动
Android中实现RecyclerView从下向上滚动有三种方法:1) 设置LinearLayoutManager的reverseLayout为true,使内容从底部开始显示;2) 结合reverseLayout=false和stackFromEnd=true实现类似聊天界面的效果,新消息从底部进入;3) 自定义LayoutManager实现更复杂的布局效果。使用时需注意数据集顺序,可通过scrollToPosition或smoothScrollToPosition滚动到最新项。
2025-07-07 20:49:10
6
转载 腾讯云 sdk TXDeviceManager 示例
本文介绍了如何在Android平台上使用TXDeviceManager管理音视频设备。主要内容包括:1)初始化TRTCCloud实例获取设备管理器;2)摄像头参数设置与切换;3)麦克风和扬声器设备管理及音量调节;4)设备状态监听;5)资源释放注意事项。开发需添加TRTCSDK依赖和相关权限,并动态申请摄像头和录音权限。这些示例展示了设备管理的核心功能,可根据实际需求调整使用。
2025-07-02 11:52:47
15
转载 EditText 中 imeOptions 设置actionNext
Android开发中,EditText的imeOptions属性用于设置软键盘回车键的功能。该属性可自定义软键盘右下角按钮的文本/图标及其行为,包括跳转输入框、完成输入、搜索、发送等常用操作。可通过XML或代码设置,并需配合OnEditorActionListener监听点击事件。使用时需注意将singleLine设为true以确保属性生效。不同属性值对应不同功能场景,如actionDone用于完成输入,actionSearch用于搜索框等。
2025-07-02 10:40:25
23
转载 探索EditDrawableText:让EditText的Drawable可点击hint
EditDrawableText是一个Android开源库,扩展了EditText组件实现Drawable可点击功能。该库通过自定义View处理触摸事件,支持四个方向的Drawable点击回调,保留标准EditText所有属性。典型应用场景包括密码可见性切换、表单验证和动态交互界面。主要特点包括:完全兼容性、灵活配置和简单集成。使用只需添加依赖和在XML中声明组件,通过设置点击监听器处理Drawable点击事件。项目地址:https://gitcode.com/gh_mirrors/ed/EditDrawa
2025-07-01 16:08:11
10
转载 layout_constraintDimensionRatio设置ConstraintLayout 宽高比例
Android布局中的layout_constraintDimensionRatio属性用于设置视图宽高比,确保在不同屏幕尺寸下保持比例。基本用法为"宽:高"格式,可指定W(宽度)或H(高度)作为基准方向。使用时需将宽或高设为0dp(match_constraint),并配合其他约束条件。常见应用包括视频播放器(16:9)、图片展示和网格布局,实现响应式比例效果。注意避免双向约束冲突,可结合bias属性调整优先级。
2025-07-01 11:42:28
31
转载 继承基础控件 1.代替 selector 直接设置 xml 属性实现圆形,圆角,某一方向圆角 2.各个 state 状态背景/边框/文字变色
《RWidgetHelper:Android UI快速开发工具》摘要 RWidgetHelper是一个高效的Android UI开发库,通过继承原生控件并提供自定义属性,简化了常用样式设置。主要功能包括:一键实现圆角/圆形/单边圆角样式,支持各状态(默认/按下/不可用)的背景色、边框和文字变色,提供渐变背景和虚线边框等高级效果。相比传统方案,该库解决了代码冗余、复用性差的问题,通过XML属性或Java代码即可快速配置,如设置不同状态的背景色、边框宽度和圆角半径。特别支持渐变背景的多种类型(线性/径向/扫描式
2025-07-01 11:36:48
12
转载 判断 TabLayout 滚动到头,滚动到边缘
摘要:本文介绍了5种判断TabLayout是否滑动到头的方法:1)使用canScrollHorizontally()检测左右边界;2)监听滚动事件实时判断;3)与ViewPager2联动判断;4)自定义TabLayout实现精确控制;5)注意事项包括初始化时机、tabMode影响及性能优化。这些方法适用于需要处理TabLayout边缘交互的场景,如显示边缘提示或加载更多内容。
2025-07-01 11:36:36
10
转载 ViewBinding 在Adapter和include中的应用 和注意事项
ViewBinding 大大的减少了我们的工作量,也 避免了空指针和类型转化的错误。况且能支持include标签,不用在在类中定义各种View 然后在findViewByid了。直接定义好id直接拿来用。爽歪歪。赶快用在项目中吧。作者:丁大柚链接:https://juejin.cn/post/6989647841828274183来源:稀土掘金著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
2025-07-01 11:36:27
14
转载 自定义下拉刷新 smartrefreshlayout自定义header
本文介绍了SmartRefreshLayout框架的使用方法,这是一个强大的Android下拉刷新和上拉加载组件。主要内容包括:1) 导入多种刷新头和加载尾的依赖库;2) XML布局配置,支持自定义头部和底部样式;3) Activity中设置刷新和加载的监听事件;4) 丰富的属性设置,包括阻尼效果、动画时长、触发条件等;5) AndroidX环境配置说明。该框架扩展性强,提供多种预置样式和灵活的API,可轻松实现个性化刷新效果。
2025-07-01 11:36:08
11
转载 gradient 使用渐变
Android渐变背景使用指南:本文详细介绍了Android中创建渐变背景的三种方式(线性、径向、扫描)及具体实现方法。1)线性渐变(LinearGradient)通过angle参数控制方向,支持多色配置;2)径向渐变(RadialGradient)实现中心向外扩散效果,需设置半径;3)扫描渐变(SweepGradient)创建旋转式颜色过渡。文章还说明了如何组合圆角与渐变,并比较了不同类型的特点与适用场景,为开发者提供了XML配置和代码创建的完整解决方案。
2025-07-01 11:35:51
7
转载 onTouch与onClick冲突解决方法
本文介绍了解决Android中View同时设置onTouch和onClick事件冲突的方法。关键点在于正确处理MotionEvent的ACTION_DOWN、ACTION_MOVE和ACTION_UP事件:ACTION_DOWN时不能直接返回true以免屏蔽onClick;处理滑动(ACTION_MOVE)时需生成并发送ACTION_CANCEL事件来取消点击事件;ACTION_UP返回false允许后续事件处理。该方法通过MotionEvent.obtain()和recycle()机制正确处理事件分发,确
2025-06-25 17:55:24
23
转载 折叠屏应用适配:Jetpack WindowManager 3.0 深度实践
随着折叠屏手机兴起,Android应用如何适配成为开发者关注重点。本文探讨利用Jetpack WindowManager 3.0实现折叠屏适配的方法,包括解析折叠屏的折叠/展开两种状态特性,介绍WindowManager的窗口管理和屏幕尺寸监听功能,并提供具体适配策略与实践案例。文章强调开发者需根据屏幕状态调整布局,合理使用多窗口功能,才能为用户提供更好的折叠屏体验,推动Android应用生态发展。
2025-06-25 15:34:43
24
转载 折叠屏开发学习(二)---使用Jetpack WindowManager监听折叠屏开合状态
本文介绍了使用Jetpack WindowManager进行折叠屏适配的开发实践。通过WindowInfoTracker获取折叠屏状态并利用FoldingFeature判断设备姿态,实现了四种状态识别(横向/竖向半开、横向/竖向全展开)。文章详细讲解了项目依赖配置、布局设计和MVI架构下的状态更新流程,并指出在Android 12下存在的兼容性问题。最后预告了将使用MotionLayout实现不同布局效果的计划,并提供了源码地址。
2025-06-25 15:24:19
30
转载 自定义LayoutManager第十一式之飞龙在天
本文介绍了如何自定义RecyclerView的PathLayoutManager,实现沿路径布局Item的特效。文章从布局原理、回收机制等基础知识入手,详细讲解了PathLayoutManager的实现过程。通过Keyframes类获取路径坐标点及旋转角度,支持滑动、溢出模式、无限循环、动态缩放、自动选中等功能。关键点包括:分离/回收Item、根据路径百分比布局、处理滑动偏移量、优化回收策略等。最终效果是Item能沿任意路径排列并跟随手势滑动,同时保持流畅性能。该项目已开源在GitHub,适用于实现各种炫酷
2025-06-25 10:10:49
7
转载 RecyclerView 实现流式布局,自适应列数及高度
Android实现RecyclerView流式布局有两种方案:1)推荐使用Google的FlexboxLayoutManager,通过设置方向、换行和对齐方式即可快速实现;2)自定义FlowLayoutManager,需要重写onLayoutChildren方法手动计算布局位置。两种方式都能实现自动换行和高度自适应,FlexboxLayoutManager更简便,而自定义方案更灵活。性能优化方面可利用RecyclerView的回收机制处理大量数据。此外,对于更复杂的需求可以考虑StaggeredGridLa
2025-06-24 18:18:50
33
转载 glide实现高斯模糊,毛玻璃效果,加载图片
【Android图片处理技术总结】本文介绍了获取drawable/mipmap资源的方法,通过ResourceUtils工具类根据名称获取资源ID。重点展示了实现毛玻璃效果的代码:使用BitmapFactory解码图片后,用BitmapUtil进行模糊处理并设置为背景。同时提供了GlideUtils工具类,封装了Glide加载网络图片的功能,支持圆形/圆角裁剪、默认图设置及缓存策略。此外还展示了GlideTransformations库实现图片模糊和颜色滤镜效果的示例代码。最后提及了相关依赖库的引入方式。
2025-06-23 16:30:40
24
转载 BaseRecyclerViewAdapterHelper
BaseRecyclerViewAdapterHelper是一款强大的Android RecyclerView适配器库,能大幅简化开发工作。它支持多种实用功能:包括减少70%代码量、添加动画效果、分组显示、多种布局类型、拖拽排序、下拉刷新/上拉加载等。通过简单配置即可实现复杂的交互效果,如子控件点击监听、自定义加载动画、多Item类型管理等。开发者只需在Gradle中引入依赖,即可快速构建高效灵活的列表界面。该库不仅提供易用功能,还公开实现原理,帮助开发者深入理解RecyclerView工作机制。支持And
2025-06-23 13:49:26
13
转载 BaseQuickAdapter 中的 convertPayloads () 方法详解,局部刷新payload
摘要:BaseQuickAdapter的convertPayloads()方法可实现RecyclerView局部刷新,避免传统notifyDataSetChanged()全量刷新带来的性能损耗。该方法通过payload参数接收增量数据,开发者需重写该方法处理特定视图更新。典型使用场景包括消息状态变更、点赞数更新等。注意事项包括:payload设计应轻量化,保持convert()全量更新逻辑,确保视图状态一致性。合理使用该方法能显著提升列表性能,优化用户体验。
2025-06-21 18:40:04
17
转载 Cannot call this method while RecyclerView is computing a layout or scrolling androidx.viewpager2
摘要:分析RecyclerView/ViewPager2出现"Cannot call this method while RecyclerView is computing a layout or scrolling"错误的原因及解决方案。该错误在布局计算或滚动时调用敏感方法(如滚动、更新数据等)时触发。解决方法包括:1)使用post()延迟操作;2)监听滚动状态在空闲时执行;3)操作前检查RecyclerView状态;4)ViewPager2优先使用setCurrentItem()。建
2025-06-21 18:16:07
28
转载 Adapter 中获取 RecyclerView 实例的方法
Android开发中获取RecyclerView引用的四种方法:1)通过构造函数传入;2)在onAttachedToRecyclerView回调中获取;3)通过ViewHolder的itemView获取;4)通过Context转换获取。需注意内存泄漏、延迟初始化和线程安全等问题,建议在onDetachedFromRecyclerView中释放引用,避免强引用Activity/Fragment。各方法适用于不同场景,应根据需求选择合适方式。
2025-06-21 18:10:00
15
转载 recycleview跳转到指定位置scrollToPosition与scrollToPositionWithOffset的区别
recycleview跳转到指定位置scrollToPosition与scrollToPositionWithOffset的区别
2025-06-21 17:23:02
10
转载 ViewPager2中获取当前选中Item的View控件
和同事一起开发了一个自己的树洞App,由于功能需要,需要实现类似于知乎的上一条、下一条滑动的效果,首先想到的就是ViewPager,来实现垂直滑动,但是ViewPager默认是左右滑动的,如果用的话,需要对ViewPager进行重写(网上有很多方案,这里就不做说明了),来进行上下滑动,所以就想到了其他方法。比如RecyclerView也能够来实现,不过也需要对PagerSnapHelper进行操作。因为item里面需要用到刷新控件来实现上一条、下一条的效果,所以也就放弃了RecyclerView。
2025-06-21 09:47:14
23
转载 Textview文字设置不同颜色、下划线、加粗、超链接
本文介绍了两种在Android中实现文本多样式显示的方法。1. SpannableString:通过setSpan()方法设置不同文本样式(颜色、下划线、超链接等),支持多种Span类型如ForegroundColorSpan、UnderlineSpan等,并详细说明了参数用法。2. HTML方式:使用Html.fromHtml()解析HTML标签实现简单样式,如<font>设置颜色、<u>添加下划线。两种方法都能实现文本多样式,SpannableString功能更强大且效率更高,而HTML方式更简单易用。
2025-06-18 21:32:46
26
转载 应用中富文本处理:删除超链接下划线,设置字体粗体显示 Span ClickableSpan 粗体
首先,创建一个自定义的,在其中你可以设置文本的样式,比如粗体。@Override// 设置文本为粗体// 设置文本颜色等(如果需要)// 或者其他颜色// 如果你想移除下划线@Override// 处理点击事件。
2025-06-18 20:39:20
28
转载 TextView 文本展开收起
本文介绍了在Android中实现TextView文本展开/收起功能的方法。通过设置TextView的布局参数和OnPreDrawListener监听,判断文本是否超过4行。如果超过,则截取前4行并在末尾添加可点击的"展开"文本;点击后显示全文并添加"收起"选项。核心是利用TextPaint、Layout计算文本行数,并采用SpannableStringBuilder和ClickableSpan实现文本截断和点击交互。该方法适用于需要控制长文本显示的场景。
2025-06-18 19:53:32
27
转载 MotionLayout(二):MotionLayout是什么?MotionLayout调试技巧、KeyFrame关键帧等等
MotionLayout是Android Jetpack中继承自ConstraintLayout的高级布局容器,专门用于处理复杂的界面动画和交互效果。它通过MotionScene配置文件定义动画状态(ConstraintSet)、过渡规则(Transition)和关键帧(KeyFrame),支持手势触发、路径动画等高级功能。开发者可以创建折叠标题栏、多视图联动等流畅动画效果。调试时可使用showPaths属性可视化路径,注意确保constraintSetStart与初始布局一致。相比传统动画实现方式,Mot
2025-06-17 15:55:58
30
转载 MotionLayout入门级使用教程(一)
MotionLayout是ConstraintLayout 2.0引入的子类,专门用于实现复杂动画效果。它通过MotionScene文件定义动画状态(ConstraintSet)、过渡(Transition)和关键帧(KeyFrameSet)。主要特性包括:1)通过ConstraintSet描述动画起始/结束状态;2)使用Transition配置过渡时长和触发方式(OnClick/OnSwipe);3)支持自定义属性动画和路径效果。配置时需升级ConstraintLayout库至2.0+,并将XML根布局改
2025-06-17 15:37:57
27
转载 ViewPager2(一)
ViewPager2是Android Jetpack组件中用于页面滑动切换的控件,替代了旧版ViewPager。基于RecyclerView实现,支持横向/纵向滑动,性能更优。主要功能包括:1) 通过RecyclerView.Adapter配置页面内容;2) 支持Fragment切换;3) 提供PageTransformer实现自定义切换动画;4) 可监听页面滑动状态。使用需添加依赖com.androidx.viewpager2:viewpager2,布局文件需设置为match_parent。扩展功能包括修
2025-06-14 16:58:17
49
转载 利用Activity实现Dialog对话框
本文介绍了利用Activity替代Dialog的实现方案。通过固定尺寸布局(300dp×400dp)配合背景图实现对话框效果,在manifest中设置透明Dialog主题样式。关键点包括:1)布局使用预设背景图实现特殊效果;2)Activity继承自基础Activity类;3)通过windowNoTitle和透明背景配置实现对话框外观。该方法解决了Dialog内存泄漏问题,同时保留了灵活布局优势,适用于升级提示等交互场景。需要注意的是,此方案需美术配合提供背景资源,且主题必须继承Dialog样式。
2025-06-14 11:52:35
30
转载 开发 实现一个activity变成dialog对话框
本文介绍了将Activity实现为对话框的方法及其优势。利用Activity模式实现对话框可以扩展功能,如数据传递和生命周期管理,特别适用于头像设置等复用场景。具体步骤包括:1)在styles.xml定义对话框主题样式;2)在AndroidManifest.xml配置主题;3)创建Activity并设计布局;4)在代码中隐藏标题栏。通过这种方式可以实现更灵活的功能调用,文章还提供了完整的代码示例和预览图。
2025-06-14 11:48:49
34
转载 Dialog主题Activity实现自定义对话框效果
本文介绍了如何将Activity设置为Dialog主题实现对话框效果。通过修改AndroidManifest.xml中的theme属性为Theme.Dialog,并去除标题栏(requestWindowFeature),可以创建对话框式Activity。文章还展示了自定义XML布局的方法,包括添加背景图片和按钮。针对圆角对话框需求,提出了自定义style解决方案,通过设置透明背景、浮动窗口等属性实现更好的视觉效果。最后强调这种Dialog形式的Activity仍保留完整Activity功能,可以正常操作控件
2025-06-14 11:43:22
21
转载 android 最好用的工具
这篇文章详细介绍了Android开发中常用的工具类库com.blankj:utilcode的功能列表。该库包含100+实用工具类,覆盖了Activity管理、屏幕适配、App安装、缓存处理、加密解密、文件操作、网络状态、权限管理、UI控件等开发场景。主要功能模块包括:ActivityUtils - Activity生命周期管理AppUtils - App安装卸载等操作CacheUtils - 内存/磁盘缓存FileUtils - 文件读写操作NetworkUtils - 网络状态检测
2025-06-13 23:07:06
22
jdk-6u45-linux-x64.part1
2013-07-31
ormlite-4.48
2014-11-29
jdk-6u45-linux-x64.part2
2013-07-31
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人