package com.example.administrator.cookman.ui.component.magicindicator; import android.content.Context; import android.util.AttributeSet; import android.view.View; import android.widget.FrameLayout; import com.example.administrator.cookman.ui.component.magicindicator.abs.IPagerNavigator; /** * 整个框架的入口,核心 * 博客: http://hackware.lucode.net * Created by hackware on 2016/6/26. */ public class MagicIndicator extends FrameLayout { private IPagerNavigator mNavigator; public MagicIndicator(Context context) { super(context); } public MagicIndicator(Context context, AttributeSet attrs) { super(context, attrs); } public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) { if (mNavigator != null) { mNavigator.onPageScrolled(position, positionOffset, positionOffsetPixels); } } public void onPageSelected(int position) { if (mNavigator != null) { mNavigator.onPageSelected(position); } } public void onPageScrollStateChanged(int state) { if (mNavigator != null) { mNavigator.onPageScrollStateChanged(state); } } public IPagerNavigator getNavigator() { return mNavigator; } public void setNavigator(IPagerNavigator navigator) { if (mNavigator == navigator) { return; } if (mNavigator != null) { mNavigator.onDetachFromMagicIndicator(); } mNavigator = navigator; removeAllViews(); if (mNavigator instanceof View) { LayoutParams lp = new LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT); addView((View) mNavigator, lp); mNavigator.onAttachToMagicIndicator(); } } }