FrameLayoutにドラッグ可能な子TextViewがありますが、このテキストまたは余白を変更しようとするとonViewReleasedメソッドとonViewPositionChangedメソッドが正しく動作しません(元の位置にスクロールします)。 TextViewをスクロールしています。私はそれを正しく使用するか、私が知るべきことがあるかどうかは分かりません。コードのViewDragHelperが正常に動作しない
一部:
ViewDragHelper.Callback callback = new ViewDragHelper.Callback() {
@Override public boolean tryCaptureView(View child, int pointerId) {
return child == indicator;
}
@Override public int clampViewPositionHorizontal(View child, int left, int dx) {
final int leftBound = getPaddingLeft();
final int rightBound = getWidth() - indicator.getWidth() - leftBound;
final int newLeft = Math.min(Math.max(left, leftBound), rightBound);
return newLeft;
}
@Override public void onViewReleased(View releasedChild, float xvel, float yvel) {
if (indicator == releasedChild) {
if (releasedChild.getLeft() > ((endPointX - startPointX)/2)) {
textView.setText("FRUSTRATION");
helper.settleCapturedViewAt(endPointX, getPaddingTop());
} else {
textView.setText("INDICATOR");
helper.settleCapturedViewAt(startPointX, getPaddingTop());
}
invalidate();
}
}
};