- 博客(25)
- 收藏
- 关注
原创 在Adapter中EditText监听文本变化时,TextWatcher被多次重复调用且监听值错误的问题处理
【代码】在Adapter中EditText监听文本变化时,TextWatcher被多次重复调用且监听值错误的问题处理。
2025-04-07 14:06:54
107
原创 Android中RecycleView自定义网格分割线ItemDecoration
【代码】Android中RecycleView自定义网格分割线ItemDecoration。
2025-03-18 14:49:18
192
原创 Android开发利用Three.js和WebView实现3D模型渲染
在assets中放置4个文件,three.min.js(核心库)、GLTFLoader.js(根据自己的模型文件类型选择)、OrbitControls.js(手势控制,放缩旋转之类)、index.html。js库也可以通过cdn引入,那样会更加精简,但是这里必须使用133版本,否则有些代码不兼容。而Three.js+原生WebView就完美解决了上述痛点,一是不需要依赖第三方库没有版本兼容问题,二是只需要引入少量js文件、一个html文件、极少量java代码,apk大小只增加了750k。
2025-01-06 15:49:33
608
原创 Android不依赖okhttp处理SSE流式接口(如AI逐句回复)
/line就是每行的数据了,也就是“逐句”//4.设置Content-Type。//12.关闭输入流。//9.写入参数(json格式)参考别的前辈的代码,忘记在哪里看的了。//6.设置DoOutput。//7.设置DoInput。//5.设置Accept。//2.打开URL连接。//3.设置请求方式。//10.获取输入流。
2024-11-28 09:14:46
479
原创 (个人笔记)实现AI对话窗口,软键盘弹起输入框布局,对话列表上移
if (keypadHeight > screenHeight * 0.15) { // 一般认为键盘占屏幕高度的 15% 以上。//至少有一个不可见了再滑,不然滑动会抽搐。//这里的偏移量,确保滑到底。//先滑到最后一个,但是不一定是滑到底的。// 当键盘高度大于一定值时,说明键盘是可见的。//最后一个可见的item。// 获取 rootView,一般是最外层的布局。// 获取当前窗口可见区域。// 计算出软键盘的高度。// 添加全局布局监听器。
2024-11-28 09:05:42
447
转载 android根据字符串计算宽高(转)
1.计算宽度mPaint.measureText(mProgess);2.计算高度FontMetricsfontMetrics=mPaint.getFontMetrics();mTxtHeight=(计算y值时,一般是baseY + mTxtHeight - 5(5大概剧中)3. canvas drawText 的x,y值。y是使用的baseline。
2023-11-10 08:09:24
228
原创 使用IDEA打包springboot项目成jar包运行失败?改用maven打包(包含引入本地jar包)
1、打开pom.xml,添加本地jar包依赖,使作用域scope为system。2、在本文第一个代码段中新增一行语句, 使system作用域生效。2、进入项目根目录,执行:mvn clean package。3、查看target目录,发现jar包。3、重复之前的打包操作即可。
2022-10-05 16:30:12
2055
1
原创 Spring项目在tomcat启动时调用action
1、实现ServletContextListener接口,添加@WebListener注解。2、按照示例写代码:
2022-06-23 10:53:31
259
1
原创 vue移动端实现折叠/展开列表支持内部滚动
html:<div class="fold" :class="[flag?'open':'close']"> <div v-for="(item,index) in list" :key="index"> ... </div></div>css:.fold{ overflow:hidden; transition:max-he...
2021-08-09 17:22:04
796
1
原创 vue中使用better-scroll经验总结
1.最外层div样式通过“position:fixed;width:100%(固定宽度,用于内容中有横向滚动);height:100%(固定高度,用于内容中有纵向滚动)”。2.如果是横向滚动,wrapper容器中内容content的样式应添加“position:absolute”。3.横向或者纵向都可以使用flex布局方便地渲染。4.在mouted()方法中利用this.$nextTick(()=>{BScroll初始化代码})实现组件渲染完成后初始化滚动,避免宽度或者高度计算
2021-03-08 17:42:11
92
原创 css样式设置高度自适应容器剩余空间并支持滚动(类似于android中match)
style="position:absolute;height:100%"
2021-01-13 11:10:13
649
原创 Java的socket编程中用到的10进制转16进制字符串(不带0x前缀)常用方法
1、不需要补0:String hex= Integer.toHexString(numb);2、需要补0:String hex= String.format("%02x",numb);//0代表补0,2代表2位,x代表16进制整型
2020-06-08 14:38:11
539
原创 OkSocket使用注意事项
作为server时,不要轻易使用client.getHostName(),因为如果没有正确获取到hostName可能会导致socket读写流报错。
2020-06-05 13:07:44
1430
原创 java中基本数据格式转无符号数
利用Java位运算符,完成Unsigned转换。 正常情况下,Java提供的数据类型是有符号signed类型的,可以通过位运算的方式得到它们相对应的无符号值,参见几个方法中的代码:public int getUnsignedByte (byte data){ //将data字节型数据转换为0~255 (0xFF 即BYTE)。 return data&0x0FF;}public int getUnsignedByte (short data){ //将da
2020-06-02 18:20:35
471
1
原创 Vue 在默认方法参数上增加自定义参数
html:<popup-picker @on-change="myChange($event,something)"></popup-picker>js:methods:{ myChange(val,something){}}
2020-03-07 11:02:12
7085
1
原创 H5开发中垂直滚动样式(顶部固定标题栏),仿Android的ScrollView
css代码:.scrollview {height:auto;width:100%;overflow-y:auto;position:fixed;top:45px;//header的高度bottom:0}html用法:<div class="header"></div><div class...
2020-03-04 14:32:05
293
1
转载 (转)在VS CODE中编辑VUE项目断点调试
设置 Chrome 远程调试端口首先我们需要在远程调试打开的状态下启动 Chrome, 这样 VS Code 才能 attach 到 Chrome 上:Windows右键点击 Chrome 的快捷方式图标,选择属性 在目标一栏,最后加上--remote-debugging-port=9222注意要用空格隔开macOS 打开控制台执行: /Applications/Go...
2019-03-05 15:48:30
1664
原创 Gradle插件离线配置
maven { url uri('C:\Program Files\Android\Android Studio\gradle\m2repository') }
2019-01-02 16:12:37
105
原创 Android Notification弹出多条通知PendingIntent点击事件被覆盖问题
需要把红字部分统一,从而分别对应不同响应事件PendingIntent pendingIntent = PendingIntent .getBroadcast(context, fromNotificationType, intent, PendingIntent.FLAG_UPDATE_CURRENT);...
2018-12-04 10:40:59
98
原创 Android中关于权限设置的一个不容易发现的bug
在开发过程中,发现了一个bug:明明授予了读写权限,实际日志反馈的情况的是权限无效?经过了一系列的排查,原来是引用的一个老旧的第三方库(module)中重复声明的读写权限被设置了这个属性android:maxSdkVersion="18"所以我在SDK大于18的手机(目前大部分手机都是5.0+了)测试时始终报错。去掉该属性即可。...
2018-09-07 14:34:09
416
原创 Android针对MIME类型调起本应用打开文件的activity
<intent-filter> <data android:scheme="content" /> <data android:mimeType="video/*"/> <action android:name="android.intent.action.VIEW"/> <category
2018-06-29 10:30:16
62
1
v133:three.min.js+GLTFLoader.js+OrbitControls.js
2025-01-06
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人