mirror of
https://github.com/NativeScript/NativeScript.git
synced 2025-11-05 13:26:48 +08:00
@@ -0,0 +1,149 @@
|
||||
/*
|
||||
* Copyright 2016 Google Inc. All rights reserved.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package org.nativescript.widgets;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* Holds properties related to a single flex line. This class is not expected to be changed outside
|
||||
* of the {@link FlexboxLayout}, thus only exposing the getter methods that may be useful for
|
||||
* other classes using the {@link FlexboxLayout}.
|
||||
*/
|
||||
public class FlexLine {
|
||||
|
||||
FlexLine() {
|
||||
}
|
||||
|
||||
/** @see {@link #getLeft()} */
|
||||
int mLeft = Integer.MAX_VALUE;
|
||||
|
||||
/** @see {@link #getTop()} */
|
||||
int mTop = Integer.MAX_VALUE;
|
||||
|
||||
/** @see {@link #getRight()} */
|
||||
int mRight = Integer.MIN_VALUE;
|
||||
|
||||
/** @see {@link #getBottom()} */
|
||||
int mBottom = Integer.MIN_VALUE;
|
||||
|
||||
/** @see {@link #getMainSize()} */
|
||||
int mMainSize;
|
||||
|
||||
/**
|
||||
* The sum of the lengths of dividers along the main axis. This value should be lower or
|
||||
* than than the value of {@link #mMainSize}.
|
||||
*/
|
||||
int mDividerLengthInMainSize;
|
||||
|
||||
/** @see {@link #getCrossSize()} */
|
||||
int mCrossSize;
|
||||
|
||||
/** @see {@link #getItemCount()} */
|
||||
int mItemCount;
|
||||
|
||||
/** @see {@link #getTotalFlexGrow()} */
|
||||
float mTotalFlexGrow;
|
||||
|
||||
/** @see {@link #getTotalFlexShrink()} */
|
||||
float mTotalFlexShrink;
|
||||
|
||||
/**
|
||||
* The largest value of the individual child's baseline (obtained by View#getBaseline()
|
||||
* if the {@link FlexboxLayout#mAlignItems} value is not {@link FlexboxLayout#ALIGN_ITEMS_BASELINE}
|
||||
* or the flex direction is vertical, this value is not used.
|
||||
* If the alignment direction is from the bottom to top,
|
||||
* (e.g. flexWrap == FLEX_WRAP_WRAP_REVERSE and flexDirection == FLEX_DIRECTION_ROW)
|
||||
* store this value from the distance from the bottom of the view minus baseline.
|
||||
* (Calculated as view.getMeasuredHeight() - view.getBaseline - LayoutParams.bottomMargin)
|
||||
*/
|
||||
int mMaxBaseline;
|
||||
|
||||
/**
|
||||
* Store the indices of the children views whose alignSelf property is stretch.
|
||||
* The stored indices are the absolute indices including all children in the Flexbox,
|
||||
* not the relative indices in this flex line.
|
||||
*/
|
||||
List<Integer> mIndicesAlignSelfStretch = new ArrayList<>();
|
||||
|
||||
/**
|
||||
* @return the distance in pixels from the top edge of this view's parent
|
||||
* to the top edge of this FlexLine.
|
||||
*/
|
||||
public int getLeft() {
|
||||
return mLeft;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return the distance in pixels from the top edge of this view's parent
|
||||
* to the top edge of this FlexLine.
|
||||
*/
|
||||
public int getTop() {
|
||||
return mTop;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return the distance in pixels from the right edge of this view's parent
|
||||
* to the right edge of this FlexLine.
|
||||
*/
|
||||
public int getRight() {
|
||||
return mRight;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return the distance in pixels from the bottom edge of this view's parent
|
||||
* to the bottom edge of this FlexLine.
|
||||
*/
|
||||
public int getBottom() {
|
||||
return mBottom;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return the size of the flex line in pixels along the main axis of the flex container.
|
||||
*/
|
||||
public int getMainSize() {
|
||||
return mMainSize;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return the size of the flex line in pixels along the cross axis of the flex container.
|
||||
*/
|
||||
public int getCrossSize() {
|
||||
return mCrossSize;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return the count of the views contained in this flex line.
|
||||
*/
|
||||
public int getItemCount() {
|
||||
return mItemCount;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return the sum of the flexGrow properties of the children included in this flex line
|
||||
*/
|
||||
public float getTotalFlexGrow() {
|
||||
return mTotalFlexGrow;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return the sum of the flexShrink properties of the children included in this flex line
|
||||
*/
|
||||
public float getTotalFlexShrink() {
|
||||
return mTotalFlexShrink;
|
||||
}
|
||||
}
|
||||
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user