- 博客(211)
- 资源 (16)
- 收藏
- 关注
原创 Android RecyclerView展示List<View> Adapter的数据源使用View
文章介绍了三种在RecyclerView中使用View作为数据源的方法:1)通过FrameLayout动态添加View;2)在XML布局中预定义容器后添加View;3)使用viewType直接返回View。其中方式三存在刷新问题,建议谨慎使用。文章还指出非必要时应优先考虑ScrollView+LinearLayout的方案。所有方法都需注意处理View的父容器和复用问题,避免出现IllegalStateException异常。
2025-09-15 15:08:14
542
原创 RemoteViews设置setImageViewResource后会RemoteViews$ActionException异常解决
RemoteViews使用ImageView时出现ActionException异常,原因是AppCompatActivity会将布局中的ImageView自动转换为AppCompatImageView,而后者在高版本中移除了对RemoteViews的支持注解@RemotableViewMethod。解决方法包括:1)改用FragmentActivity替代AppCompatActivity;2)确保布局中使用标准ImageView。
2025-09-09 17:53:28
361
原创 Android 文件下载 FileDownloader
摘要:本文提供了两个Android文件下载工具类实现。HttpURLConnection工具类支持同步/异步下载,包含进度监听、超时设置、自定义请求头等功能,使用线程池管理下载任务。OkHttp工具类采用单例模式实现,支持断点续传、进度回调,内部使用OkHttpClient处理网络请求。两个工具类都提供了完整的下载流程管理,包括文件保存、错误处理和进度更新,适用于不同网络框架下的文件下载需求,代码结构清晰,可扩展性强。
2025-09-01 13:51:30
292
原创 Android 删除aar中的一个类 aar包冲突 aar类冲突 删除aar中的一个包
Android aar有类冲突;使用 exclude 排除本地aar无效;所以要删除其中一个aar中导致冲突的包或类;
2025-03-26 16:31:00
716
原创 Android 自定义Switch开关 滑块开关
Android自定义Switch开关:1. 宽度计算规则为"滑块宽度×2+预留间隙=轨道宽度";2. 需确保滑块在开关两种状态下都能完整显示;3. 示例代码展示了圆形滑块和矩形滑块的两种实现方式,包括XML定义和状态监听;4. 特别处理了滑块形状、轨道背景和边距等样式属性;5. 提供了不同形态开关的完整实现方案,包含选择器、形状和尺寸定义。开发时需注意滑块与轨道的尺寸比例关系。
2025-03-11 16:43:12
593
原创 MAC AndroidStudio模拟器无网络
模拟器端修改Wifi设置:设置 - 网络和互联网 - WALN设置 按照上图修改;先确认PC端是正常访问网络的;
2025-01-14 17:27:25
1993
原创 Android ViewPager2中的Webview点击导致翻页
ViewPager2一屏3页的效果,未选中的页面是WebView点击也会导致ViewPager2翻页,而且没有回调ViewPager2的 onPageSelected 监听;原因是WebView点击之后获取到了焦点,导致ViewPager2自动翻页的(ViewPager2本身就是RecyclerView);
2025-01-13 18:01:43
399
原创 Failed to find provider info for xxx.contentprovider
Failed to find provider info for1、两个应用的包名不能相同;2、manifest中增加访问其他APP的声明
2024-12-31 18:07:37
541
原创 git 常用命令笔记
撤销commit到未提交状态,并还原当前已修改的文件。# 将当前分支push到远程master分支。# 克隆远程仓库指定分支到当前目录。# 撤销commit到未提交状态。# 在当前目录初始化git仓库。# 克隆远程仓库到当前目录。# 将暂存区文件提交到本地。# 添加所有文件到暂存区。# 添加指定文件到暂存区。
2024-12-10 15:47:55
280
原创 adb 常用命令笔记
adb shell am start -n com.example.package/com.example.package.MainActivity #启动app。adb shell am force-stop #结束app。adb disconnect #断开连接指定ip。adb -s install #指定设备安装。adb install #安装apk。adb connect #连接指定ip。
2024-12-10 15:04:21
872
原创 The ‘.git/hooks/pre-push‘ hook was ignored because it‘s not set as executable.
Mac上使用Git提交代码提示:解决方案:执行:
2024-12-09 14:07:54
688
原创 Android 圆形进度条CircleProgressView 基础版
一个最基础的自定义View 圆形进度条,可设置背景色、进度条颜色(渐变色)下载进度控制;
2024-10-28 16:13:16
549
原创 Android 下载进度条HorizontalProgressView 基础版
一个最基础的自定义View 水平横向进度条,只有圆角、下载进度控制;
2024-10-28 14:38:14
497
原创 Android SeekBar设置指示器标签,使用PopupWindow的方式
按下时弹出popupwindow,进度条更新时刷新pw,松开时关闭pw;给Android 原生的SeekBar控件添加一个指示器标签;
2024-07-03 16:33:21
588
2
原创 Android 可拖拽的View,限制在父布局中随意拖拽;拖拽结束后可左右吸边;
可随意拖动拖拽的View,限制拖动范围是父布局中;可以左右吸边的效果;ViewDragHelper
2024-06-07 15:01:07
1234
原创 Android Fragment重叠,车机Fragment重叠 换肤或后台重启后重叠问题;
该车机在切换到后台后会回调 onSaveInstanceState 方法,再次打开时没有走onCreate方法,所以在onSaveInstanceState方法中把当前显示的fragment删除后,从后台切换回来就是空白页了;这样在Activity重启后会判断之前保存的是否有Fragment,有的话就把之前的隐藏就可以了;车机在换肤后(切换黑夜和白天模式)会回调 onSaveInstanceState 和 onCreate 方法,所以就从onCreate方法下手,下面是代码。
2024-06-03 10:40:32
784
原创 Flutter Slider自定义滑块样式 Slider的label标签框常显示
Flutter Slider自定义滑块样式 Slider的label标签框常显示和自定义样式;
2024-02-21 13:45:13
2596
原创 Flutter 底部列表抽屉,三阶滑动 , 支持列表Sliver布局
底部列表抽屉,三阶滑动,支持列表Sliver布局,Head布局可以触发抽屉滑动, 内部的Sliver布局也可以触发抽屉滑动;抽屉在最大高度时,Sliver布局可以滑动,其他高度会触发抽屉滑动;
2023-06-06 15:54:13
1415
原创 Flutter 底部抽屉,三阶滑动;
Flutter 底部抽屉,三阶滑动,但不跟随手指滑动、效果一般;Head布局可以触发抽屉滑动, 内部的Sliver布局单独滑动;
2023-06-02 16:43:14
1047
原创 Flutter 车牌号键盘和输入框底部弹框
Flutter版的车牌号输入键盘和输入框,样式和12123类似 ,支持键盘和输入框分开使用;都是使用Widget组装,然后处理一下逻辑;
2023-02-15 17:21:24
1740
1
原创 unable to access ‘https://github.com/***/‘: HTTP/2 stream 1 was not closed cleanly before end
当前git的网络协议和github要求的不一致; gitconfig中添加了http/1.1的协议,再提交试试;
2023-02-10 15:37:29
2272
1
原创 Android集成FlutterModule
Android项目集成FlutterModule;Android项目和Flutter项目在同一个文件夹;
2022-11-08 17:30:38
1184
1
原创 AndroidStudio连接不到真机,提示驱动更新失败;
AndroidStudio连接手机不显示首先、先排除这几个问题:1、手机的数据线有问题,只能充电不支持数据传输的;2、手机的开发者模式没有开启、或没有开启USB调试;如果上述两点都没有问题的话,看下面;确定AS有Driver:电脑驱动更新失败,或电脑驱动有问题,电脑右下角有提示失败信息;更新电脑驱动:右击 我的电脑 或计算机打开设备管理器:若是这样的就继...
2022-08-24 17:08:42
882
原创 Android JTT808协议通讯
先来了解一下基础的数据类型:bit : bit就是位,二进制数据类型,取值只有0或1 ;byte : 1 byte = 8 bit ;取值范围: -127 ~ 128 ;1、JTT808基本数据类型:个人理解:WORD = 长度是2的byte数组 、 DWORD = 长度是4的byte数组 、 byte[n] = 长度是n的byte数组,其它不解释了;2、消息结构每条消...
2022-06-01 18:50:25
1423
原创 Flutter 物流状态、时间轴页面效果实现,IntrinsicHeight控件;
效果如上图;布局分为左右两部分,左边的线和点 , 右边的物流文本信息; 左控件的高度根据右控件的高度而定,右边的高度不是固定的,是Text文本信息的高度;这个时候就要引出IntrinsicHeight 控件IntrinsicHeight 控件介绍:根据内部子控件高度来调整高度,它将其子widget的高度调整其本身实际的高度:将其子控件调整为该子控件的固有高度,举个例子来说,Row中有3个子控件,其中只有一个有高度,默认情况下剩余2个控件...
2022-03-11 13:42:50
3919
原创 Window批量修改文件名
需要一个图片组用于帧动画;1、全选需要修改的文件 , 在第一个文件处右击选择重命名,修改后是这样的;这样整体的文件名已经修改,然后需要去除空格和括号;2、把这两个bat文件放在需要重命名的文件夹下 , 双击运行;去空格bat:@echo off&setlocal enabledelayedexpansionfor /f "delims=" %%i in ('dir /s/b *.*') do ( set "foo=%%~nxi" set foo..
2021-11-06 17:02:01
2958
5
原创 Flutter 在forEach中使用async/await同步执行的问题;
在forEach中使用async/await的问题;一个图片数组逐个上传到网络,请求结果需要等待每个异步回调后进行操作,代码如下: _imageDatas.forEach((element) async { print("file: ${_image.imageFile?.path??""}"); var result = await RecommendNet().uploadPicture(element.imageFile?.path??"");
2021-09-01 13:52:12
2514
原创 Android 自定义字体 使用字体库 修改字体
1、使用Typeface属性或自定义View修改字体 字体文件放在src\main\assets\fonts目录下;可以使用方法直接修改字体:tv.setTypeface(Typeface.createFromAsset(this.getAssets(), "fonts/ziti70.ttf"));也可以自定义View设置自定义字体:public class Font70TextView extends AppCompatTextView { public Font7..
2021-08-03 14:54:04
2178
原创 Flutter showModalBottomSheet被软键盘遮挡,Dialog在软键盘上面;
showModalBottomSheet弹出的底部Dialog难免会有输入框,在输入时 软键盘会遮盖住Dialog;解决方法:让showModalBottomSheet弹出的Dialog在软键盘之上;1、给 showModalBottomSheet 设置isScrollControlled: true ;设置后Dialog会全屏、然后在用 SizedBox 限制弹框宽高;2、showModalBottomSheet 的 Widget最外层使用AnimatedPadding,让软键盘弹出后 布局.
2021-05-14 17:25:03
3341
原创 Flutter和原生Android交互
1、Flutter主动调用AndroidFlutter端:一个点击事件。触发了一个方法; IconButton( icon: Icon(Icons.sentiment_satisfied_alt_sharp), onPressed: _jumpToNativeWithParams, )开始调用Android中的方法: static const toAndroidPlugin = const Method
2021-04-16 16:09:09
1242
1
原创 Android 集成Flutter AAR
1、根据Flutter AAR打包提示进行集成:1. Open <host>\app\build.gradle 2. Ensure you have the repositories configured, otherwise add them: String storageUrl = System.env.FLUTTER_STORAGE_BASE_URL ?: "https://storage.googleapis.com" repositories {...
2021-04-16 10:51:46
937
原创 Flutter打包aar异常,Task ‘assembleAarDebug‘ not found in root project
Flutter无法打包AAR,Task 'assembleAarDebug' not found in root project 'android_generated'. Some candidates are: 'assembleDebug'.异常如下:Flutter的Module , 在Build的Flutter、Build AAR 一直报错;FAILURE: Build failed with an exception.* What went wrong:Task 'a
2021-04-15 15:46:46
3770
2
AMap_Location.txt
2020-04-02
最简单实用的BaseRecyclerViewAdapter
2018-05-03
ArcSelectList.zip
2020-05-28
Android仿淘宝头条滚动广告条 ViewFlipper
2018-03-15
Fragment使用show和hine切换,避免Activity回收后Fragment重叠问题;
2018-03-27
Android图片浏览查看大图功能,特别简单拿来就能用;
2018-02-27
完美解决Listview嵌套Checkbox滑动后位置错乱问题,和checkbox的全选或全不选。
2016-10-14
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅