摘要:
1. 项目背景 最近参加了Compose挑战赛的终极挑战,使用Compose完成了一个天气app。之前几轮挑战也都有参与,每次都学到不少新东西。如今迎来最终挑战,希望能将这段时间的积累活学活用,做出更加成熟的作品。 项目挑战 因为没有美工协助,所以我考虑通过代码实现app中的所有UI元素例如各种ic 阅读全文
摘要:
故事的开始 今天老大急冲冲的跑过来说:xx,你帮我看看这手机咋回事,突然开不了机。 我心想:我最近也没提过代码,应该不是我的问题吧。(甩锅~.~) 把电脑插上手机后,我看到下面这段报错一直在loop 12-31 16:08:49.603 21899 21899 E AndroidRuntime: * 阅读全文
摘要:
前言 关于拦截异常,想必大家都知道可以通过Thread.setDefaultUncaughtExceptionHandler来拦截App中发生的异常,然后再进行处理。 于是,我有了一个不成熟的想法。。。 让我的APP永不崩溃 既然我们可以拦截崩溃,那我们直接把APP中所有的异常拦截了,不杀死程序。这 阅读全文
摘要:
今天分享一个以前实现的通讯录字母导航控件,下面自定义一个类似通讯录的字母导航 View,可以知道需要自定义的几个要素,如绘制字母指示器、绘制文字、触摸监听、坐标计算等,自定义完成之后能够达到的功能如下: 完成列表数据与字母之间的相互联动; 支持布局文件属性配置; 在布局文件中能够配置相关属性,如字母 阅读全文
摘要:
老规矩,先上图,看看是不是你想要的,美团效果: 最终效果: 来一个图形分析 接下来我要写一个简单示例,先分析一下布局,见下图,最外层是NestedScrollView,之后嵌套一个LinearLayout头部,中间TabLayout选择器,底部一个ViewPager ViewPager高度需要动态控 阅读全文
摘要:
老规矩,先上图,看看是不是你想要的,美团效果: 最终效果: 来一个图形分析 接下来我要写一个简单示例,先分析一下布局,见下图,最外层是NestedScrollView,之后嵌套一个LinearLayout头部,中间TabLayout选择器,底部一个ViewPager ViewPager高度需要动态控 阅读全文
摘要:
欢迎使用 Jetpack DataStore,这是一个经过改进的全新数据存储解决方案,旨在替代原有的 SharedPreferences。Jetpack DataStore 基于 Kotlin 协程和 Flow 开发,并提供两种不同的实现: Proto DataStore 和 Preferences 阅读全文
摘要:
导语 接到了一个仿电影院的需求,上周几乎是找遍了百度,谷歌,stackoverflow。均没有找到用flutter实现的效果,那只能自己写一个了。本文只讲思路,具体实现还需各位看官自己动手。只要看懂了下面的思路,实现起来非常简单。 直接上效果图 竖屏: 横屏: 初始化自适应屏幕的放大缩小效果: 布局 阅读全文
摘要:
为了充分利用Android Plugin for Gradle 3.0+的优点,将Android项目拆分成多个module的做法越来越常见。然而,随着module数量的增多,我们很快就会遇到依赖管理的混乱问题。 管理Gradle依赖的三种不同方法: 手动管理 使用Google推荐的“ext” Kot 阅读全文
摘要:
前言 Android的绘制优化其实可以分为两个部分,即布局(UI)优化和卡顿优化,而布局优化的核心问题就是要解决因布局渲染性能不佳而导致应用卡顿的问题,所以它可以认为是卡顿优化的一个子集。 本文主要包括以下内容: 1.为什么要进行布局优化及android绘制,布局加载原理。 2.获取布局文件加载耗时 阅读全文