- Mastering Android Studio 3
- Kyle Mew
- 354字
- 2021-07-02 18:42:35
Applying constraints
The best way to see how this works is to try it, as these few simple steps will demonstrate. Create a ConstraintLayout as described previously and drag and drop one or two views or widgets from the palette onto the blueprint screen, similar to following figure:

Each view has constraint handles on its corners and its sides. Those on the corners are for simply resizing a view in the way that we are all familiar with. Those along the sides, however, are used to create constraints. These position views are relative to their parents or each other in a way that is not dissimilar to the relative layout.
As this is largely a graphical form of editing, it is best demonstrated by action. Drag the left side anchor point of one of your views toward the left side of the layout and release the mouse button as prompted to create a parent constraint. This being a layout that contains others will be a parent constraint.
If you now open the text editor, you will see the constraint realized like so:
app:layout_constraintLeft_toLeftOf="parent"
You will also notice from the code that an error is generated by this view. This is because we need both vertical and horizontal constraints for each view. This is achieved in exactly the same way, with something like:
app:layout_constraintTop_toTopOf="parent"
Constraints can be created between child views as well, using the same drag and drop technique or:
app:layout_constraintTop_toBottomOf="@+id/image_view"
Constraints can be used to align sibling views as well as joining two adjacent sides, which generates code along these lines:
app:layout_constraintLeft_toLeftOf="@+id/image_view"
A constraint can be deleted very simply, in either editor mode, by clicking on its originating handle.
This drag and drop method is not peculiar to Android Studio, but there is one editing tool that is unique to Android Studio by providing a editable schematic perspective in the Properties tool.
- Java EE框架整合開發(fā)入門到實戰(zhàn):Spring+Spring MVC+MyBatis(微課版)
- Vue.js入門與商城開發(fā)實戰(zhàn)
- 前端架構(gòu):從入門到微前端
- 深入淺出Android Jetpack
- Processing互動編程藝術(shù)
- Building Mobile Applications Using Kendo UI Mobile and ASP.NET Web API
- Bootstrap Essentials
- 用Flutter極速構(gòu)建原生應(yīng)用
- Hands-On Full Stack Development with Spring Boot 2.0 and React
- 鴻蒙OS應(yīng)用編程實戰(zhàn)
- Vue.js 3應(yīng)用開發(fā)與核心源碼解析
- JQuery風(fēng)暴:完美用戶體驗
- Visual Basic 程序設(shè)計實踐教程
- Solr權(quán)威指南(下卷)
- Java EE程序設(shè)計與開發(fā)實踐教程