當前位置: 首頁>>代碼示例>>Java>>正文


Java PositionData.horizontalCenter方法代碼示例

本文整理匯總了Java中net.lucode.hackware.magicindicator.buildins.commonnavigator.model.PositionData.horizontalCenter方法的典型用法代碼示例。如果您正苦於以下問題:Java PositionData.horizontalCenter方法的具體用法?Java PositionData.horizontalCenter怎麽用?Java PositionData.horizontalCenter使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在net.lucode.hackware.magicindicator.buildins.commonnavigator.model.PositionData的用法示例。


在下文中一共展示了PositionData.horizontalCenter方法的2個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Java代碼示例。

示例1: onPageScrolled

import net.lucode.hackware.magicindicator.buildins.commonnavigator.model.PositionData; //導入方法依賴的package包/類
@Override
public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) {
    if (mAdapter != null) {

        mNavigatorHelper.onPageScrolled(position, positionOffset, positionOffsetPixels);
        if (mIndicator != null) {
            mIndicator.onPageScrolled(position, positionOffset, positionOffsetPixels);
        }

        // 手指跟隨滾動
        if (mScrollView != null && mPositionDataList.size() > 0 && position >= 0 && position < mPositionDataList.size()) {
            if (mFollowTouch) {
                int currentPosition = Math.min(mPositionDataList.size() - 1, position);
                int nextPosition = Math.min(mPositionDataList.size() - 1, position + 1);
                PositionData current = mPositionDataList.get(currentPosition);
                PositionData next = mPositionDataList.get(nextPosition);
                float scrollTo = current.horizontalCenter() - mScrollView.getWidth() * mScrollPivotX;
                float nextScrollTo = next.horizontalCenter() - mScrollView.getWidth() * mScrollPivotX;
                mScrollView.scrollTo((int) (scrollTo + (nextScrollTo - scrollTo) * positionOffset), 0);
            } else if (!mEnablePivotScroll) {
                // TODO 實現待選中項完全顯示出來
            }
        }
    }
}
 
開發者ID:weiwenqiang,項目名稱:GitHub,代碼行數:26,代碼來源:CommonNavigator.java

示例2: onSelected

import net.lucode.hackware.magicindicator.buildins.commonnavigator.model.PositionData; //導入方法依賴的package包/類
@Override
public void onSelected(int index, int totalCount) {
    if (mTitleContainer == null) {
        return;
    }
    View v = mTitleContainer.getChildAt(index);
    if (v instanceof IPagerTitleView) {
        ((IPagerTitleView) v).onSelected(index, totalCount);
    }
    if (!mAdjustMode && !mFollowTouch && mScrollView != null && mPositionDataList.size() > 0) {
        int currentIndex = Math.min(mPositionDataList.size() - 1, index);
        PositionData current = mPositionDataList.get(currentIndex);
        if (mEnablePivotScroll) {
            float scrollTo = current.horizontalCenter() - mScrollView.getWidth() * mScrollPivotX;
            if (mSmoothScroll) {
                mScrollView.smoothScrollTo((int) (scrollTo), 0);
            } else {
                mScrollView.scrollTo((int) (scrollTo), 0);
            }
        } else {
            // 如果當前項被部分遮擋,則滾動顯示完全
            if (mScrollView.getScrollX() > current.mLeft) {
                if (mSmoothScroll) {
                    mScrollView.smoothScrollTo(current.mLeft, 0);
                } else {
                    mScrollView.scrollTo(current.mLeft, 0);
                }
            } else if (mScrollView.getScrollX() + getWidth() < current.mRight) {
                if (mSmoothScroll) {
                    mScrollView.smoothScrollTo(current.mRight - getWidth(), 0);
                } else {
                    mScrollView.scrollTo(current.mRight - getWidth(), 0);
                }
            }
        }
    }
}
 
開發者ID:weiwenqiang,項目名稱:GitHub,代碼行數:38,代碼來源:CommonNavigator.java


注:本文中的net.lucode.hackware.magicindicator.buildins.commonnavigator.model.PositionData.horizontalCenter方法示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。