expandGroup can now animate
Add a boolean to have expandGroup animate the same as performItemClick does Change-Id: I652c6fa8f9a7b527572337b11900d653b5285352
This commit is contained in:
@@ -24010,6 +24010,7 @@ package android.widget {
|
||||
ctor public ExpandableListView(android.content.Context, android.util.AttributeSet, int);
|
||||
method public boolean collapseGroup(int);
|
||||
method public boolean expandGroup(int);
|
||||
method public boolean expandGroup(int, boolean);
|
||||
method public android.widget.ExpandableListAdapter getExpandableListAdapter();
|
||||
method public long getExpandableListPosition(int);
|
||||
method public int getFlatListPosition(long);
|
||||
|
||||
@@ -599,12 +599,35 @@ public class ExpandableListView extends ListView {
|
||||
* was already expanded, this will return false)
|
||||
*/
|
||||
public boolean expandGroup(int groupPos) {
|
||||
boolean retValue = mConnector.expandGroup(groupPos);
|
||||
return expandGroup(groupPos, false);
|
||||
}
|
||||
|
||||
/**
|
||||
* Expand a group in the grouped list view
|
||||
*
|
||||
* @param groupPos the group to be expanded
|
||||
* @param animate true if the expanding group should be animated in
|
||||
* @return True if the group was expanded, false otherwise (if the group
|
||||
* was already expanded, this will return false)
|
||||
*/
|
||||
public boolean expandGroup(int groupPos, boolean animate) {
|
||||
PositionMetadata pm = mConnector.getFlattenedPos(ExpandableListPosition.obtain(
|
||||
ExpandableListPosition.GROUP, groupPos, -1, -1));
|
||||
boolean retValue = mConnector.expandGroup(pm);
|
||||
|
||||
if (mOnGroupExpandListener != null) {
|
||||
mOnGroupExpandListener.onGroupExpand(groupPos);
|
||||
}
|
||||
|
||||
|
||||
if (animate) {
|
||||
final int groupFlatPos = pm.position.flatListPos;
|
||||
|
||||
final int shiftedGroupPosition = groupFlatPos + getHeaderViewsCount();
|
||||
smoothScrollToPosition(shiftedGroupPosition + mAdapter.getChildrenCount(groupPos),
|
||||
shiftedGroupPosition);
|
||||
}
|
||||
pm.recycle();
|
||||
|
||||
return retValue;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user