package com.beloo.widget.chipslayoutmanager.gravity;
|
|
import android.util.SparseArray;
|
import android.view.Gravity;
|
|
import com.beloo.widget.chipslayoutmanager.SpanLayoutChildGravity;
|
|
public class RowGravityModifiersFactory implements IGravityModifiersFactory {
|
|
private SparseArray<IGravityModifier> gravityModifierMap;
|
|
public RowGravityModifiersFactory() {
|
gravityModifierMap = new SparseArray<>();
|
|
CenterInRowGravityModifier centerInRowGravityModifier = new CenterInRowGravityModifier();
|
TopGravityModifier topGravityModifier = new TopGravityModifier();
|
BottomGravityModifier bottomGravityModifier = new BottomGravityModifier();
|
|
gravityModifierMap.put(Gravity.TOP, topGravityModifier);
|
gravityModifierMap.put(Gravity.BOTTOM, bottomGravityModifier);
|
gravityModifierMap.put(Gravity.CENTER, centerInRowGravityModifier);
|
gravityModifierMap.put(Gravity.CENTER_VERTICAL, centerInRowGravityModifier);
|
}
|
|
public IGravityModifier getGravityModifier(@SpanLayoutChildGravity int gravity) {
|
IGravityModifier gravityModifier = gravityModifierMap.get(gravity);
|
if (gravityModifier == null) {
|
gravityModifier = gravityModifierMap.get(Gravity.CENTER_VERTICAL);
|
}
|
return gravityModifier;
|
}
|
|
}
|