use of com.marshalchen.common.uimodule.freeflow.core.Section in project UltimateAndroid by cymcsg.
the class HGridLayout method getContentWidth.
@Override
public int getContentWidth() {
if (itemsAdapter == null || itemsAdapter.getNumberOfSections() <= 0) {
return 0;
}
int sectionIndex = itemsAdapter.getNumberOfSections() - 1;
Section s = itemsAdapter.getSection(sectionIndex);
if (s.getDataCount() == 0)
return 0;
Object lastFrameData = s.getDataAtIndex(s.getDataCount() - 1);
FreeFlowItem fd = proxies.get(lastFrameData);
return (fd.frame.left + fd.frame.width());
}
use of com.marshalchen.common.uimodule.freeflow.core.Section in project UltimateAndroid by cymcsg.
the class HGridLayout method prepareLayout.
public void prepareLayout() {
proxies.clear();
int rows = height / itemHeight;
int leftStart = 0;
for (int i = 0; i < itemsAdapter.getNumberOfSections(); i++) {
Section s = itemsAdapter.getSection(i);
if (itemsAdapter.shouldDisplaySectionHeaders()) {
FreeFlowItem header = new FreeFlowItem();
Rect hframe = new Rect();
header.itemSection = i;
header.itemIndex = -1;
header.isHeader = true;
hframe.left = leftStart;
hframe.top = 0;
hframe.right = leftStart + headerWidth;
hframe.bottom = headerHeight;
header.frame = hframe;
header.data = s.getHeaderData();
proxies.put(header.data, header);
leftStart += headerWidth;
}
for (int j = 0; j < s.getDataCount(); j++) {
FreeFlowItem descriptor = new FreeFlowItem();
Rect frame = new Rect();
descriptor.itemSection = i;
descriptor.itemIndex = j;
frame.left = (j / rows) * itemWidth + leftStart;
frame.top = (j % rows) * itemHeight;
frame.right = frame.left + itemWidth;
frame.bottom = frame.top + itemHeight;
descriptor.frame = frame;
descriptor.data = s.getDataAtIndex(j);
proxies.put(descriptor.data, descriptor);
}
int mod = 0;
if (s.getDataCount() % rows != 0)
mod = 1;
leftStart += ((s.getDataCount() / rows) + mod) * itemWidth;
}
}
use of com.marshalchen.common.uimodule.freeflow.core.Section in project UltimateAndroid by cymcsg.
the class HLayout method prepareLayout.
public void prepareLayout() {
if (itemWidth < 0) {
throw new IllegalStateException("itemWidth not set");
}
proxies.clear();
int leftStart = 0;
for (int i = 0; i < itemsAdapter.getNumberOfSections(); i++) {
Section s = itemsAdapter.getSection(i);
if (itemsAdapter.shouldDisplaySectionHeaders()) {
if (headerWidth < 0) {
throw new IllegalStateException("headerWidth not set");
}
if (headerHeight < 0) {
throw new IllegalStateException("headerHeight not set");
}
FreeFlowItem header = new FreeFlowItem();
Rect hframe = new Rect();
header.itemSection = i;
header.itemIndex = -1;
header.isHeader = true;
hframe.left = leftStart;
hframe.top = 0;
hframe.right = leftStart + headerWidth;
hframe.bottom = headerHeight;
header.frame = hframe;
header.data = s.getHeaderData();
proxies.put(header.data, header);
leftStart += headerWidth;
}
for (int j = 0; j < s.getDataCount(); j++) {
FreeFlowItem descriptor = new FreeFlowItem();
Rect frame = new Rect();
descriptor.itemSection = i;
descriptor.itemIndex = j;
frame.left = j * itemWidth + leftStart;
frame.top = 0;
frame.right = frame.left + itemWidth;
frame.bottom = height;
descriptor.frame = frame;
descriptor.data = s.getDataAtIndex(j);
proxies.put(descriptor.data, descriptor);
}
leftStart += s.getDataCount() * itemWidth;
}
}
use of com.marshalchen.common.uimodule.freeflow.core.Section in project UltimateAndroid by cymcsg.
the class VGridLayout method getContentHeight.
@Override
public int getContentHeight() {
if (itemsAdapter == null || itemsAdapter.getNumberOfSections() <= 0) {
return 0;
}
int sectionIndex = itemsAdapter.getNumberOfSections() - 1;
Section s = itemsAdapter.getSection(sectionIndex);
if (s.getDataCount() == 0)
return 0;
Object lastFrameData = s.getDataAtIndex(s.getDataCount() - 1);
FreeFlowItem fd = proxies.get(lastFrameData);
if (fd == null) {
return 0;
}
return (fd.frame.top + fd.frame.height());
}
use of com.marshalchen.common.uimodule.freeflow.core.Section in project UltimateAndroid by cymcsg.
the class VLayout method getContentHeight.
@Override
public int getContentHeight() {
if (itemsAdapter == null || itemsAdapter.getNumberOfSections() <= 0) {
return 0;
}
int sectionIndex = itemsAdapter.getNumberOfSections() - 1;
Section s = itemsAdapter.getSection(sectionIndex);
if (s.getDataCount() == 0)
return 0;
Object lastFrameData = s.getDataAtIndex(s.getDataCount() - 1);
FreeFlowItem fd = proxies.get(lastFrameData);
return (fd.frame.top + fd.frame.height());
}
Aggregations