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
ConstraintLayout
parent - Horizontal Guidelines have a height of zero and the width of their
ConstraintLayout
parent
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
|