Package icyllis.modernui.widget

# Class LinearLayout

java.lang.Object
icyllis.modernui.view.View
icyllis.modernui.view.ViewGroup
icyllis.modernui.widget.LinearLayout

All Implemented Interfaces:
  `Drawable.Callback`, `ViewManager`, `ViewParent`

Direct Known Subclasses:
  `ListMenuItemView`, `RadioGroup`, `TableLayout`, `TableRow`, `TestFragment.TestLinearLayout`

public class LinearLayout extends ViewGroup
A layout that arranges other views either horizontally in a single column or vertically in a single row.

Set `setOrientation(int)` to specify whether child views are displayed in a row or column.

To control how linear layout aligns all the views it contains, set a value for `setGravity(int)`. For example, the snippet above sets android:gravity to "center". The value you set affects both horizontal and vertical alignment of all child views within the single row or column.

You can set `LinearLayout.LayoutParams.weight` on individual child views to specify how linear layout divides remaining space amongst the views it contains. See the Linear Layout guide for an example.

See `LinearLayout.LayoutParams` to learn about other attributes you can set on a child view to affect its position and size in the containing linear layout.

Since:
  2.0

- ## Nested Class Summary

  Nested Classes
  Modifier and Type
  Class
  Description
  `static @interface`
  `LinearLayout.DividerMode`
  `static class`
  `LinearLayout.LayoutParams`
  Per-child layout information associated with ViewLinearLayout.
  `static @interface`
  `LinearLayout.OrientationMode`

  ## Nested classes/interfaces inherited from class icyllis.modernui.view.ViewGroup

  `ViewGroup.MarginLayoutParams`

  ## Nested classes/interfaces inherited from class icyllis.modernui.view.View

  `View.DragShadow, View.Focusable, View.FocusableMode, View.FocusDirection, View.FocusRealDirection, View.LayoutDir, View.NestedScrollType, View.OnAttachStateChangeListener, View.OnClickListener, View.OnContextClickListener, View.OnCreateContextMenuListener, View.OnDragListener, View.OnFocusChangeListener, View.OnGenericMotionListener, View.OnHoverListener, View.OnKeyListener, View.OnLayoutChangeListener, View.OnLongClickListener, View.OnScrollChangeListener, View.OnTouchListener, View.ResolvedLayoutDir, View.ScrollAxis, View.ScrollBarStyle, View.ScrollIndicators, View.TextAlignment, View.Visibility`

- ## Field Summary

  Fields
  Modifier and Type
  Field
  Description
  `static final int`
  `HORIZONTAL`
  Orientation horizontal.
  `static final int`
  `SHOW_DIVIDER_BEGINNING`
  Show a divider at the beginning of the group.
  `static final int`
  `SHOW_DIVIDER_END`
  Show a divider at the end of the group.
  `static final int`
  `SHOW_DIVIDER_MIDDLE`
  Show dividers between each item in the group.
  `static final int`
  `SHOW_DIVIDER_NONE`
  Don't show any dividers.
  `static final int`
  `VERTICAL`
  Orientation vertical.

  ### Fields inherited from class icyllis.modernui.view.ViewGroup

  `CLIP_TO_PADDING_MASK, FLAG_DISALLOW_INTERCEPT, FOCUS_AFTER_DESCENDANTS, FOCUS_BEFORE_DESCENDANTS, FOCUS_BLOCK_DESCENDANTS`

  ### Fields inherited from class icyllis.modernui.view.View

  `ALPHA, BOTTOM, EMPTY_STATE_SET, ENABLED_FOCUSED_SELECTED_STATE_SET, ENABLED_FOCUSED_SELECTED_WINDOW_FOCUSED_STATE_SET, ENABLED_FOCUSED_STATE_SET, ENABLED_FOCUSED_WINDOW_FOCUSED_STATE_SET, ENABLED_SELECTED_STATE_SET, ENABLED_SELECTED_WINDOW_FOCUSED_STATE_SET, ENABLED_STATE_SET, ENABLED_WINDOW_FOCUSED_STATE_SET, FOCUS_BACKWARD, FOCUS_DOWN, FOCUS_FORWARD, FOCUS_LEFT, FOCUS_RIGHT, FOCUS_UP, FOCUSABLE, FOCUSABLE_AUTO, FOCUSABLES_ALL, FOCUSABLES_TOUCH_MODE, FOCUSED_SELECTED_STATE_SET, FOCUSED_SELECTED_WINDOW_FOCUSED_STATE_SET, FOCUSED_STATE_SET, FOCUSED_WINDOW_FOCUSED_STATE_SET, GONE, HAPTIC_FEEDBACK_ENABLED, INVISIBLE, LAYOUT_DIRECTION_INHERIT, LAYOUT_DIRECTION_LOCALE, LAYOUT_DIRECTION_LTR, LAYOUT_DIRECTION_RTL, LAYOUT_DIRECTION_UNDEFINED, LEFT, MEASURED_HEIGHT_STATE_SHIFT, MEASURED_SIZE_MASK, MEASURED_STATE_MASK, MEASURED_STATE_TOO_SMALL, mPaddingBottom, mPaddingLeft, mPaddingRight, mPaddingTop, mScrollX, mScrollY, NO_ID, NOT_FOCUSABLE, OVER_SCROLL_ALWAYS, OVER_SCROLL_IF_CONTENT_SCROLLS, OVER_SCROLL_NEVER, PRESSED_ENABLED_FOCUSED_SELECTED_STATE_SET, PRESSED_ENABLED_FOCUSED_SELECTED_WINDOW_FOCUSED_STATE_SET, PRESSED_ENABLED_FOCUSED_STATE_SET, PRESSED_ENABLED_FOCUSED_WINDOW_FOCUSED_STATE_SET, PRESSED_ENABLED_SELECTED_STATE_SET, PRESSED_ENABLED_SELECTED_WINDOW_FOCUSED_STATE_SET, PRESSED_ENABLED_STATE_SET, PRESSED_ENABLED_WINDOW_FOCUSED_STATE_SET, PRESSED_FOCUSED_SELECTED_STATE_SET, PRESSED_FOCUSED_SELECTED_WINDOW_FOCUSED_STATE_SET, PRESSED_FOCUSED_STATE_SET, PRESSED_FOCUSED_WINDOW_FOCUSED_STATE_SET, PRESSED_SELECTED_STATE_SET, PRESSED_SELECTED_WINDOW_FOCUSED_STATE_SET, PRESSED_STATE_SET, PRESSED_WINDOW_FOCUSED_STATE_SET, RIGHT, ROTATION, ROTATION_X, ROTATION_Y, SCALE_X, SCALE_Y, SCROLL_AXIS_HORIZONTAL, SCROLL_AXIS_NONE, SCROLL_AXIS_VERTICAL, SCROLL_INDICATOR_BOTTOM, SCROLL_INDICATOR_END, SCROLL_INDICATOR_LEFT, SCROLL_INDICATOR_RIGHT, SCROLL_INDICATOR_START, SCROLL_INDICATOR_TOP, SCROLL_X, SCROLL_Y, SCROLLBARS_INSIDE_INSET, SCROLLBARS_INSIDE_OVERLAY, SCROLLBARS_OUTSIDE_INSET, SCROLLBARS_OUTSIDE_OVERLAY, SELECTED_STATE_SET, SELECTED_WINDOW_FOCUSED_STATE_SET, SOUND_EFFECTS_ENABLED, TEXT_ALIGNMENT_CENTER, TEXT_ALIGNMENT_GRAVITY, TEXT_ALIGNMENT_INHERIT, TEXT_ALIGNMENT_TEXT_END, TEXT_ALIGNMENT_TEXT_START, TEXT_ALIGNMENT_VIEW_END, TEXT_ALIGNMENT_VIEW_START, TEXT_DIRECTION_ANY_RTL, TEXT_DIRECTION_FIRST_STRONG, TEXT_DIRECTION_FIRST_STRONG_LTR, TEXT_DIRECTION_FIRST_STRONG_RTL, TEXT_DIRECTION_INHERIT, TEXT_DIRECTION_LOCALE, TEXT_DIRECTION_LTR, TEXT_DIRECTION_RTL, TOP, TRANSLATION_X, TRANSLATION_Y, TRANSLATION_Z, TYPE_NON_TOUCH, TYPE_TOUCH, VIEW_MARKER, VISIBLE, WINDOW_FOCUSED_STATE_SET, X, Y, Z`

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `LinearLayout(Context context)`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `protected boolean`
  `checkLayoutParams(ViewGroup.LayoutParams params)`
  Check whether given params fit to this view group.
  `protected ViewGroup.LayoutParams`
  `generateDefaultLayoutParams()`
  Returns a set of layout parameters with a width of `ViewGroup.LayoutParams.MATCH_PARENT` and a height of `ViewGroup.LayoutParams.WRAP_CONTENT` when the layout's orientation is `VERTICAL`.
  `protected ViewGroup.LayoutParams`
  `generateLayoutParams(ViewGroup.LayoutParams params)`
  Returns a safe set of layout parameters based on the supplied layout params.
  `int`
  `getBaseline()`
  Return the offset of the widget's text baseline from the widget's top boundary.
  `int`
  `getBaselineAlignedChildIndex()`
  `Drawable`
  `getDividerDrawable()`
  `int`
  `getDividerPadding()`
  Get the padding size used to inset dividers in pixels
  `int`
  `getDividerWidth()`
  Get the width of the current divider drawable.
  `int`
  `getGravity()`
  Returns the current gravity.
  `int`
  `getOrientation()`
  Returns the current orientation.
  `int`
  `getShowDividers()`
  `float`
  `getWeightSum()`
  Returns the desired weights sum.
  `protected boolean`
  `hasDividerBeforeChildAt(int childIndex)`
  Determines where to position dividers between children.
  `boolean`
  `isBaselineAligned()`
  Indicates whether widgets contained within this layout are aligned on their baseline or not.
  `boolean`
  `isMeasureWithLargestChildEnabled()`
  When true, all children with a weight will be considered having the minimum size of the largest child.
  `protected void`
  `onDraw(Canvas canvas)`
  Draw the content of this view, implement this to do your drawing.
  `protected void`
  `onLayout(boolean changed, int left, int top, int right, int bottom)`
  Called from `View.layout(int, int, int, int)` when this view should assign a size and position to each of its children.
  `protected void`
  `onMeasure(int widthMeasureSpec, int heightMeasureSpec)`
  Measure the view and its content to determine the measured width and the measured height.
  `void`
  `onRtlPropertiesChanged(int layoutDirection)`
  Called when any RTL property (layout direction or text direction or text alignment) has been changed.
  `void`
  `setBaselineAligned(boolean baselineAligned)`
  Defines whether widgets contained in this layout are baseline-aligned or not.
  `void`
  `setBaselineAlignedChildIndex(int i)`
  `void`
  `setDividerDrawable(Drawable divider)`
  Set a drawable to be used as a divider between items.
  `void`
  `setDividerPadding(int padding)`
  Set padding displayed on both ends of dividers.
  `void`
  `setGravity(int gravity)`
  Describes how the child views are positioned.
  `void`
  `setHorizontalGravity(int horizontalGravity)`
  `void`
  `setMeasureWithLargestChildEnabled(boolean enabled)`
  When set to true, all children with a weight will be considered having the minimum size of the largest child.
  `void`
  `setOrientation(int orientation)`
  Should the layout be a column or a row.
  `void`
  `setShowDividers(int showDividers)`
  Set how dividers should be shown between items in this layout
  `void`
  `setVerticalGravity(int verticalGravity)`
  `void`
  `setWeightSum(float weightSum)`
  Defines the desired weights sum.

  ### Methods inherited from class icyllis.modernui.view.ViewGroup

  `addFocusables, addKeyboardNavigationClusters, addStatesFromChildren, addTouchables, addTransientView, addView, addView, addView, addView, addView, addViewInLayout, addViewInLayout, attachViewToParent, bringChildToFront, childDrawableStateChanged, childHasTransientStateChanged, cleanupLayoutState, clearChildFocus, clearDisappearingChildren, clearFocus, detachAllViewsFromParent, detachViewFromParent, detachViewFromParent, detachViewsFromParent, dispatchDraw, dispatchDrawableHotspotChanged, dispatchFinishTemporaryDetach, dispatchGenericPointerEvent, dispatchHoverEvent, dispatchKeyEvent, dispatchKeyShortcutEvent, dispatchSetActivated, dispatchSetPressed, dispatchSetSelected, dispatchStartTemporaryDetach, dispatchTouchEvent, dispatchVisibilityChanged, dispatchWindowFocusChanged, dispatchWindowVisibilityChanged, drawableStateChanged, drawChild, endViewTransition, findFocus, findViewByPredicateTraversal, findViewTraversal, focusableViewAvailable, focusSearch, getChildAt, getChildCount, getChildDrawingOrder, getChildDrawingOrder, getChildMeasureSpec, getChildVisibleRect, getChildVisibleRect, getClipChildren, getClipToPadding, getDescendantFocusability, getFocusedChild, getLayoutTransition, getNestedScrollAxes, getTouchscreenBlocksFocus, getTransientView, getTransientViewCount, getTransientViewIndex, hasBooleanFlag, hasFocus, hasTransientState, indexOfChild, internalSetPadding, isChildrenDrawingOrderEnabled, isLayoutSuppressed, isTransitionGroup, jumpDrawablesToCurrentState, layout, measureChild, measureChildren, measureChildWithMargins, offsetChildrenTopAndBottom, offsetDescendantRectToMyCoords, offsetRectIntoDescendantCoords, onChildVisibilityChanged, onCreateDrawableState, onInterceptHoverEvent, onInterceptTouchEvent, onNestedFling, onNestedPreFling, onNestedPreScroll, onNestedScroll, onNestedScrollAccepted, onRequestFocusInDescendants, onResolvePointerIcon, onSetLayoutParams, onStartNestedScroll, onStopNestedScroll, onViewAdded, onViewRemoved, removeAllViews, removeAllViewsInLayout, removeDetachedView, removeTransientView, removeView, removeViewAt, removeViewInLayout, removeViews, removeViewsInLayout, requestChildFocus, requestChildRectangleOnScreen, requestDisallowInterceptTouchEvent, requestFocus, requestTransitionStart, resetResolvedDrawables, resolveDrawables, resolveLayoutDirection, resolveLayoutParams, resolvePadding, resolveRtlPropertiesIfNeeded, resolveTextAlignment, resolveTextDirection, restoreDefaultFocus, setAddStatesFromChildren, setBooleanFlag, setChildrenDrawingOrderEnabled, setClipChildren, setClipToPadding, setDescendantFocusability, setLayoutTransition, setTouchscreenBlocksFocus, setTransitionGroup, shouldDelayChildPressedState, showContextMenuForChild, startActionModeForChild, startViewTransition, suppressLayout, transformPointToViewLocal, updateViewLayout`

  ### Methods inherited from class icyllis.modernui.view.View

  `addFocusables, addOnAttachStateChangeListener, addOnLayoutChangeListener, awakenScrollBars, awakenScrollBars, callOnClick, cancelLongPress, cancelPendingInputEvents, canReceivePointerEvents, canResolveLayoutDirection, canResolveTextAlignment, canResolveTextDirection, canScrollHorizontally, canScrollVertically, combineMeasuredStates, computeHorizontalScrollExtent, computeHorizontalScrollOffset, computeHorizontalScrollRange, computeScroll, computeVerticalScrollExtent, computeVerticalScrollOffset, computeVerticalScrollRange, createContextMenu, dispatchGenericMotionEvent, dispatchNestedFling, dispatchNestedPreFling, dispatchNestedPreScroll, dispatchNestedScroll, dispatchPointerEvent, dp, draw, drawableHotspotChanged, findViewById, findViewByPredicate, findViewByPredicateInsideOut, focusSearch, forceHasOverlappingRendering, forceLayout, generateViewId, getAlpha, getAnimationMatrix, getBackground, getBottom, getBoundsOnScreen, getBoundsOnScreen, getContext, getContextMenuInfo, getDefaultSize, getDrawableState, getDrawingRect, getElevation, getFadingEdge, getFadingEdgeLength, getFocusable, getFocusables, getFocusedRect, getForeground, getForegroundGravity, getGlobalVisibleRect, getGlobalVisibleRect, getHandler, getHasOverlappingRendering, getHeight, getHitRect, getHorizontalScrollbarHeight, getHorizontalScrollbarThumbDrawable, getHorizontalScrollbarTrackDrawable, getId, getInverseMatrix, getKeyDispatcherState, getLayoutDirection, getLayoutParams, getLeft, getLocalVisibleRect, getLocationInWindow, getLocationOnScreen, getMatrix, getMeasuredHeight, getMeasuredHeightAndState, getMeasuredState, getMeasuredWidth, getMeasuredWidthAndState, getMinimumHeight, getMinimumWidth, getNextClusterForwardId, getNextFocusDownId, getNextFocusForwardId, getNextFocusLeftId, getNextFocusRightId, getNextFocusUpId, getOnFocusChangeListener, getOnLongClickListener, getOverScrollMode, getPaddingBottom, getPaddingEnd, getPaddingLeft, getPaddingRight, getPaddingStart, getPaddingTop, getParent, getPivotX, getPivotY, getRawLayoutDirection, getRawTextAlignment, getRawTextDirection, getRevealOnFocusHint, getRight, getRootView, getRotation, getRotationX, getRotationY, getScaleX, getScaleY, getScrollBarDefaultDelayBeforeFade, getScrollBarFadeDuration, getScrollBarSize, getScrollBarStyle, getScrollIndicators, getScrollX, getScrollY, getStateListAnimator, getSuggestedMinimumHeight, getSuggestedMinimumWidth, getTag, getTextAlignment, getTextDirection, getTooltipText, getTooltipView, getTop, getTouchables, getTransitionAlpha, getTransitionName, getTranslationX, getTranslationY, getTranslationZ, getVerticalFadingEdgeLength, getVerticalScrollbarThumbDrawable, getVerticalScrollbarTrackDrawable, getVerticalScrollbarWidth, getViewRoot, getViewTreeObserver, getVisibility, getWidth, getWindowAttachCount, getWindowVisibility, getX, getY, getZ, handleScrollBarDragging, hasExplicitFocusable, hasFocusable, hasIdentityMatrix, hasNestedScrollingParent, hasOnClickListeners, hasOnLongClickListeners, hasOverlappingRendering, hasTranslationTransientState, hasWindowFocus, invalidate, invalidateDrawable, isActivated, isAttachedToWindow, isClickable, isContextClickable, isDuplicateParentStateEnabled, isEnabled, isFocusable, isFocusableInTouchMode, isFocused, isFocusedByDefault, isForegroundInsidePadding, isHapticFeedbackEnabled, isHorizontalFadingEdgeEnabled, isHorizontalScrollBarEnabled, isHovered, isInLayout, isInScrollingContainer, isInTouchMode, isKeyboardNavigationCluster, isLaidOut, isLayoutDirectionInherited, isLayoutDirectionResolved, isLayoutRequested, isLayoutRtl, isLongClickable, isNestedScrollingEnabled, isPaddingRelative, isPivotSet, isPressed, isRootNamespace, isScrollbarFadingEnabled, isSelected, isShowingLayoutBounds, isShown, isSoundEffectsEnabled, isTemporarilyDetached, isTextAlignmentInherited, isTextAlignmentResolved, isTextDirectionInherited, isTextDirectionResolved, isVerticalFadingEdgeEnabled, isVerticalScrollBarEnabled, isVerticalScrollBarHidden, keyboardNavigationClusterSearch, mapRectFromViewToScreenCoords, measure, mergeDrawableStates, offsetLeftAndRight, offsetTopAndBottom, onAttachedToWindow, onCancelPendingInputEvents, onCreateContextMenu, onDetachedFromWindow, onDragEvent, onDrawForeground, onDrawScrollBars, onFinishTemporaryDetach, onFocusChanged, onGenericMotionEvent, onHoverChanged, onHoverEvent, onKeyDown, onKeyShortcut, onKeyUp, onOverScrolled, onResolveDrawables, onScrollChanged, onSizeChanged, onStartTemporaryDetach, onTouchEvent, onVisibilityAggregated, onVisibilityChanged, onWindowFocusChanged, onWindowVisibilityChanged, overScrollBy, performButtonActionOnTouchDown, performClick, performContextClick, performContextClick, performHapticFeedback, performHapticFeedback, performLongClick, performLongClick, playSoundEffect, pointInView, post, postDelayed, postInvalidate, postInvalidateDelayed, postInvalidateOnAnimation, postOnAnimation, postOnAnimationDelayed, refreshDrawableState, removeCallbacks, removeOnAttachStateChangeListener, removeOnLayoutChangeListener, requestFocus, requestFocus, requestLayout, requestRectangleOnScreen, requestRectangleOnScreen, requireViewById, resetPivot, resolveSize, resolveSizeAndState, scheduleDrawable, scrollBy, scrollTo, setActivated, setAlpha, setAnimationMatrix, setBackground, setBottom, setClickable, setContextClickable, setDuplicateParentStateEnabled, setElevation, setEnabled, setFocusable, setFocusable, setFocusableInTouchMode, setFocusedByDefault, setFocusedInCluster, setForeground, setForegroundGravity, setFrame, setHapticFeedbackEnabled, setHasTransientState, setHasTranslationTransientState, setHorizontalFadingEdgeEnabled, setHorizontalScrollBarEnabled, setHorizontalScrollbarThumbDrawable, setHorizontalScrollbarTrackDrawable, setHovered, setId, setIsRootNamespace, setKeyboardNavigationCluster, setLayoutDirection, setLayoutParams, setLeft, setLongClickable, setMeasuredDimension, setMinimumHeight, setMinimumWidth, setNestedScrollingEnabled, setNextClusterForwardId, setNextFocusDownId, setNextFocusForwardId, setNextFocusLeftId, setNextFocusRightId, setNextFocusUpId, setOnClickListener, setOnContextClickListener, setOnCreateContextMenuListener, setOnDragListener, setOnFocusChangeListener, setOnGenericMotionListener, setOnHoverListener, setOnKeyListener, setOnLongClickListener, setOnScrollChangeListener, setOnTouchListener, setOverScrollMode, setPadding, setPaddingRelative, setPivotX, setPivotY, setPressed, setRevealOnFocusHint, setRight, setRotation, setRotationX, setRotationY, setScaleX, setScaleY, setScrollBarDefaultDelayBeforeFade, setScrollBarFadeDuration, setScrollbarFadingEnabled, setScrollBarSize, setScrollBarStyle, setScrollIndicators, setScrollIndicators, setScrollX, setScrollY, setSelected, setSoundEffectsEnabled, setStateListAnimator, setTag, setTextAlignment, setTextDirection, setTooltipText, setTop, setTransitionAlpha, setTransitionName, setTransitionVisibility, setTranslationX, setTranslationY, setTranslationZ, setVerticalFadingEdgeEnabled, setVerticalScrollBarEnabled, setVerticalScrollbarThumbDrawable, setVerticalScrollbarTrackDrawable, setVisibility, setWillNotDraw, setX, setY, setZ, showContextMenu, showContextMenu, sp, startActionMode, startActionMode, startDragAndDrop, startNestedScroll, stopNestedScroll, toGlobalMotionEvent, toLocalMotionEvent, toString, transformFromViewToWindowSpace, transformMatrixToGlobal, transformMatrixToLocal, unscheduleDrawable, unscheduleDrawable, verifyDrawable, willNotDraw`

  ### Methods inherited from class java.lang.Object

  `clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

  ### Methods inherited from interface icyllis.modernui.view.ViewParent

  `canResolveLayoutDirection, canResolveTextAlignment, canResolveTextDirection, createContextMenu, getLayoutDirection, getParent, getTextAlignment, getTextDirection, isLayoutDirectionResolved, isLayoutRequested, isTextAlignmentResolved, isTextDirectionResolved, keyboardNavigationClusterSearch, requestLayout`

- ## Field Details

  - ### HORIZONTAL

    public static final int HORIZONTAL
    Orientation horizontal.
    See Also:
      - Constant Field Values

  - ### VERTICAL

    public static final int VERTICAL
    Orientation vertical.
    See Also:
      - Constant Field Values

  - ### SHOW_DIVIDER_NONE

    public static final int SHOW_DIVIDER_NONE
    Don't show any dividers.
    See Also:
      - Constant Field Values

  - ### SHOW_DIVIDER_BEGINNING

    public static final int SHOW_DIVIDER_BEGINNING
    Show a divider at the beginning of the group.
    See Also:
      - Constant Field Values

  - ### SHOW_DIVIDER_MIDDLE

    public static final int SHOW_DIVIDER_MIDDLE
    Show dividers between each item in the group.
    See Also:
      - Constant Field Values

  - ### SHOW_DIVIDER_END

    public static final int SHOW_DIVIDER_END
    Show a divider at the end of the group.
    See Also:
      - Constant Field Values

- ## Constructor Details

  - ### LinearLayout

    public LinearLayout(Context context)

- ## Method Details

  - ### setShowDividers

    public void setShowDividers(int showDividers)
    Set how dividers should be shown between items in this layout
    Parameters:
      `showDividers` - One or more of `SHOW_DIVIDER_BEGINNING`, `SHOW_DIVIDER_MIDDLE`, or `SHOW_DIVIDER_END` to show dividers, or `SHOW_DIVIDER_NONE` to show no dividers.

  - ### getShowDividers

    public int getShowDividers()
    Returns:
      A flag set indicating how dividers should be shown around items.
    See Also:
      - `setShowDividers(int)`

  - ### getDividerDrawable

    @Nullable public Drawable getDividerDrawable()
    Returns:
      the divider Drawable that will divide each item.
    See Also:
      - `setDividerDrawable(Drawable)`

  - ### setDividerDrawable

    public void setDividerDrawable(@Nullable Drawable divider)
    Set a drawable to be used as a divider between items.
    Parameters:
      `divider` - Drawable that will divide each item.
    See Also:
      - `setShowDividers(int)`

  - ### setDividerPadding

    public void setDividerPadding(int padding)
    Set padding displayed on both ends of dividers. For a vertical layout, the padding is applied to left and right end of dividers. For a horizontal layout, the padding is applied to top and bottom end of dividers.
    Parameters:
      `padding` - Padding value in pixels that will be applied to each end
    See Also:
      - `setShowDividers(int)`
      - `setDividerDrawable(Drawable)`
      - `getDividerPadding()`

  - ### getDividerPadding

    public int getDividerPadding()
    Get the padding size used to inset dividers in pixels
    See Also:
      - `setShowDividers(int)`
      - `setDividerDrawable(Drawable)`
      - `setDividerPadding(int)`

  - ### getDividerWidth

    public int getDividerWidth()
    Get the width of the current divider drawable.

  - ### isBaselineAligned

    public boolean isBaselineAligned()

    Indicates whether widgets contained within this layout are aligned on their baseline or not.

    Returns:
      true when widgets are baseline-aligned, false otherwise

  - ### setBaselineAligned

    public void setBaselineAligned(boolean baselineAligned)

    Defines whether widgets contained in this layout are baseline-aligned or not.

    Parameters:
      `baselineAligned` - true to align widgets on their baseline, false otherwise

  - ### isMeasureWithLargestChildEnabled

    public boolean isMeasureWithLargestChildEnabled()
    When true, all children with a weight will be considered having the minimum size of the largest child. If false, all children are measured normally.
    Returns:
      True to measure children with a weight using the minimum size of the largest child, false otherwise.

  - ### setMeasureWithLargestChildEnabled

    public void setMeasureWithLargestChildEnabled(boolean enabled)
    When set to true, all children with a weight will be considered having the minimum size of the largest child. If false, all children are measured normally.

    Disabled by default.

    Parameters:
      `enabled` - True to measure children with a weight using the minimum size of the largest child, false otherwise.

  - ### getBaseline

    public int getBaseline()
    Description copied from class: `View`

    Return the offset of the widget's text baseline from the widget's top boundary. If this widget does not support baseline alignment, this method returns -1.

    Overrides:
      `getBaseline` in class `View`
    Returns:
      the offset of the baseline within the widget's bounds or -1 if baseline alignment is not supported

  - ### getBaselineAlignedChildIndex

    public int getBaselineAlignedChildIndex()
    Returns:
      The index of the child that will be used if this layout is part of a larger layout that is baseline aligned, or -1 if none has been set.

  - ### setBaselineAlignedChildIndex

    public void setBaselineAlignedChildIndex(int i)
    Parameters:
      `i` - The index of the child that will be used if this layout is part of a larger layout that is baseline aligned.

  - ### getWeightSum

    public float getWeightSum()
    Returns the desired weights sum.
    Returns:
      A number greater than 0.0f if the weight sum is defined, or a number lower than or equals to 0.0f if not weight sum is to be used.

  - ### setWeightSum

    public void setWeightSum(float weightSum)
    Defines the desired weights sum. If unspecified the weights sum is computed at layout time by adding the layout_weight of each child.

    This can be used for instance to give a single child 50% of the total available space by giving it a layout_weight of 0.5 and setting the weightSum to 1.0.

    Parameters:
      `weightSum` - a number greater than 0.0f, or a number lower than or equals to 0.0f if the weight sum should be computed from the children's layout_weight

  - ### onDraw

    protected void onDraw(@Nonnull Canvas canvas)
    Description copied from class: `View`
    Draw the content of this view, implement this to do your drawing.

    Note that (0, 0) will be the top left of the bounds, and (width, height) will be the bottom right of the bounds.

    Overrides:
      `onDraw` in class `View`
    Parameters:
      `canvas` - the canvas to draw content

  - ### onMeasure

    protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec)
    Description copied from class: `View`
    Measure the view and its content to determine the measured width and the measured height. This method is invoked by `View.measure(int, int)` and should be overridden by subclasses to provide accurate and efficient measurement of their contents.

    CONTRACT: When overriding this method, you must call `View.setMeasuredDimension(int, int)` to store the measured width and height of this view. Failure to do so will trigger an `IllegalStateException`, thrown by `View.measure(int, int)`. Calling super.onMeasure() is a valid use.

    The base class implementation of measure defaults to the background size, unless a larger size is allowed by the MeasureSpec. Subclasses should override the base one to provide better measurements of their content.

    Overrides:
      `onMeasure` in class `View`
    Parameters:
      `widthMeasureSpec` - width measure specification imposed by the parent `MeasureSpec`
      `heightMeasureSpec` - height measure specification imposed by the parent `MeasureSpec`

  - ### hasDividerBeforeChildAt

    protected boolean hasDividerBeforeChildAt(int childIndex)
    Determines where to position dividers between children.
    Parameters:
      `childIndex` - Index of child to check for preceding divider
    Returns:
      true if there should be a divider before the child at childIndex

  - ### onLayout

    protected void onLayout(boolean changed, int left, int top, int right, int bottom)
    Description copied from class: `View`
    Called from `View.layout(int, int, int, int)` when this view should assign a size and position to each of its children.

    Derived classes with children should override this method and call layout on each of their children.

    Specified by:
      `onLayout` in class `ViewGroup`
    Parameters:
      `changed` - This is a new size or position for this view
      `left` - Left position, relative to parent
      `top` - Top position, relative to parent
      `right` - Right position, relative to parent
      `bottom` - Bottom position, relative to parent

  - ### onRtlPropertiesChanged

    public void onRtlPropertiesChanged(int layoutDirection)
    Description copied from class: `View`
    Called when any RTL property (layout direction or text direction or text alignment) has been changed.

    Subclasses need to override this method to take care of cached information that depends on the resolved layout direction, or to inform child views that inherit their layout direction.

    The default implementation does nothing.

    Overrides:
      `onRtlPropertiesChanged` in class `View`
    Parameters:
      `layoutDirection` - the direction of the layout
    See Also:
      - `View.LAYOUT_DIRECTION_LTR`
      - `View.LAYOUT_DIRECTION_RTL`

  - ### setOrientation

    public void setOrientation(int orientation)
    Should the layout be a column or a row.
    Parameters:
      `orientation` - Pass `HORIZONTAL` or `VERTICAL`. Default value is `HORIZONTAL`.

  - ### getOrientation

    public int getOrientation()
    Returns the current orientation.
    Returns:
      either `HORIZONTAL` or `VERTICAL`

  - ### setGravity

    public void setGravity(int gravity)
    Describes how the child views are positioned. Defaults to GRAVITY_TOP. If this layout has a VERTICAL orientation, this controls where all the child views are placed if there is extra vertical space. If this layout has a HORIZONTAL orientation, this controls the alignment of the children.
    Parameters:
      `gravity` - See `Gravity`

  - ### getGravity

    public int getGravity()
    Returns the current gravity. See `Gravity`
    Returns:
      the current gravity.
    See Also:
      - `setGravity(int)`

  - ### setHorizontalGravity

    public void setHorizontalGravity(int horizontalGravity)

  - ### setVerticalGravity

    public void setVerticalGravity(int verticalGravity)

  - ### generateLayoutParams

    @Nonnull protected ViewGroup.LayoutParams generateLayoutParams(@Nonnull ViewGroup.LayoutParams params)
    Description copied from class: `ViewGroup`
    Returns a safe set of layout parameters based on the supplied layout params. When a ViewGroup is passed a View whose layout params do not pass the test of `ViewGroup.checkLayoutParams(LayoutParams)`, this method is invoked. This method should return a new set of layout params suitable for this ViewGroup, possibly by copying the appropriate attributes from the specified set of layout params.
    Overrides:
      `generateLayoutParams` in class `ViewGroup`
    Parameters:
      `params` - The layout parameters to convert into a suitable set of layout parameters for this ViewGroup.
    Returns:
      an instance of `ViewGroup.LayoutParams` or one of its descendants

  - ### generateDefaultLayoutParams

    @Nonnull protected ViewGroup.LayoutParams generateDefaultLayoutParams()
    Returns a set of layout parameters with a width of `ViewGroup.LayoutParams.MATCH_PARENT` and a height of `ViewGroup.LayoutParams.WRAP_CONTENT` when the layout's orientation is `VERTICAL`. When the orientation is `HORIZONTAL`, the width is set to `ViewGroup.LayoutParams.WRAP_CONTENT` and the height to `ViewGroup.LayoutParams.WRAP_CONTENT`.
    Overrides:
      `generateDefaultLayoutParams` in class `ViewGroup`
    Returns:
      a set of default layout parameters

  - ### checkLayoutParams

    protected boolean checkLayoutParams(@Nullable ViewGroup.LayoutParams params)
    Description copied from class: `ViewGroup`
    Check whether given params fit to this view group.

    See also `ViewGroup.generateLayoutParams(LayoutParams)` See also `ViewGroup.generateDefaultLayoutParams()`

    Overrides:
      `checkLayoutParams` in class `ViewGroup`
    Parameters:
      `params` - layout params to check
    Returns:
      if params matched to this view group