Merge "Fix issue #13366. Take account of stackFromBottom in computeVerticalScrollOffset()."
This commit is contained in:
@@ -2095,8 +2095,13 @@ public class GridView extends AbsListView {
|
||||
int height = view.getHeight();
|
||||
if (height > 0) {
|
||||
final int numColumns = mNumColumns;
|
||||
final int whichRow = mFirstPosition / numColumns;
|
||||
final int rowCount = (mItemCount + numColumns - 1) / numColumns;
|
||||
// In case of stackFromBottom the calculation of whichRow needs
|
||||
// to take into account that counting from the top the first row
|
||||
// might not be entirely filled.
|
||||
final int oddItemsOnFirstRow = isStackFromBottom() ? ((rowCount * numColumns) -
|
||||
mItemCount) : 0;
|
||||
final int whichRow = (mFirstPosition + oddItemsOnFirstRow) / numColumns;
|
||||
return Math.max(whichRow * 100 - (top * 100) / height +
|
||||
(int) ((float) mScrollY / getHeight() * rowCount * 100), 0);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user