![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
UI
文章平均质量分 95
Android UI
tmacfrank
这个作者很懒,什么都没留下…
展开
-
嵌套滑动的简单应用——仿京东淘宝首页
系列文章目录View 的绘制与事件分发(一)——视图层级与布局加载例如:第一章 Python 机器学习入门之pandas的使用一、pandas是什么?示例:pandas 是基于NumPy 的一种工具,该工具是为了解决数据分析任务而创建的。二、使用步骤1.引入库代码如下(示例):import numpy as npimport pandas as pdimport matplotlib.pyplot as pltimport seaborn as snsimport warnings原创 2023-06-10 15:59:00 · 692 阅读 · 0 评论 -
自定义 PhotoView
实现的是一些基础效果:显示一张图片,可以对其进行双击放大缩小、双指手势放大缩小,并且在放大状态下可以滑动图片。效果图:就是个非常简单的 Demo,实现功能的方式都很基础,肯定有逻辑上考虑的不严谨导致的 bug,主要为了了解功能如何实现。以下是实现步骤。原创 2021-10-09 13:05:26 · 273 阅读 · 0 评论 -
CoordinatorLayout(二)—— 原理分析与自定义 Behavior
举个简单例子,实现一个不论上滑还是下拉都是 Header 部分优先的 Demo,效果如下:布局很简单,Header 只是一个 TextView,下面是一个 RecyclerView,二者都指定了各自的 Behavior:原创 2023-07-24 12:34:24 · 418 阅读 · 0 评论 -
ViewPager 的预加载与懒加载
简单说,缓存会节省创建页面的时间,预加载会节省加载页面的时间。至于缓存范围与预加载哪些页面,是通过 ViewPager 的 setOffscreenPageLimit() 设置的,下面我们通过一个简单的例子来看二者在实际项目中的表现。原创 2023-07-16 23:03:15 · 1377 阅读 · 0 评论 -
利用 RecyclerView.ItemDecoration 实现分组与标题吸顶效果
RecyclerView 不同组别标题的吸顶效果图如下:该效果是通过自定义 ItemDecoration 实现的,先了解一下 ItemDecoration 的工作原理。原创 2023-06-29 17:51:57 · 600 阅读 · 0 评论 -
Android UI实践 —— 游动的锦鲤
看文章时无意间发现了一个很有趣的动画效果,于是自己动手实现了一下。原创 2023-06-27 11:11:44 · 383 阅读 · 2 评论 -
Android 文字绘制基础
调用 Canvas.drawText() 可以在给定的 x、y 坐标使用给定的 Paint 对象绘制出给定的文字。其中 x 就是文字在 x 轴的起始坐标,而 y 则是文字基准线 baseline 的 y 轴坐标。可以从注释中提取出下图信息:需要注意的是,用 decent - accent 求出的是正常文字高度,而 bottom - top 求出的是最大文字高度。原创 2023-06-20 20:40:23 · 544 阅读 · 0 评论 -
Android 事件分发
Android 中用 MotionEvent 表示屏幕上发生的事件,常用的事件类型如下:这些事件是从 Activity 逐层传递到 View/ViewGroup 上的:上图左侧是 Activity 的布局层级结构图,从 Activity 开始向内依次为 PhoneWindow、DecorView,DecorView 继承自 FrameLayout, 通过 addView() 将 root 添加进来,系统会根据不同的 Window 属性为 root 选择合适的布局,默认就是使用 screen_simple.x原创 2023-06-19 18:54:09 · 107 阅读 · 0 评论 -
插件化换肤
插件化换肤的前置知识是布局原理与资源加载过程,我们需要先了解它们的原理。1、布局原理与 xml 解析我们在创建 Activity 时,需要在 onCreate() 中通过 setContentView(R.layout.xxx) 告知系统要显示的布局,该过程主要涉及两点:Activity 的布局原理:了解 Activity 的层级结构xml 文件解析:如何将 xml 文件中定义的标签,解析并转化成对应的 View1.1 Activity 布局原理Activity 的布局层级结构如下图:上原创 2023-05-18 19:31:43 · 113 阅读 · 0 评论 -
Android 嵌套滑动
在 Android 的事件分发机制当中,对于同一个事件流,如果由父控件拦截/消费了,那么子控件就没办法再获取到该事件流,从而造成在嵌套滑动时的不连贯。使用嵌套滑动机制可以有效的解决上面的问题。它并没有改变事件分发机制,在发生嵌套滑动时,还是先进行事件分发,由父控件将事件分发给子 View,由子 View 进行消费。只不过,子 View 在自己消费之前,会先去询问父控件,是否需要处理滑动事件。于是才有了“在嵌套滑动中,子 View 是主动的”这样的说法。下面我们就结合源码看看嵌套滑动是如何实现的。一、源原创 2021-09-30 16:21:53 · 957 阅读 · 1 评论 -
CoordinatorLayout(一)—— 基本使用
CoordinatorLayoutCoordinatorLayout 是一个功能强大的 FrameLayout,它遵循 Material Design 风格,可以用作一个或多个子 View 间交互的容器。通过为 CoordinatorLayout 的子 View 设置 Behavior,可以实现不同的交互效果。通常会与 AppbarLayout、CollapsingToolbarLayout 结合使用。BehaviorBehavior 是 CoordinatorLayout 的子 View 之间交互的原创 2021-09-30 22:38:10 · 3928 阅读 · 0 评论