Guideline
public
class
Guideline
extends View
| java.lang.Object | ||
| ↳ | View | |
| ↳ | android.support.constraint.Guideline | |
Utility class representing a Guideline helper object for ConstraintLayout.
Helper objects are not displayed on device (they are marked as View.GONE) and are only used
for layout purposes. They only work within a ConstraintLayout.
A Guideline can be either horizontal or vertical:
- Vertical Guidelines have a width of zero and the height of their
ConstraintLayoutparent - Horizontal Guidelines have a height of zero and the width of their
ConstraintLayoutparent
Positioning a Guideline is possible in three different ways:
- specifying a fixed distance from the left or the top of a layout (
layout_constraintGuide_begin) - specifying a fixed distance from the right or the bottom of a layout (
layout_constraintGuide_end) - specifying a percentage of the width or the height of a layout (
layout_constraintGuide_percent)
Widgets can then be constrained to a Guideline, allowing multiple widgets to be positioned easily from one Guideline, or allowing reactive layout behavior by using percent positioning.
See the list of attributes in ConstraintLayout.LayoutParams to set a Guideline
in XML, as well as the corresponding ConstraintSet.setGuidelineBegin(int, int), ConstraintSet.setGuidelineEnd(int, int)
and ConstraintSet.setGuidelinePercent(int, float) functions in ConstraintSet.
Example of a Button constrained to a vertical Guideline:
<android.support.constraint.ConstraintLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent">
<android.support.constraint.Guideline
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/guideline"
app:layout_constraintGuide_begin="100dp"
android:orientation="vertical"/>
<Button
android:text="Button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/button"
app:layout_constraintLeft_toLeftOf="@+id/guideline"
android:layout_marginTop="16dp"
app:layout_constraintTop_toTopOf="parent" />
</android.support.constraint.ConstraintLayout>Summary
Public constructors | |
|---|---|
Guideline(Context context)
|
|
Guideline(Context context, AttributeSet attrs)
|
|
Guideline(Context context, AttributeSet attrs, int defStyleAttr)
|
|
Guideline(Context context, AttributeSet attrs, int defStyleAttr, int defStyleRes)
|
|
Public methods | |
|---|---|
void
|
setGuidelineBegin(int margin)
Set the guideline's distance from the top or left edge. |
void
|
setGuidelineEnd(int margin)
Set a guideline's distance to end. |
void
|
setGuidelinePercent(float ratio)
Set a Guideline's percent. |
Inherited methods | |
|---|---|
Public constructors
Guideline
public Guideline (Context context)
| Parameters | |
|---|---|
context |
Context |
Guideline
public Guideline (Context context,
AttributeSet attrs)| Parameters | |
|---|---|
context |
Context |
attrs |
AttributeSet |
Guideline
public Guideline (Context context,
AttributeSet attrs,
int defStyleAttr)| Parameters | |
|---|---|
context |
Context |
attrs |
AttributeSet |
defStyleAttr |
int |
Guideline
public Guideline (Context context,
AttributeSet attrs,
int defStyleAttr,
int defStyleRes)| Parameters | |
|---|---|
context |
Context |
attrs |
AttributeSet |
defStyleAttr |
int |
defStyleRes |
int |
Public methods
setGuidelineBegin
public void setGuidelineBegin (int margin)
Set the guideline's distance from the top or left edge.
| Parameters | |
|---|---|
margin |
int: the distance to the top or left edge
|
setGuidelineEnd
public void setGuidelineEnd (int margin)
Set a guideline's distance to end.
| Parameters | |
|---|---|
margin |
int: the margin to the right or bottom side of container
|
setGuidelinePercent
public void setGuidelinePercent (float ratio)
Set a Guideline's percent.
| Parameters | |
|---|---|
ratio |
float: the ratio between the gap on the left and right 0.0 is top/left 0.5 is middle
|