首页 文章 精选 留言 我的

精选列表

搜索[自由线程],共10008篇文章
优秀的个人博客,低调大师

开源女神节——撕掉标签,自由随我

又是一年女神节到来,祝所有女性节日快乐! 社区女神节活动也正式开始啦!扫码参与活动赢女神节礼品! 在整个程序员群体当中,女性程序员占比约22.96%,即使人数在不断增长,但仍有很多人对女性程序员存在刻板印象,例如:秃头富婆、技术不过关、不够温柔、性格沉闷...实则不然,她们只是一个普普通通在众多行业之一“搬砖”的打工人。 对于打工人来说,最开心的时刻莫过于下班离开工位的那一刻,下班之后才能做回真正的自己。常常说:上班是为了生活,下班是用心热爱生活。 上班常常需要把自己归位在众多格子间之一,为面包和所爱嗑下一个个难题,无法展示最真实的自己。下班或许意味着拥有了生活的所有权,回到舒适安心的环境,做自己想做的任何事情,无需遮遮掩掩。 本次活动希望可以给大家提供一个展示“反差美”的平台,展现女程序员们对生活的热爱。 第一位 上班是吊安全绳高空作业的阳刚女子,下班摇身一变为精致优雅女孩子;别看上班载重攀爬、超强体力,下班换身衣服一样是温文尔雅的漂亮姐姐。这说的就是咱电力工人! 第二位 “上班不准笑,下班去搞笑”一句话概括了上下班两种极致反差的角色。如果不说很难有人能够联想到脱口秀的舞台上给大家带来欢声笑语的演员,竟然有另外一重截然相反的身份。同样是“讲台”,一个带去知识,一个带来欢乐,不同的身份去体会不一样的人生。 第三位 医生的职业无疑是最耗费元气的,上班的生活和“精致”两个字可谓毫无关联,忙碌的没有时间去收拾自己。下班时间才能给自己和生活增添一抹色彩。上班有多疲惫,下班就有多嗨。 各行各业的女性朋友都展示出了上下班两种不同的状态,原来下班后的生活还可以这样过~程序媛朋友,你们的上班和下班又会展示出什么不同的状态呢?一起分享你的反差生活吧! 分享不一样的生活,快快参与活动吧! 欢迎大家加入群聊,一起交流!👇 Linux Foundation开源软件学园也带来妇女节福利啦! 在开源领域,女性以其细致强大的能量,帮助项目更好地发展,Linux Foundation开源软件学园一直致力于推动保障女性权益,鼓励女性绽放光芒,为表达对女性的尊敬,感激女性的付出,激励女性事业更上一步,在3月8日国际妇女节之际,为广大开发者送出优惠——3月6日-3月12日,Linux Foundation开源软件学园官方课程及认证考试全场88折。购买官方课程或认证考试的女性用户有机会参与抽奖,赢得礼品哦! 查看培训、认证及套购产品: 培训:https://training.linuxfoundation.cn/courses 认证:https://training.linuxfoundation.cn/certificates 套购::https://training.linuxfoundation.cn/pack

优秀的个人博客,低调大师

自律给你自由——设计布局的新姿势

ConstraintLayout基本界面 在今天的文章开始之前,有个忙想请大家帮一下,希望在京东、淘宝、当当、亚马逊购买了我的书《Android群英传:神兵利器》的朋友们,帮忙去网店上给个简短的评价,举手之劳,还是多谢大家啦~~ 更新Android Studio 2.2之后,更新了布局设计器,同时,引人了ConstraintLayout,这一布局,旨在降低布局层级,其主要界面如下所示: 这个界面主要分成下面几个部分: 左侧边栏,包括Palette组件库和Component Tree 中间是布局设计器,包括两部分,左边是视图预览,右边是布局约束 右侧边栏,上面是类似盒子模型的边界和大小布局设计器,下面是属性列表 在熟悉了界面之后,我们要做的就是理解,什么是ConstraintLayout。ConstraintLayout的核心,实际上就是『约束』,这个翻译很直接,也很准确,它可以说是一个强化的 RelativeLayout,只不过比RelativeLayout增加了更多的约束条件和方式,从这一点上去理解,就很容易接受了。 在第一次引人ConstraintLayout的时候,Android Studio会自动去下载依赖,等他自动完成安装即可。 最后,在build.gradle中会添加一行依赖: compile 'com.android.support.constraint:constraint-layout:1.0.0-alpha8' Google提供了一个CodeLab来帮助开发者熟悉这个布局,地址如下所示: https://codelabs.developers.google.com/codelabs/constraint-layout/index.html#0 同时,2016IO上Google也给出了一个Topic来讲解,地址如下所示: https://youtu.be/sO9aX87hq9c ConstraintLayout约束类型 简单的说,约束,就是组件与组件之间的关系,借用官网上的一张图,我们来解释下: 这里展示的,就是左右两个Button直接的关系,这实际上就是一个简单的相对布局方式,下面我们来看一下具体的约束类型。 当我们点击一个控件的时候,它的显示效果如图所示: 这里主要包含几种类型的约束 尺寸约束 边界约束 基准线约束 我们一一来看。 尺寸约束 尺寸约束使用的是『实心方块』,如图: 这个很好理解,就是调整组件的大小。 边界约束 边界约束使用的是『空心圆圈』,如图: 边界约束,是使用最多的约束,它用于建立组件与组件之间、组件与Parent边界之间的约束关系,实际上,就是确定彼此的相对位置。 基准线约束 基准线约束,使用的是『空心圆角矩形』,如图: 基准线约束,是让两个带有文本属性的组件进行对齐的,可以让两个组件的文本按照基准线进行对齐。唯一要注意的是,你需要把鼠标放在控件上,等基准线约束的图形亮了,才可以进行拖动。 清除约束 通过工具栏上的『清除约束』按钮,或者是控件上的悬浮提示,都可以清除一个控件的所有约束条件,如图: 掌握好这几种约束条件的使用后,就可以自己去尝试下了,我们只要拖一个控件,来体验下。 约束示例 这里我把官网上的几个Demo的动图Copy过来: 自动约束Autoconnect 在布局设计器的菜单栏上,有一个『磁铁』一样的图标,如图: 默认这个按钮就是打开的,通过这个,我们可以实现组件约束的自动创建,Demo示例如图: 这个和PPT里面拖动布局的时候,会弹出对齐的基准线,然后帮你自动居中这些功能类似。实际测试下来,这个功能可以很方便的在拖动组件的时候,帮你写好约束,但有些精确的调整,还是需要手动去创建的。 约束推断Inference 在布局设计器的菜单上,还有一个『灯泡』一样的按钮,通过这个按钮,可以帮我们自动创建组件间的约束关系,他分析的是一个组件附近的组件,并根据当前在设计面板中的位置来创建约束关系。 约束推断这个功能非常强大,我们只需要把组件拖到一个地方,然后就可以通过推断,来完成最基本的约束创建,最后,手动进行完善即可。 View Inspector Inspector界面就是设计布局的右边栏,包含了一个类似盒子模型的布局检查器和对应属性的属性列表,如图所示: 属性这一块我们就不看了,和大家在XML中写的属性是一样的,只不过这里通过可视化的方式弄出来了,这个之前就有了,我们主要来看下上面的那个界面。 这上面的ID,不多说了,这个盒子四周的线,代表着我们的Margin设置,在工具栏上,还可以设置Margin的基数,对于MD设计风格,这个基数一般是8dp,所以,这里可以选择X8的Margin: 另外,最外面边框上还有两个带数字的小圆圈,这个就是控制相对位置的比例的,如图: 通过这个比例的设置,我们天然就自带了百分比布局。 最后,最难理解的就是盒子里面的那四根线,如图: 这里的四根线,在点击后,会发生变化,总共有以下几种: Fixed 这样一个类型的线,可以让你写定具体的大小数值。 Wrap Content 这个就是Wrap Content的含义,包裹内容,没有发生变化。 AnySize 这个就是最难理解的,它表示组件会占用所有的可用空间来适应约束,类似线性布局中,设置width=0,weight=1的方式。 Align 在工具栏中,可以使用对齐工具,快速给选定组件设置对齐约束,如图: 我们可以来演示下: Pack 在工具栏中,可以使用Pack工具,快速对组件进行编组操作,如图: 快捷布局 在一个组件上点击右键,可以快速创建一些布局的快捷设计,如图所示: 在这里,可以快速设置组件的居中,对齐等方式。 GuideLine 为了更加灵活的布局,ConstraintLayout还提供了一个GuideLine,如图所示: 你可以为布局添加水平和竖直引导线,针对这条线来作为基准线布局,如图所示: ConstraintLayout布局转换 通过Android Studio,我们可以很方便的把一个普通布局转化为ConstraintLayout,在布局设计器的左边栏下面的Component Tree来进行转换,如图所示: 转换还是很赞的,但目前还没试过复杂的布局是否有问题。 从代码角度理解ConstraintLayout属性 ConstraintLayout被称为增强的RelativeLayout,是有它的原因的,相对布局提供了layout_toBottomOf类似这样的属性来控制组件间的相对位置,那么ConstraintLayout实际上也是一样的,我们来看这样一个属性: app:layout_constraintTop_toBottomOf 他代表的是『期望组件的顶部,与指定组件的底部对齐』,那么了解了这个解释方式,其它的属性就很好理解了,所以说,虽然ConstraintLayout不太建议通过代码来布局了,但能理解代码的含义,对理解ConstraintLayout布局是非常有帮助的。 欢迎大家关注我的微信公众号:Android群英传 最后,上海的开发者注意啦,9月24日,沪江会举办一次Android技术沙龙,具体内容大家可以看这篇文章: http://www.huodongxing.com/event/6351789756900

资源下载

更多资源
腾讯云软件源

腾讯云软件源

为解决软件依赖安装时官方源访问速度慢的问题,腾讯云为一些软件搭建了缓存服务。您可以通过使用腾讯云软件源站来提升依赖包的安装速度。为了方便用户自由搭建服务架构,目前腾讯云软件源站支持公网访问和内网访问。

Nacos

Nacos

Nacos /nɑ:kəʊs/ 是 Dynamic Naming and Configuration Service 的首字母简称,一个易于构建 AI Agent 应用的动态服务发现、配置管理和AI智能体管理平台。Nacos 致力于帮助您发现、配置和管理微服务及AI智能体应用。Nacos 提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据、流量管理。Nacos 帮助您更敏捷和容易地构建、交付和管理微服务平台。

Rocky Linux

Rocky Linux

Rocky Linux(中文名:洛基)是由Gregory Kurtzer于2020年12月发起的企业级Linux发行版,作为CentOS稳定版停止维护后与RHEL(Red Hat Enterprise Linux)完全兼容的开源替代方案,由社区拥有并管理,支持x86_64、aarch64等架构。其通过重新编译RHEL源代码提供长期稳定性,采用模块化包装和SELinux安全架构,默认包含GNOME桌面环境及XFS文件系统,支持十年生命周期更新。

Sublime Text

Sublime Text

Sublime Text具有漂亮的用户界面和强大的功能,例如代码缩略图,Python的插件,代码段等。还可自定义键绑定,菜单和工具栏。Sublime Text 的主要功能包括:拼写检查,书签,完整的 Python API , Goto 功能,即时项目切换,多选择,多窗口等等。Sublime Text 是一个跨平台的编辑器,同时支持Windows、Linux、Mac OS X等操作系统。

用户登录
用户注册