Search in sources :

Example 16 with LineDefinition

use of org.apmem.tools.layouts.logic.LineDefinition in project android-flowlayout by ApmeM.

the class CommonLogicTests method GravityApplyUseAllAvailableSpaceHorizontallyWithLastPixel.

@Test
public void GravityApplyUseAllAvailableSpaceHorizontallyWithLastPixel() {
    ConfigDefinition config = new ConfigDefinition();
    config.setMaxWidth(31);
    config.setMaxHeight(20);
    config.setGravity(Gravity.FILL);
    ArrayList<LineDefinition> lines = new ArrayList<>();
    ArrayList<ViewDefinition> views = new ArrayList<>();
    for (int i = 0; i < 4; i++) {
        ViewDefinition view = new ViewDefinition(config, null);
        view.setWidth(10);
        view.setHeight(10);
        views.add(view);
    }
    CommonLogic.fillLines(views, lines, config);
    CommonLogic.calculateLinesAndChildPosition(lines);
    CommonLogic.applyGravityToLines(lines, 31, 20, config);
    Assert.assertEquals(2, lines.size());
    Assert.assertEquals(10, lines.get(0).getViews().get(0).getWidth());
    Assert.assertEquals(10, lines.get(0).getViews().get(1).getWidth());
    Assert.assertEquals(11, lines.get(0).getViews().get(2).getWidth());
}
Also used : LineDefinition(org.apmem.tools.layouts.logic.LineDefinition) ViewDefinition(org.apmem.tools.layouts.logic.ViewDefinition) ConfigDefinition(org.apmem.tools.layouts.logic.ConfigDefinition) ArrayList(java.util.ArrayList) Test(org.junit.Test)

Aggregations

LineDefinition (org.apmem.tools.layouts.logic.LineDefinition)16 ViewDefinition (org.apmem.tools.layouts.logic.ViewDefinition)16 ConfigDefinition (org.apmem.tools.layouts.logic.ConfigDefinition)13 Test (org.junit.Test)13 ArrayList (java.util.ArrayList)6 View (android.view.View)3 Paint (android.graphics.Paint)2 RecyclerView (android.support.v7.widget.RecyclerView)1