Android自定义ViewGroup实现九宫格布局
作者:newki 发布时间:2023-09-03 20:59:33
标签:Android,ViewGroup,九宫格
前言
在之前的文章我们复习了 ViewGroup 的测量与布局,那么我们这一篇效果就可以在之前的基础上实现一个灵活的九宫格布局。
那么一个九宫格的 ViewGroup 如何定义,我们分解为如下的几个步骤来实现:
先计算与测量九宫格内部的子View的宽度与高度。
再计算整体九宫格的宽度和高度。
进行子View九宫格的布局。
对单独的图片和四宫格的图片进行单独的布局处理
对填充的子View的方式进行抽取,可以自由添加布局。
对自定义属性的抽取,设置通用的属性。
只要在前文的基础上掌握了 ViewGroup 的测量与布局,其实实现起来一点都不难,甚至我们还能实现一些特别的效果。
来源:https://juejin.cn/post/7175085561538379833


猜你喜欢
- 前言接着我上一章:Java Fluent Mybatis 项目工程化与常规操作详解流程篇 下上一章我把项目做了一部分工程化包装,主要还是想要
- //有何不足或者问题希望能够得到各位的多多指正,不胜感激import java.util.Scanner;/** *
- 背景先上图由此可见,非自旋锁如果拿不到锁会把线程阻塞,直到被唤醒;自旋锁拿不到锁会一直尝试为什么要这样?好处阻塞和唤醒线程都是需要高昂的开销
- <?xml version="1.0" encoding="utf-8"?> <L
- 为了防止用户或者测试MM疯狂的点击某个button,写个方法防止按钮连续点击。具体实例代码如下所示:public class B
- Feign自定义注解翻译器新建自定义注解MyUrlpackage org.crazyit.cloud.contract; impo
- Java 方法执行时的动态分派和静态分派是 Java 实现多态的本质背景Java 的动态分派和静态分派也是 Java 方法的执行原理。 Ja
- synchronized关键字,一般称之为”同步锁“,用它来修饰需要同步的方法和需要同步代码块,默认是当前对象作为锁的对象。同步锁锁的是同一
- 一、单独使用MyBatis(1)在mybatis.xml配置文件中添加如下配置<setting name="logImpl&
- jar:itext-4.2.1.jar在很多公文的落款处都需要绝对定位,所以记录此代码如下:PdfWriter writer = PdfWr
- 下面分享的是一个Java多线程模拟停车场系统的小实例(Java的应用还是很广泛的,哈哈),具体代码如下:Park类public class
- Android中获取资源 id 及资源 id 的动态获取我们平时获取资源是通过 findViewById 方法进行的,比如我们常
- 一个系统上线,肯定会或多或少的存在异常情况。为了更快更好的排雷,记录请求参数和响应结果是非常必要的。所以,Nginx 和 Tomcat 之类
- 一、Close与Dispose这两种方法的区别调用完了对象的Close方法后,此对象有可能被重新进行使用;而Dispose方法来说,此对象所
- 1、maven是什么,为什么存在?项目结构是什么样子,怎么定位jar官方网站说了好多,整的多复杂一样,简单说:maven是一个管理包的工具。
- 本程序通过JFrame实时显示本机摄像头图像,并将图像存储到一个缓冲区,当用户用鼠标点击JFrame中任何区域时,显示抓取图像的简单动画,同
- 前言Android 7.0系统发布后,拿到能升级的nexus 6P,就开始了7.0的适配。发现在Android 7.0以上,在相机拍照和图片
- 1.引入如下依赖<dependency> <groupId>org.spri
- 最近正在学习使用Android Studio,发现默认的Hello World程序界面和我们
- 前言介绍最近很多同学找我帮忙做一些课程设计或Web前端大作业、其中控制台项目应该是初学者必须经历的一个过程、作为java初学者这个控制台版本