# CodeAanalysis **Repository Path**: linsenstudio/CodeAanalysis ## Basic Information - **Project Name**: CodeAanalysis - **Description**: 个人Android源码仓库,涵盖个人所学所见! - **Primary Language**: Kotlin - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2022-09-05 - **Last Updated**: 2022-09-05 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # CodeAanalysis ## 一、介绍 个人总结的部分技术方案、源码分析仓库,其中有很多有用的开发小技巧,希望对大家有用,不断学习与进步! ## 二、软件架构 ![输入图片说明](https://images.gitee.com/uploads/images/2022/0604/202915_5ac49340_7608613.png "屏幕截图.png") ### baselibaray 基础核心库,其他功能的底层依赖 ### FastTools 快捷工具库,提速增效小技巧 #### 1.万能下拉列表 https://gitee.com/luofaxin/PopSpinner ### ViewFunc 图形库,关于图形操作相关功能集合于此 #### 蒙层方案 关于Layout、ImageView的最优化蒙层方案,以ImageView的实现效果如下: ![输入图片说明](ezgif.gif) 具体博客文档欢迎查阅[Android 完美的蒙层方案](https://blog.csdn.net/luo_boke/article/details/125116946) *********** ### material UI #### 1. ShapeableImageView 继承自ImageView,可以为image添加描边大小、颜色,以及圆角、裁切等,这得益于它新增了一个属性shapeAppearance,具体实现在ShapeAppearanceModel,可以通过style来配置,也可以通过代码实现。 ![输入图片说明](image.png) ##### 使用示例 ``` mBinding.simageView.shapeAppearanceModel = ShapeAppearanceModel.builder() .setAllCorners(CornerFamily.ROUNDED, 20f)// 设置圆角 .setTopLeftCorner(CornerFamily.CUT, RelativeCornerSize(0.3f))//设置指定方向圆角 .setTopRightCorner(CornerFamily.CUT, RelativeCornerSize(0.3f))//设置指定方向圆角 .setBottomRightCorner(CornerFamily.CUT, RelativeCornerSize(0.3f))//设置指定方向圆角 .setBottomLeftCorner(CornerFamily.CUT, RelativeCornerSize(0.3f))//设置指定方向圆角 .setAllCornerSizes(ShapeAppearanceModel.PILL) .setTopLeftCornerSize(20f)//设置指定方向圆角大小 .setTopRightCornerSize(RelativeCornerSize(0.5f))//设置指定方向圆角大小 .setBottomLeftCornerSize(10f)//设置指定方向圆角大小 .setBottomRightCornerSize(AbsoluteCornerSize(30f))//设置指定方向圆角大小 .build() ``` **CornerFamily:** 边角处理方式,只有ROUNDED和CUT两种。ROUNDED是圆角,CUT是直接将圆角部分裁切掉。 **AllCornerSizes:** 设置圆角大小 | 属性 | 说明 |参数及含义 |:--------:| :-------------:|:--------:| shapeAppearance | ShapeableImageView的形状外观样式 shapeAppearanceOverlay | ShapeableImageView的形状外观叠加样式 strokeColor | 描边颜色 strokeWidth | 描边宽度 cornerFamily | 四个角shape属性/样式 | -rounded: 圆角0、-cut: 切角1 cornerSize | 四个角弧度|可以是具体DP,也可以是%,以控件高为准 cornerFamilyTopLeft | 左上shape属性/样式 | -rounded: 圆角0、-cut: 切角1 cornerFamilyTopRight | 右上shape属性/样式 | -rounded: 圆角0、-cut: 切角1 cornerFamilyBottomRight | 右下shape属性/样式 | -rounded: 圆角0、-cut: 切角1 cornerFamilyBottomLeft | 左下shape属性/样式 | -rounded: 圆角0、-cut: 切角1 cornerSizeTopLeft | 左上弧度| cornerSizeTopRight | 右上弧度| cornerSizeBottomRight | 右下弧度| cornerSizeBottomLeft | 左下弧度| *************** ##### **style风格** 控制控件的形状 **1. 圆形图** ``` ``` **2、 菱形** ``` ``` **3. 水滴形** ``` ``` **4. 火箭头** ``` ``` **5. 叶子形** ``` ``` **6. 八角形** ``` ``` **7. 圆角** ``` ``` **8. tip形** ``` ``` #### 特技 1. 使用 Readme\_XXX.md 来支持不同的语言,例如 Readme\_en.md, Readme\_zh.md 2. Gitee 官方博客 [blog.gitee.com](https://blog.gitee.com) 3. 你可以 [https://gitee.com/explore](https://gitee.com/explore) 这个地址来了解 Gitee 上的优秀开源项目 4. [GVP](https://gitee.com/gvp) 全称是 Gitee 最有价值开源项目,是综合评定出的优秀开源项目 5. Gitee 官方提供的使用手册 [https://gitee.com/help](https://gitee.com/help) 6. Gitee 封面人物是一档用来展示 Gitee 会员风采的栏目 [https://gitee.com/gitee-stars/](https://gitee.com/gitee-stars/)