コード例 #1
0
  private void onFinishedAnimation(int newScreen) {

    final boolean toLeft = newScreen > mCurrentScreen;
    final boolean toRight = newScreen < mCurrentScreen;
    final boolean changed = newScreen != mCurrentScreen;

    mCurrentScreen = newScreen;
    mIndicator.setLevel(mCurrentScreen, mItemCount);
    Launcher.setScreen(mCurrentScreen);
    mNextScreen = INVALID_SCREEN;

    fillToGalleryRight();
    fillToGalleryLeft();

    if (toLeft) {
      detachOffScreenChildren(true);
    } else if (toRight) {
      detachOffScreenChildren(false);
    }

    if (changed) {
      /*
       * setSelectedPositionInt( newScreen ); setNextSelectedPositionInt( newScreen ); checkSelectionChanged();
       *
       * if( mPageChangeListener != null ) mPageChangeListener.onPageChanged( newScreen, mItemCount );
       */
    }

    clearChildrenCache();
  }
コード例 #2
0
 @Override
 protected void onRestoreInstanceState(Parcelable state) {
   Log.e(TAG, "onRestoreInstanceState");
   SavedState savedState = (SavedState) state;
   super.onRestoreInstanceState(savedState.getSuperState());
   if (savedState.currentScreen != -1) {
     mCurrentScreen = savedState.currentScreen;
     Launcher.setScreen(mCurrentScreen);
   }
 }
コード例 #3
0
  private void initWorkspace(Context context, AttributeSet attrs, int defStyle) {
    TypedArray a = context.obtainStyledAttributes(attrs, R.styleable.Workspace, defStyle, 0);
    mDefaultScreen = a.getInt(R.styleable.Workspace_defaultScreen, 0);
    a.recycle();

    setHapticFeedbackEnabled(false);

    mScrollInterpolator = new WorkspaceOvershootInterpolator();
    mScroller = new Scroller(context, mScrollInterpolator);
    mCurrentScreen = mDefaultScreen;
    Launcher.setScreen(mCurrentScreen);

    final ViewConfiguration configuration = ViewConfiguration.get(getContext());
    mTouchSlop = configuration.getScaledTouchSlop();
    mMaximumVelocity = configuration.getScaledMaximumFlingVelocity();

    int overscrollMode = a.getInt(R.styleable.Workspace_overscroll, 0);
    setOverScroll(overscrollMode);
  }