Files
react-native/ReactAndroid/src/main/java/com/facebook/react/uimanager/ViewGroupManager.java
Krzysztof Magiera bf598647d2 Convert View to @ReactProp.
Differential Revision: D2479795

committer: Service User <svcscm@fb.com>
2015-09-25 03:14:28 -07:00

61 lines
1.8 KiB
Java

/**
* Copyright (c) 2015-present, Facebook, Inc.
* All rights reserved.
*
* This source code is licensed under the BSD-style license found in the
* LICENSE file in the root directory of this source tree. An additional grant
* of patent rights can be found in the PATENTS file in the same directory.
*/
package com.facebook.react.uimanager;
import android.view.View;
import android.view.ViewGroup;
/**
* Class providing children management API for view managers of classes extending ViewGroup.
*/
public abstract class ViewGroupManager <T extends ViewGroup>
extends BaseViewManager<T, ReactShadowNode> {
@Override
public ReactShadowNode createCSSNodeInstance() {
return new ReactShadowNode();
}
@Override
public void updateExtraData(T root, Object extraData) {
}
public void addView(T parent, View child, int index) {
parent.addView(child, index);
}
public int getChildCount(T parent) {
return parent.getChildCount();
}
public View getChildAt(T parent, int index) {
return parent.getChildAt(index);
}
public void removeView(T parent, View child) {
parent.removeView(child);
}
/**
* Returns whether this View type needs to handle laying out its own children instead of
* deferring to the standard css-layout algorithm.
* Returns true for the layout to *not* be automatically invoked. Instead onLayout will be
* invoked as normal and it is the View instance's responsibility to properly call layout on its
* children.
* Returns false for the default behavior of automatically laying out children without going
* through the ViewGroup's onLayout method. In that case, onLayout for this View type must *not*
* call layout on its children.
*/
public boolean needsCustomLayoutForChildren() {
return false;
}
}