Merge "Sharesheet - Fix scroll behavior moving past bounds" into qt-dev
am: 658312b51c
Change-Id: I794417b7ae2d623ecd9a94d35ea16c96a2a4d9c8
This commit is contained in:
@@ -73,6 +73,11 @@ public class ResolverDrawerLayout extends ViewGroup {
|
|||||||
*/
|
*/
|
||||||
private float mCollapseOffset;
|
private float mCollapseOffset;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Track fractions of pixels from drag calculations. Without this, the view offsets get
|
||||||
|
* out of sync due to frequently dropping fractions of a pixel from '(int) dy' casts.
|
||||||
|
*/
|
||||||
|
private float mDragRemainder = 0.0f;
|
||||||
private int mCollapsibleHeight;
|
private int mCollapsibleHeight;
|
||||||
private int mUncollapsibleHeight;
|
private int mUncollapsibleHeight;
|
||||||
private int mAlwaysShowHeight;
|
private int mAlwaysShowHeight;
|
||||||
@@ -485,6 +490,16 @@ public class ResolverDrawerLayout extends ViewGroup {
|
|||||||
mCollapsibleHeight + mUncollapsibleHeight));
|
mCollapsibleHeight + mUncollapsibleHeight));
|
||||||
if (newPos != mCollapseOffset) {
|
if (newPos != mCollapseOffset) {
|
||||||
dy = newPos - mCollapseOffset;
|
dy = newPos - mCollapseOffset;
|
||||||
|
|
||||||
|
mDragRemainder += dy - (int) dy;
|
||||||
|
if (mDragRemainder >= 1.0f) {
|
||||||
|
mDragRemainder -= 1.0f;
|
||||||
|
dy += 1.0f;
|
||||||
|
} else if (mDragRemainder <= -1.0f) {
|
||||||
|
mDragRemainder += 1.0f;
|
||||||
|
dy -= 1.0f;
|
||||||
|
}
|
||||||
|
|
||||||
final int childCount = getChildCount();
|
final int childCount = getChildCount();
|
||||||
for (int i = 0; i < childCount; i++) {
|
for (int i = 0; i < childCount; i++) {
|
||||||
final View child = getChildAt(i);
|
final View child = getChildAt(i);
|
||||||
|
|||||||
Reference in New Issue
Block a user