华丽丽的GridLayout-使用案例

最近在阅读一份开源代码时,发现有一个页面中并不是明显的网格样式,但layout里的根控件用的是GridLayout,才发现原来它是可以这样用的,原来不一定拘泥于页面布局是明显的网格形式,而是需要我们来把明显不是网格样式的布局来当成网格看待。–这里大家可能不一定立马理解,不急,先继续看看后面的内容。

因为RelativeLayout和加了weight的Linearlayout都存的onMeasure两次的坑,如果子布局很复杂的情况下,,对界面的绘制性能会产生很大的影响,,直接的影响就是inflate方法耗时明显。这个问题困扰了很久,一直没有一个完美的解决办法,直到发现GridLayout可以一定程度上替代它们。
GridLayout有三个优点:
1)不存在measure多次的问题
2)能像RelativeLayout一样解决嵌套过深的问题
3)能够较简单的保证控件之间的对齐
我碰到有些四五层深度的布局,改用GridLayout后,子控件一层即解决,跟RelativeLayout一样,这就是为什么给它加上‘华丽丽’的原因。


下面以一个实例来验证,并提供使用参考:

先看这样一张图,我将会用GridLayout做为根控件嵌套一层来实现这种布局:
这里写图片描述

实现代码:

<?xml version="1.0" encoding="utf-8"?>
<GridLayout xmlns:android="http://schemas.android.com/apk/res/android"android:layout_width="match_parent"android:layout_height="match_parent"android:background="#ffffff"android:columnCount="5"android:orientation="horizontal"><includelayout="@layout/titlebar"android:layout_width="match_parent"android:layout_height="@dimen/d_k2_title_h_96px"android:layout_columnSpan="5"/><Viewandroid:layout_height="10dp"android:layout_columnSpan="5"android:background="#f3f3f3"/><ImageViewandroid:id="@+id/logo_image"android:layout_width="55dp"android:layout_height="55dp"android:layout_centerVertical="true"android:contentDescription="@string/app_name"android:padding="10dp"/><TextViewandroid:id="@+id/name_text"android:layout_columnSpan="2"android:layout_gravity="fill"android:maxLength="20"android:gravity="center_vertical"android:text="Email:"android:textColor="@color/textcolor_default"android:textSize="@dimen/textsize_30px"/><TextViewandroid:layout_gravity="center_vertical|fill"android:clickable="true"android:layout_columnSpan="2"android:drawablePadding

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/58340.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

linux mint桌面mac,Ubuntu/LinuxMint安装华丽丽的Elementary OS Pantheon桌面

谈起最美丽的Linux系统&#xff0c;不少人第一印象绝对就是Elementary OS&#xff0c;还有就是已经停止支持的仿Mac的的PearOS&#xff0c;这两款系统军师基于Ubuntu系统的发行版&#xff0c;而博主的电脑是Linux Mint 17 Xfce&#xff0c;同样是基于Ubuntu的linux系统&#xf…

ENViews, 一个华丽丽的动效控件库

ENViews 项目地址&#xff1a; codeestX/ENViews 简介&#xff1a;ENViews, 一个华丽丽的动效控件库 ENViews, A cool dynamic view library.All designed by Nick ButurishviliENViews, 一个华丽丽的动效控件库&#xff0c;所有控件原型取自Nick Buturishvili的设计作品 Previ…

Python | 想知道如何添加华丽丽的进度条吗?

对于开发或者运维来说&#xff0c;使用Python去完成一些跑批任务&#xff0c;或者做一些监控事件是非常正常的情况。那么如何有效的监控任务的进度&#xff0c;除了在任务中加上log外&#xff0c;还能不能有另一种方式来了解任务进展到哪一步了呢&#xff1f; 这就是今天我们来…

这个人间终究值得

2020.1.18 — 2020.4.18 \color{red}{2020.1.18—2020.4.18} 2020.1.18—2020.4.18&#xff0c;整整3个月的时间。鬼知道在这三个月里我经历了什么&#xff1f;但上帝知道呀&#xff01; 漫长的春节 2020年1月18号即去年农历腊月24&#xff0c;和老大从 长 沙 \color{red}{长沙…

❤️爆肝3万字,最硬核丨Mysql 知识体系、命令全集 【建议收藏 】❤️

&#x1f345; 作者主页&#xff1a;不吃西红柿 &#x1f345; 简介&#xff1a;CSDN博客专家&#x1f3c6;、信息技术智库公号作者✌ 简历模板、PPT模板、学习资料、面试题库、技术互助【关注我&#xff0c;都给你】 &#x1f345; 欢迎点赞 &#x1f44d; 收藏 ⭐留言 &am…

正宗佛祖注释-原装正版

网上也有很多佛祖的注释&#xff0c;但是中心都没有“卍”字标识&#xff0c;请认准卍字标识&#xff0c;谨防假冒(注意&#xff1a;是"卍"字&#xff0c;而不是"卐"字)。 佛曰&#xff1a; 心存慈善&#xff0c;何须努力看经&#xff0c;意欲损人&#xf…

红烧排骨怎么做(红烧排骨正宗做法)

声明&#xff1a;整理自bilibili up主投稿 侵权删 链接&#xff1a;超子美食 备菜 排骨 放入清水中浸泡半个小时&#xff08;王刚的做法是放入清水中加小苏打&#xff08;碳酸氢钠&#xff09;抓&#xff0c;我结合了一下&#xff09;泡出血水 小料 葱姜蒜&#xff0c;一小…

正宗的 Tenengrad 梯度函数

版权声明&#xff1a;本文为博主原创文章&#xff0c;未经博主允许不得转载。 Tenengrad 梯度函数 Tenengrad 梯度函数采用Sobel算子分别提取水平和垂直方向的梯度值&#xff0c;基与Tenengrad 梯度函数的图像清晰度定义如下&#xff1a; G&#xff08;x,y&#xff09;如下&…

【原创】新韭菜日记55--20190412----各行业龙头股

1 家电&#xff1a; 格力 美的 苏宁 2 船舶&#xff1a;中国船舶 3 氢能源 &#xff1a;熊涛&#xff0c;全柴&#xff0c;美景&#xff0c;凯龙 4 工业大麻 5 造纸 岳阳林纸 央企生态唯一&#xff1f; 6 7 银行 宁波银行&#xff0c;南京银行&#xff0c;招商银行&a…

2017区块链概念股龙头

在价值尺度职能方面。市场投机行为造成了比特币价格的大起大落&#xff0c;比特币无法通过调节供应量来稳定比特币价格&#xff0c;因此目前尽管比特币受到越来越多人的追捧&#xff0c;有潜力被大众广泛接受&#xff0c;然而比特币币值的不稳定性使得它不具备良好的价值尺度职…

区块链概念正宗龙头股

尽管能够找到一些有千丝万缕关系的理论做支撑&#xff0c;不认可也无法阻止比特币成为货币&#xff0c;但是比特币作为一种货币得到人们的认可需要很长的过程&#xff0c;甚至可能无法达成。 现代人已经习惯货币是由家创造的&#xff0c;家赋予货币拥有价值。比特币并不是一种…

ChatGPT的未来:人工智能技术的新发展趋势

第一章&#xff1a;人工智能技术的新发展趋势 近年来&#xff0c;随着人工智能技术的不断发展和应用&#xff0c;ChatGPT这样的大型自然语言处理模型已经成为人工智能技术的重要组成部分。未来&#xff0c;人工智能技术的发展将更加快速&#xff0c;我们可以看到以下几个方面的…

怎么利用邮件开发客户?

做外贸的很多企业都习惯使用邮件作为沟通工具&#xff0c;所以我们也可以利用邮件发送开发信来进行客户开发。 为什么外贸企业喜欢使用邮件呢&#xff1f; 原因 1、使用习惯 不同于我们国家习惯使用微信沟通&#xff0c;邮件始终是外国人在进行商务、营销、日常沟通等场合下…

chatgpt赋能python:Python微信获取群聊信息:顶级互联的新标准

Python 微信获取群聊信息&#xff1a;顶级互联的新标准 Python 作为一种开源编程语言&#xff0c;已成为解决各种工程问题的首选方式之一。Python 是一种直观&#xff0c;并且简单易懂的编程语言&#xff0c;同时也非常强大&#xff0c;能够完成各种编程任务&#xff0c;包括获…

用TELNET登录QQ邮箱

2019独角兽企业重金招聘Python工程师标准>>> 第一步&#xff0c;要让QQ邮箱支持IMAP。登录QQ邮箱&#xff0c;点击进入“邮箱设置”&#xff0c;“账户”。 然后&#xff0c;在POP3/IMAP/SMTP/Exchange服务中勾选IMAP项&#xff0c;为了避免误操作&#xff0c;“SMT…

使用QQ邮箱“邮我”组件,方便他人快速给你发邮件

新主题cmhello发布了&#xff0c;在这个主题中&#xff0c;集成了QQ邮箱的“邮我”和“邮件列表”两个应用组件。关于邮件列表&#xff0c;大家可以查阅《QQ邮件列表&#xff1a;自动定时发送最新文章到订阅者的邮箱》&#xff0c;今天主要简单介绍下“邮我”组件。 “邮我”组…

如何不使用QQ邮箱,纯靠代码发送QQ邮件?

使用道具 下载了python tools的VisualStdio 2017&#xff08;其实是只要有python的编译器就行&#xff09; 方法介绍 这里我们使用的模块是SMTPLIB&#xff0c;所以很显然我这里运用的是smtp协议去进行邮件的传输。邮件的传输我这里会讲两种情况&#xff1a;一种是不带附件的情…

PHPMailer向QQ邮箱发送邮件

第一步 首先登录 QQ邮箱&#xff0c;点击顶部的“设置”&#xff0c;然后点击“账户”标签页 第二步 找到“POP3/IMAP/SMTP/Exchange/CardDAV/CalDAV服务”这一项&#xff0c;将“POP3/SMTP服务”开启 开启过程需要发送短信给腾讯&#xff0c;按步骤操作。成功后会得到授权码&a…

telnet登录SMTP和pop收发邮件(QQ邮箱)

一路生花 一、开启SMTP和POP服务二、SMTP发送邮件三、POP查看邮件四、总结五、参考 一、开启SMTP和POP服务 进入QQ邮箱网页版&#xff0c;设置->账户&#xff0c;往下翻找到图片所示内容&#xff0c;打开就行了&#xff0c;同时会给你一个授权码&#xff0c;记得保存 二、…

使用telnet通过qq的SMTP邮箱服务器发送邮件

使用telnet通过qq的SMTP邮箱服务器发送邮件 telnet的安装开启账号的SMTP服务&#xff0c;获取授权码使用telnet发邮件 telnet的安装 telnet是Windows的一个远程连接工具&#xff0c;win10默认是没有安装的&#xff0c;需要通过启动windows功能来安装 Windows键R&#xff0c;输…