[RK3288][Android7.1.2] Launcher3 源码阅读之step6:根据布局文件找到对应的自定义View
来源:互联网 发布:淘宝打印助手怎么样 编辑:程序博客网 时间:2024/04/28 22:58
launcher.xml文件里面有引用了一些自定义View。具体在哪里实施呢?我们根据xml布局文件必须要知道以下的自定义View。
public abstract class BaseRecyclerView extends RecyclerViewpublic abstract class ButtonDropTarget extends TextViewpublic abstract class PagedView extends ViewGrouppublic abstract class PageIndicator extends FrameLayoutpublic abstract class BaseContainerView extends FrameLayoutpublic class InsettableFrameLayout extends FrameLayoutpublic class Hotseat extends FrameLayoutpublic class AllAppsRecyclerViewContainerView extends FrameLayout public class LauncherRootView extends InsettableFrameLayoutpublic class DragLayer extends InsettableFrameLayout public class Workspace extends PagedViewpublic class DropTargetBar extends LinearLayoutpublic class DeleteDropTarget extends ButtonDropTargetpublic class ExtendedEditText extends EditTextpublic class UninstallDropTarget extends ButtonDropTargetpublic class InfoDropTarget extends UninstallDropTargetpublic class PageIndicatorCaretLandscape extends PageIndicatorpublic class WidgetsContainerView extends BaseContainerViewpublic class AllAppsContainerView extends BaseContainerViewpublic class WidgetsRecyclerView extends BaseRecyclerViewpublic class AllAppsRecyclerView extends BaseRecyclerViewpublic class CellLayout extends ViewGroup
这里简单说明一下: 有五个类是继承了 FrameLayout 帧布局。也就是说,这些类是在帧布局的基础上再分化出来的。
在 FrameLayout 家族树形的结构如下:共计10个类
FrameLayout ---> PageIndicator ---> PageIndicatorCaretLandscapeFrameLayout ---> BaseContainerView ---> WidgetsContainerViewFrameLayout ---> BaseContainerView ---> AllAppsContainerViewFrameLayout ---> InsettableFrameLayout ---> LauncherRootViewFrameLayout ---> InsettableFrameLayout ---> DragLayerFrameLayout ---> AllAppsRecyclerViewContainerViewFrameLayout ---> Hotseat
RecyclerView 家族树形结构如下:共计3个类
RecyclerView ---> BaseRecyclerView ---> WidgetsRecyclerViewRecyclerView ---> BaseRecyclerView ---> AllAppsRecyclerView
TextView 家族树形结构如下:共计4个类
TextView ---> ButtonDropTarget ---> DeleteDropTargetTextView ---> ButtonDropTarget ---> UninstallDropTargetTextView ---> ButtonDropTarget ---> UninstallDropTarget ---> InfoDropTarget
ViewGroup 树形结构:
ViewGroup ---> PagedView ---> WorkspaceViewGroup ---> CellLayoutEditText 树形结构:
EditText ---> ExtendedEditTextLinearLayout 树形结构:
LinearLayout ---> DropTargetBar
阅读全文
1 0
- [RK3288][Android7.1.2] Launcher3 源码阅读之step6:根据布局文件找到对应的自定义View
- [RK3288][Android7.1.2] Launcher3 源码阅读之step5:查看主要的xml布局文件
- [RK3288][Android7.1.2] Launcher3 源码阅读之step1:查看项目的目录并找到入口
- [RK3288][Android7.1.2] Launcher3 源码阅读之step2:详解Launcher的OnCreate方法的A部分
- [RK3288][Android7.1.2] Launcher3 源码阅读之step3:详解Launcher的OnCreate方法的B部分
- [RK3288][Android7.1.2] Launcher3 源码阅读之step4:详解Launcher的OnCreate方法的C部分
- 自定义View之MultiStateView根据不同状态显示不同布局的View(雷惊风)
- Launcher3 源码阅读之step7:下载Google官方最新的Launcher3源码并导入到Android Studio
- 根据nib文件布局的自定义AlertView
- [RK3288][Android7.1.2] MTP模式
- [RK3288][Android7.1.2] 预装APK
- 根据core找到对应的程序
- (源码阅读)Spring是如何找到URL请求对应的Controller的。
- 基于Android7.0的Launcher3源码分析(1)——框架设计分析
- 【HDFS】namenode如何根据输入的文件(路径)名找到对应的inode的?
- 【Android7.1.2源码解析系列】android源码阅读小tips
- android7.x Launcher3源码解析(1)---启动流程
- android7.x Launcher3源码解析(2)---框架结构
- 在SpringMVC中获取request对象的几种方式
- IntelliJ IDEA 15 创建maven项目
- UTF-8编码格式转换
- 资讯精选 | DevOps成传统行业落地Docker关键原动力
- Docker配置国内加速器加速镜像下载的方法
- [RK3288][Android7.1.2] Launcher3 源码阅读之step6:根据布局文件找到对应的自定义View
- 展示总量和分量,这个图表高大上
- 从超级菜鸟变成Linux系统高手
- FFmpeg使用手册
- 在Hibernate中开启日志
- 为什么本地开发时使用CURL请求本地URL会卡死
- Hadoop NameNode 高可用 (High Availability) 实现解析
- 74. Search a 2D Matrix
- c#