Adding support for custom page indicator markers.
Change-Id: I057b0cccc4194157d92ebb123af2afaf94fb5415
diff --git a/src/com/android/launcher3/PagedView.java b/src/com/android/launcher3/PagedView.java
index aaff588..9bdbe46 100644
--- a/src/com/android/launcher3/PagedView.java
+++ b/src/com/android/launcher3/PagedView.java
@@ -326,7 +326,12 @@
if (mPageIndicator == null && mPageIndicatorViewId > -1) {
mPageIndicator = (PageIndicator) parent.findViewById(mPageIndicatorViewId);
mPageIndicator.removeAllMarkers();
- mPageIndicator.addMarkers(getChildCount());
+
+ ArrayList<Integer> markers = new ArrayList<Integer>();
+ for (int i = 0; i < getChildCount(); ++i) {
+ markers.add(getPageIndicatorMarker(i));
+ }
+ mPageIndicator.addMarkers(markers);
}
}
@@ -403,6 +408,9 @@
PageIndicator getPageIndicator() {
return mPageIndicator;
}
+ protected int getPageIndicatorMarker(int pageIndex) {
+ return R.layout.page_indicator_marker;
+ }
public void setPageSwitchListener(PageSwitchListener pageSwitchListener) {
mPageSwitchListener = pageSwitchListener;
@@ -896,7 +904,8 @@
// Update the page indicator, we don't update the page indicator as we
// add/remove pages
if (mPageIndicator != null && !isReordering(false)) {
- mPageIndicator.addMarker(indexOfChild(child));
+ int pageIndex = indexOfChild(child);
+ mPageIndicator.addMarker(pageIndex, getPageIndicatorMarker(pageIndex));
}
// This ensures that when children are added, they get the correct transforms / alphas