
android应用层学习
应用层常用技术以及经验总结
LingoA
手握日月摘星辰,归来仍是打工人
展开
-
动态设置布局位置方法
业务场景是左右布局的切换以及左右布局可以拉伸调整大小的占比,使用方法二遇到的问题是拉伸时都是往一个方向拉宽的,导致布局会超出屏幕范围,使用方法一可以使控件在不靠屏幕的一边拉伸。1,使用布局相对位置来设置,自己可以选择加上margin等属性条件,注意使用时要先清除之前的约束条件。2,通过动画移位来实现。原创 2024-08-30 10:47:17 · 334 阅读 · 0 评论 -
android解决ViewPager嵌套导致的滑动冲突问题
问题描述,需求是子viewpager滑动到极限之后使父viewpager进行滑动,目前的问题是子viewpager滑动到极限之后父viewpager无法滑动。解决方法是在父类中进行拦截,当子view是viewpager时进行判断处理不让子view滑动。原创 2024-05-27 10:45:46 · 356 阅读 · 0 评论 -
android切换白天黑夜布局消失以及viewpager问题
则更适合于页面数量较多且对内存使用有较高要求的场景。在选择使用哪种Adapter时,应根据具体的应用需求和预期的性能影响来决定。切换白天黑夜会调用onConfigurationChanged,然后需要重新刷新布局才能生效。再往上发现是切换fragment的viewpager导致的fragment不重走什么周期。原因是因为fragment没有重走生命周期去刷新布局。适合于页面切换频繁且数据需要持久保存的场景,而。问题是切换之后fragment布局消失了。原创 2024-06-19 11:41:44 · 724 阅读 · 0 评论 -
viewpager在setCurrentItem时取消切换效果快速进行页面切换
此时应该使用mViewPager.setCurrentItem(page,false);把smoothScorll设置为false,官方解释是设置为false时快速切换到该页面。此方法进行跳转时会有滑动切换的效果,从其他应用切换到指定页面甚至会形成闪烁效果,所以我们要取消页面切换的效果,点击按键拉起应用后直接出现指定的页面,提高了用户的体验效果。一般我们是用的mViewPager.setCurrentItem(page)进行页面切换。原创 2024-06-27 18:22:39 · 266 阅读 · 0 评论 -
android修改状态栏颜色
View.SYSTEM_UI_FLAG_LIGHT_STATUS_BAR(深色图标)View.SYSTEM_UI_FLAG_VISIBLE(白色图标)-- 状态栏浅色模式(即图标深色) -->原创 2024-05-27 10:39:39 · 1212 阅读 · 0 评论 -
设计一个旋转thumb
【代码】设计一个旋转thumb。原创 2024-03-22 15:24:58 · 194 阅读 · 0 评论 -
java.lang.NullPointerException: Can‘t toast on a thread that has not called Looper.prepare()
Can't toast on a thread转载 2022-06-12 22:53:27 · 3677 阅读 · 2 评论 -
recyclerView不显示滑动条的几种原因
2.包含recyclerview的布局中设置了背景,导致背景盖住了滑动条,可以把背景拉出来单独设置一个view。1.宽度设置成了match_parent, 可以改成具体的dp大小。3.父布局小了,调大一点。原创 2023-06-02 17:10:57 · 1150 阅读 · 0 评论 -
RecyclerView数据不更新,以及无法改变宽高
调用notifyDataSetChanged出现ListView不刷新问题根源在于mList指向了其他内存空间,而不是修改了原指向内存空间内容。错误做法是直接把list对象替换:(list = mlist)2.某个item被初始化之后宽高被固定。再贴一个adapter模板。上面的做法就会出问题。原创 2023-05-31 17:08:35 · 465 阅读 · 0 评论 -
android13配置GlobalSearch全局搜索
searchable.xml配置(GlobalSearchAppTest/app/src/main/res/xml/searchable.xml)原创 2023-05-29 17:42:16 · 512 阅读 · 0 评论 -
Android源码下载与编译
emulator -writable-system -wipe-data //remount +清除用户数据。emulator -writable-system //可以remount。adb shell reboot wapedata //清除数据重启。emulator -verbose 正常启动。原创 2023-05-09 13:43:49 · 259 阅读 · 0 评论 -
Android13的一些新变化
新项目要求在android13的基础上开发,基于此调查13的一些变化。原创 2023-05-08 15:03:55 · 1467 阅读 · 0 评论 -
Android消息机制 Handler,MessageQueue,Looper
用来存储不同线程中的数据,不同线程访问同一个ThreadLocal的get方法,ThreadLocal内部会从各自的线程中取出一个数组,然后再从数组中根据当前ThreadLocal的索引去查找对应的value值。数据结构:名字是消息队列其实是一个单链表的数据结构存储消息队列(在插入和删除上比较有优势)方法:quit(直接退出)和quitSafaly(messagequeue中的已有消息处理完才安全退出)为什么不加上锁机制:会让UI的访问逻辑变得复杂,其次会降低UI的访问效率因为锁机制会阻塞某些线程的执行。原创 2023-05-07 22:55:27 · 161 阅读 · 0 评论 -
Handler如何实现跨线程通信?Handler会发生内存泄漏?为什么?怎么办?
当我们执行了HandlerActivity的界面时,被延迟的消息会在被处理之前存在于主线程消息队列中5分钟,而这个消息中又包含了Handler的引用(message中持有了handler的引用),而我们创建的Handler又是一个匿名内部类的实例,其持有外部HandlerActivity的引用,这将导致了HandlerActivity无法回收,进行导致HandlerActivity持有的很多资源都无法回收,从而就造成了传说中的内存泄露问题!另外关于同样也需要将Runnable设置为静态的成员属性。原创 2023-04-27 11:15:03 · 239 阅读 · 0 评论 -
关于解决滑动与长按事件冲突的方案
在一个页面中有长按和滑动的事件,当按住屏幕下滑时会触发长按事件影响用户体验:原创 2023-04-27 10:35:07 · 595 阅读 · 0 评论 -
Windowmanager&layoutparam
设置位置,宽高,属性type的内容。原创 2023-04-23 23:17:58 · 241 阅读 · 0 评论 -
快速切换fragment,不会产生重叠的方法
3.切换时设置layout隐藏(layout.setVisibility(VIEW.GONE))并发送延时handler,延迟一定时间后再显示layout(layout.setVisibility(VIEW.VISIBLE))1.加载第一个fragment时用loadRootFragment(),之后用replaceFragment。2.在fragment中加入不透明的背景,切换时可以遮住后面的fragment。原创 2023-04-21 10:07:52 · 255 阅读 · 0 评论 -
关于Android音视频,实现录屏并输出MP4文件
一个视频从录制到生成MP4文件的过程和需要用到的工具类及作用原创 2022-11-07 17:26:11 · 1886 阅读 · 0 评论 -
关于动画的一些知识
安卓动画View动画(平移,缩放,旋转,透明度),帧动画(也属于View动画表现形式略有不同而已)和属性动画。原创 2022-07-05 23:52:48 · 554 阅读 · 0 评论 -
解决androidstudio无法连接虚拟机问题
在终端执行关闭-开启adb之后成功连接adb kill-server adb start-server原创 2021-08-03 11:21:08 · 1922 阅读 · 0 评论