Fix order property is not respected if set more than once

This commit is contained in:
zh-m
2017-01-10 18:05:52 +02:00
parent 6e07d0e61d
commit 9f7ce6fc60
5 changed files with 155 additions and 59 deletions

View File

@@ -23,6 +23,9 @@ function setLayoutParamsProperty(view: View, setter: (lp: org.nativescript.widge
export function _onNativeOrderPropertyChanged(view: View, newValue: number): void {
setLayoutParamsProperty(view, lp => lp.order = newValue);
if (view.parent && view.parent instanceof FlexboxLayout && view.parent.android) {
view.parent.android.invalidateOrdersCache();
}
}
export function _onNativeFlexGrowPropertyChanged(view: View, newValue: number): void {
@@ -106,6 +109,10 @@ export class FlexboxLayout extends FlexboxLayoutBase {
this._layout = new org.nativescript.widgets.FlexboxLayout(this._context);
}
_invalidateOrdersCache() {
this._nativeView.invalidateOrdersCache();
}
_setNativeFlexDirection(flexDirection: FlexDirection) {
let value = flexDirectionMap[flexDirection];
this.android.setFlexDirection(value);