8种机械键盘轴体对比

本人程序员,要买一个写代码的键盘,请问红轴和茶轴怎么选?

熟悉图形设计工具的设计人员可能对参照线并不陌生,但对于不是从事设计的人来说它可能有点陌生。一个参照线就是一个用来对齐其他视图且运行时隐藏的参照视图。这是一个抽象概念,但是一旦了解了它工作原理,那对于以后的布局将非常有用。Material Design推荐使用keylines。本篇文章学习如何通过参照线来快速实现这些。

参照线有水平和垂直之分。本篇文章将重点关注垂直参照线,但同时水平参照线的概念也与此相差无二。

创建一条参照线

要创建一个垂直参照线,我们可以通过右键点击蓝色视图并从上下文菜单中选择Helpers –> Add Vertical Guideline:

如果你创建参照线后无法看到,只需点击蓝色视图的任意位置即可看到它。

参照线的类型

参照线有三种不同的类型,默认的类型就是:参照线将于父布局(ConstraintLayout)的起始边缘有着固定的偏移量(单位为dp)。我们刚刚参加的垂直参照线与起始边缘的偏移量就为20dp,注意这里我们指的是起始边缘(start)而不是左边缘(left),因为对于从右向左的布局设置来说这是一个很好的用法。

第二种类型就是:参照线偏离end边缘;最后一种类型就是:根据父组件ConstraintLayout的宽度百分比来放置,在参照线边缘有个显示类型的指示器,我们可以通过重复点击这循环切换类型:

左偏移和右偏移对于设置keylines是非常有用的,而百分比形式的参照线则提供了类似于PercentLayout的一些功能。

调整参照线

一旦我们创建好了参照线,我们可以通过拖动线条来调整其位置(而不是拖动类型指示器):

使用参照线

到了现在,我们知道了如何创建不同类型的参照线并调整其位置,那我们还可以做些什么呢?

我们可以使用它了作为任何View视图的约束参照物,换句话来说,我们可以在布局中任何View视图的锚点上创建一个约束并将其与参照线对齐,如果移动参照线,View也将随之跟着移动:

该示例中参照线仅限制了单个视图,但如果参照线要对更多的视图进行限制,那通过移动参照线将导致所有的视图都随之移动。

参照线的原理

Guideline类实际上是View的子类,它的onDraw()方法为空方法,并且固定为View.GONE,应用运行的时候它将无法显示出来,但在布局阶段,它将显示出来,我们可以用它来对齐其它的View。所以参照线是一个非常轻量的组件:用户是无法看见它的,但我们却可以在布局中用它来参考位置。

在XML中创建参照线

xmlns:android="http://schemas.android.com/apk/res/android"

xmlns:app="http://schemas.android.com/apk/res-auto"

android:layout_width="match_parent"

android:layout_height="match_parent">

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:id="@+id/guideline1"

android:orientation="vertical"

app:layout_constraintGuide_begin="41dp"/>

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:text="Hello World !"

android:layout_marginTop="16dp"

app:layout_constraintTop_toTopOf="parent"

app:layout_constraintStart_toStartOf="@+id/guideline1"

android:layout_marginStart="8dp"/>

从上可看出:有一个app:orientation="vertical"显然声明了一个垂直参照线,app:layout_constraintGuide_begin="41dp"表示参照线离父布局ConstraintLayout的起始位置为41dp,再次声明,是start而不是left。app:layout_constraintGuide_end=""表示相对于右边缘的距离,对于百分比参照线来说,使用app:layout_constraintGuide_percent="0.5"来描述百分比的偏移量。

从上面我们已经知道了参照线本身也是一个View,所以我们可以像TextView一样来向参照线添加约束。

android创建Guideline,初识ConstraintLayout之参照线(Guidelines)相关推荐

  1. 初识ConstraintLayout之参照线(Guidelines)

    熟悉图形设计工具的设计人员可能对参照线并不陌生,但对于不是从事设计的人来说它可能有点陌生.一个参照线就是一个用来对齐其他视图且运行时隐藏的参照视图.这是一个抽象概念,但是一旦了解了它工作原理,那对于以 ...

  2. Android入门教程:ConstraintLayout约束布局

    原文首发自掘金芦苇APP团队,转载到自己小号上再发一遍~ 翻译By Leelion6.关于 ConstraintLayout 的文章其实已经不少了,不过看到这篇文章写的很有趣,以及在翻译的过程中,感受 ...

  3. RevitAPI 之参照平面(Referenceplane)和参照线(Reference Line)

    Referenceplane是参照平面,Reference Line是参照线.它们是辅助绘图的重要工具, 在族的创建过程中经常使用. 一.参照平面 参照平面可以定位和驱动族模型.在大多数的族模板中,已 ...

  4. android 创建隐藏文件夹吗,Android创建隐藏文件可能文件夹

    Android创建隐藏文件或者文件夹 android创建隐藏文件或者文件夹,其实只要在文件名或者文件夹名字前加一个点号即可. 隐藏文件(夹)可直接进行读写. 如果需要去除隐藏,那就是重命名,去除点即可 ...

  5. R语言使用forestplot包绘制森林图:编码创建森林图仿真数据、汇总线修改、元素位置调整、垂直线、字体、风格、置信区间、线型、图例、刻度、标签等

    R语言使用forestplot包绘制森林图:编码创建森林图仿真数据.汇总线修改.元素位置调整.垂直线.字体.风格.置信区间.线型.图例.刻度.标签等 目录

  6. Android创建自己的gradle依赖包

    最近想把自己做过的一些东西分享给大家,请叫我高产小能手. Android创建自己的gradle依赖包 相信在用Android Studio的同学对gradle都不陌生吧: dependencies { ...

  7. Android 创建,删除,检测桌面快捷方式

    2019独角兽企业重金招聘Python工程师标准>>> 参考 Android 创建快捷方式 Android 快捷方式动画 创建桌面快捷方式需权限 <uses-permissio ...

  8. android动态申请悬浮框权限,Android创建悬浮窗的完整步骤

    在Android中想要创建悬浮窗分为三步 1.申请权限 2.使用服务启动悬浮窗 3.设置悬浮窗参数并添加进WindowManager 下面话不多说了,来一起看看详细的实现过程 申请权限 首先需要申请悬 ...

  9. android app 短信接收,Android创建简单发送和接收短信应用

    本文实例为大家分享了Android创建发送和接收短信应用的简单实现过程,供大家参考,具体内容如下 一.接收短信 项目的结构如下:一个简单的接收和发送短信的功能 1.定义一个接收短信的广播:当手机接收到 ...

最新文章

  1. Java学习总结:20
  2. 如何实现把固定内容自动写入excel_Odoo如何实现基于关联数据自动写入本表数据项的实施技巧分享...
  3. linux userdel删除用户命令
  4. RealARM 210开发板 u-boot传递mac地址到内核的方法
  5. linux dump命令 异机,Oracle 11.2.0.4 从单实例,使用RMAN 异机恢复到RAC
  6. UVA - 572 Oil Deposits
  7. hexo本地博客的转移
  8. Digital River拉来Netconcepts站台 亚太营销服务升级
  9. mysql视图中调用函数写法_从视图中调用函数
  10. android 触摸防抖,一种触摸屏防抖优化方法、系统及触摸屏终端与流程
  11. “删库跑路”重现江湖,技术和制度如何保障数据安全?
  12. 蚁群算法解决tsp问题c语言,蚁群算法解决TSP问题程序.doc
  13. 用Word2007写Blog
  14. This content should also be served over HTTPS
  15. 中国农历2013,2014 (zz.IS2120@BG57IV3)
  16. kotlin android中文文档,Kotlin(android)协程中文翻译
  17. 腾讯云--OOS对象存储服务--java程序封装
  18. android studio开发微信界面
  19. RAM、ROM、emmc、iNand、SD卡、mmc 与 Nandflash 的区别
  20. 人脸识别之人眼定位、人脸矫正、人脸尺寸标准化---Mastering OpenCV with Practical Computer Vision Projects

热门文章

  1. 适合运动时戴的蓝牙耳机有哪些、运动耳机品牌推荐
  2. WPF列车运行图绘制功能
  3. details about rtp and rtcp
  4. debug 神器 gem 'pry-rails'
  5. PICRUSt2 安装 q2/ conda / APP 和简单代码
  6. Java毕设项目智慧后勤系统计算机(附源码+系统+数据库+LW)
  7. ubuntu下音频播放器
  8. 2022北京健康博览会,北京健康展览会,北京健康产品交易会
  9. java jframe案例_Java JFrame.setMinimumSize方法代码示例
  10. SMT贴片加工的价格是怎么计算报价的