Example usage for android.support.v4.view ViewPager setOnPageChangeListener

List of usage examples for android.support.v4.view ViewPager setOnPageChangeListener

Introduction

In this page you can find the example usage for android.support.v4.view ViewPager setOnPageChangeListener.

Prototype

public void setOnPageChangeListener(OnPageChangeListener listener) 

Source Link

Document

Set a listener that will be invoked whenever the page changes or is incrementally scrolled.

Usage

From source file:com.momock.outlet.tab.PagerTabOutlet.java

public void attach(TabHolder target) {
    Logger.check(target != null, "Parameter target cannot be null!");
    Logger.check(target.getTabContent() instanceof ViewPager,
            "The PagerTabOutlet must contains a ViewPager content!");
    this.target = target;
    final TabHost tabHost = target.getTabHost();
    final ViewPager tabContent = (ViewPager) target.getTabContent();
    plugs = getPlugs();//from ww w.j ava  2  s  . c  om

    ViewPager pager = (ViewPager) target.getTabContent();
    for (int i = 0; i < plugs.getItemCount(); i++) {
        ITabPlug plug = (ITabPlug) plugs.getItem(i);
        Logger.check(plug.getContent() instanceof ViewHolder,
                "The plug of PagerTabOutlet must include a ViewHolder!");
        ((ViewHolder) plug.getContent()).reset();
    }
    pager.setAdapter(new PagerAdapter() {

        @Override
        public int getCount() {
            return plugs.getItemCount();
        }

        @Override
        public boolean isViewFromObject(View view, Object object) {
            return view == object;
        }

        @Override
        public Object instantiateItem(ViewGroup container, int position) {
            ITabPlug plug = (ITabPlug) plugs.getItem(position);
            View view = ((ViewHolder) plug.getContent()).getView();
            container.addView(view);
            return view;
        }

        @Override
        public void destroyItem(ViewGroup container, int position, Object object) {
            container.removeView((View) object);
        }
    });

    tabContent.setOnPageChangeListener(new ViewPager.OnPageChangeListener() {

        @Override
        public void onPageSelected(int position) {
            TabWidget widget = tabHost.getTabWidget();
            int oldFocusability = widget.getDescendantFocusability();
            widget.setDescendantFocusability(ViewGroup.FOCUS_BLOCK_DESCENDANTS);
            tabHost.setCurrentTab(position);
            widget.setDescendantFocusability(oldFocusability);
        }

        @Override
        public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) {

        }

        @Override
        public void onPageScrollStateChanged(int state) {

        }
    });
    tabHost.setup();
    tabHost.setOnTabChangedListener(new TabHost.OnTabChangeListener() {

        @Override
        public void onTabChanged(String tabId) {
            int index = tabHost.getCurrentTab();
            ITabPlug plug = (ITabPlug) plugs.getItem(index);
            setActivePlug(plug);
            tabContent.setCurrentItem(index, true);
        }
    });
    for (int i = 0; i < plugs.getItemCount(); i++) {
        final ITabPlug plug = (ITabPlug) plugs.getItem(i);
        Logger.check(plug.getContent() instanceof ViewHolder,
                "Plug in PagerTabOutlet must contains a ViewHolder content!");

        TabHost.TabSpec spec = tabHost.newTabSpec("" + i);
        target.setTabIndicator(spec, plug);
        spec.setContent(new TabContentFactory() {

            @Override
            public View createTabContent(String tag) {
                View v = new View(tabHost.getContext());
                v.setMinimumWidth(0);
                v.setMinimumHeight(0);
                return v;
            }

        });
        tabHost.addTab(spec);
        if (getActivePlug() == plug)
            tabHost.setCurrentTab(i);
    }
}

From source file:com.dxj.student.widget.PagerSlidingTabStrip.java

public void setViewPager(ViewPager pager) {
    this.pager = pager;
    if (infoDataNum >= 4) {
        defaultTabLayoutParams = new LinearLayout.LayoutParams((MyUtils.getScreenWidth(getContext()) / 4),
                LayoutParams.MATCH_PARENT);
    } else if (infoDataNum == 2) {
        Log.i("TAG", "infoDataNum==2");
        defaultTabLayoutParams = new LinearLayout.LayoutParams((MyUtils.dip2px(getContext(), 100)),
                LayoutParams.MATCH_PARENT);
    } else if (infoDataNum == 1) {
        defaultTabLayoutParams = new LinearLayout.LayoutParams((MyUtils.getScreenWidth(getContext()) / 1),
                LayoutParams.MATCH_PARENT);
    } else {//from   w w w  .  ja  v a 2  s .c om
        defaultTabLayoutParams = new LinearLayout.LayoutParams((MyUtils.getScreenWidth(getContext()) / 3),
                LayoutParams.MATCH_PARENT);
    }
    expandedTabLayoutParams = new LinearLayout.LayoutParams(0, LayoutParams.MATCH_PARENT, 1.0f);
    if (pager.getAdapter() == null) {
        throw new IllegalStateException("ViewPager does not have adapter instance.");
    }
    pager.setOnPageChangeListener(pageListener);
    notifyDataSetChanged();
}

From source file:com.seatgeek.placesautocompletedemo.MainFragment.java

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
    final View rootView = inflater.inflate(R.layout.fragment_main, container, false);
    mapActivity = getActivity();// ww w  .j  a  va 2  s . co  m
    dataProvider = new DataProvider(mapActivity);
    placePickerGoogle(placePickerIntent);

    tinydb = new TinyDB(getContext());

    arrayListBookmark = tinydb.getListString("BOOKMARK");

    recyclerView = (RecyclerView) rootView.findViewById(R.id.recycler_cmt);
    scrollView = (NestedScrollView) rootView.findViewById(R.id.scrollView);

    mAdapter = new MessagesAdapter(getContext(), messages, this);
    RecyclerView.LayoutManager mLayoutManager = new LinearLayoutManager(getContext());
    recyclerView.setLayoutManager(mLayoutManager);
    recyclerView.setItemAnimator(new DefaultItemAnimator());
    recyclerView.addItemDecoration(new DividerItemDecoration(getContext(), LinearLayoutManager.VERTICAL));
    recyclerView.setAdapter(mAdapter);
    recyclerView.setNestedScrollingEnabled(false);
    recyclerView.setFocusable(false);

    scrollView.scrollTo(0, 0);

    //        mListView = (LockableRecyclerView) rootView.findViewById(android.R.id.list);
    //        mListView.setOverScrollMode(ListView.OVER_SCROLL_NEVER);

    searchLocation = (CardView) rootView.findViewById(R.id.search_bar);
    searchLocation.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            mLayout.setPanelState(SlidingUpPanelLayout.PanelState.HIDDEN);
            startActivityForResult(placePickerIntent, PLACE_AUTOCOMPLETE_REQUEST_CODE);
        }
    });

    final LayoutInflater inflatera = (LayoutInflater) getActivity()
            .getSystemService(Context.LAYOUT_INFLATER_SERVICE);
    customView = inflatera.inflate(R.layout.review, null);

    dialogReview = new MaterialStyledDialog.Builder(getActivity()).setHeaderDrawable(R.drawable.header_2)
            .setCustomView(customView, 20, 20, 20, 0).build();

    btn_Rate = (Button) rootView.findViewById(R.id.btn_rate);
    btn_book = (Button) rootView.findViewById(R.id.btn_book);

    btn_Rate.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            //                if (customView != null) {
            //                    ViewGroup parent = (ViewGroup) customView.getParent();
            //                    if (parent != null) {
            //                        parent.removeView(customView);
            //                    }
            //                }
            //                try {
            //                    customView = inflatera.inflate(R.layout.review,null);
            //                } catch (InflateException e) {
            //
            //                }
            //                dialogHeader_4.getBuilder().setCustomView(customView,20,20,20,0);
            dialogReview.show();

        }
    });

    btn_book.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            if (arrayListBookmark.contains(currentPos)) {
                btn_book.setBackgroundResource(R.drawable.star_off);
                arrayListBookmark.remove(currentPos);
            } else {
                btn_book.setBackgroundResource(R.drawable.star_on);
                arrayListBookmark.add(currentPos);
            }
            tinydb.putListString("BOOKMARK", arrayListBookmark);
            //                btn_book.setBackgroundResource(R.drawable.star_on);
        }
    });

    rating = (SmileRating) customView.findViewById(R.id.ratingsBar);

    final EditText ed_review = (EditText) customView.findViewById(R.id.reviewED);
    final EditText ed_title = (EditText) customView.findViewById(R.id.titleED);
    Button cancelDialog = (Button) customView.findViewById(R.id.cancelD);
    cancelDialog.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            dialogReview.dismiss();
        }
    });
    Button submitDialog = (Button) customView.findViewById(R.id.submitD);
    submitDialog.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            //            Toast.makeText(getActivity().getApplicationContext(),""+rating.getRating(),Toast.LENGTH_SHORT).show();
            sendComment(10, ed_review.getText().toString().trim(), ed_title.getText().toString().trim(),
                    rating.getRating(), new ParkingCar());
        }
    });

    sharedPreferences = PreferenceManager.getDefaultSharedPreferences(mapActivity);
    latitude = sharedPreferences.getString("LATITUDE", null);
    longitude = sharedPreferences.getString("LONGITUDE", null);
    RADIUS = sharedPreferences.getString("RADIUS", "1000");

    ViewPager pager = (ViewPager) rootView.findViewById(R.id.pager);
    pager.setAdapter(new ImageAdapter(getActivity()));
    pager.setCurrentItem(getArguments().getInt(Constants.Extra.IMAGE_POSITION, 0));
    pager.setOnPageChangeListener(new ViewPager.OnPageChangeListener() {
        @Override
        public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) {
            for (int i = 0; i < dotsCount; i++) {
                dots[i].setTextColor(getResources().getColor(android.R.color.black));
            }
            dots[position].setTextColor(Color.GREEN);
        }

        @Override
        public void onPageSelected(int position) {

        }

        @Override
        public void onPageScrollStateChanged(int state) {

        }
    });
    setUiPageViewController(rootView);

    mLayout = (SlidingUpPanelLayout) rootView.findViewById(R.id.sliding_layout);
    mLayout.setPanelState(SlidingUpPanelLayout.PanelState.COLLAPSED);
    mLayout.setPanelState(SlidingUpPanelLayout.PanelState.HIDDEN);
    mLayout.setAnchorPoint(0.68f);
    mLayout.addPanelSlideListener(new SlidingUpPanelLayout.PanelSlideListener() {
        @Override
        public void onPanelSlide(View panel, float slideOffset) {
            Log.i("", "onPanelSlide, offset " + slideOffset);
        }

        @Override
        public void onPanelStateChanged(View panel, SlidingUpPanelLayout.PanelState previousState,
                SlidingUpPanelLayout.PanelState newState) {
            Log.i("", "onPanelStateChanged " + newState);
            if (newState == SlidingUpPanelLayout.PanelState.COLLAPSED) {
                scrollView.scrollTo(0, 0);
            }
        }
    });
    mLayout.setFadeOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {
            mLayout.setPanelState(SlidingUpPanelLayout.PanelState.COLLAPSED);
        }
    });

    txt_Adress = (TextView) rootView.findViewById(R.id.name);
    txt_Scale = (TextView) rootView.findViewById(R.id.txt_Scale);
    txt_Add = (TextView) rootView.findViewById(R.id.textView3);
    txt_Type = (TextView) rootView.findViewById(R.id.textView4);
    txt_Rate = (TextView) rootView.findViewById(R.id.textView5);
    Typeface tf = Typeface.createFromAsset(getActivity().getAssets(), "font/UTM Avo.ttf");
    Typeface tf1 = Typeface.createFromAsset(getActivity().getAssets(), "font/UTM Dax.ttf");
    txt_Adress.setTypeface(tf, Typeface.BOLD);
    txt_Scale.setTypeface(tf1, Typeface.BOLD);
    txt_Add.setTypeface(tf1, Typeface.BOLD);
    txt_Type.setTypeface(tf1, Typeface.BOLD);
    txt_Rate.setTypeface(tf1, Typeface.BOLD);

    collapseMap();
    return rootView;
}

From source file:com.umeng.common.ui.emoji.EmojiBorad.java

/**
 * init. Set params and add show emoji views</br>
 *//*from  w w w. ja v a2s. c o m*/
private void init() {
    computeBoardHeight();
    setOrientation(LinearLayout.VERTICAL);

    setBackgroundColor(Color.parseColor("#f4f4f6"));
    ViewPager viewPager = createVIewpager();
    addView(viewPager);
    ViewGroup container = createPointLinearlayout();
    List<EmojiView> datas = new ArrayList<EmojiView>();

    int lens = People.DATA.length;
    int pages = lens / PAGE_SIZE; // pages?
    for (int i = 0; i < pages; i++) {
        EmojiBean[] blocks = new EmojiBean[PAGE_SIZE + 1];
        System.arraycopy(People.DATA, i * PAGE_SIZE, blocks, 0, blocks.length - 1);
        blocks[PAGE_SIZE] = EmojiBean.fromChars(DELETE_KEY);
        datas.add(new EmojiView(getContext(), blocks)); // the last is
        // delete icon
    }
    // add remain emoji view
    if (pages * PAGE_SIZE < lens) {
        EmojiBean[] blocks = new EmojiBean[lens - pages * PAGE_SIZE];
        System.arraycopy(People.DATA, pages * PAGE_SIZE, blocks, 0, blocks.length);
        datas.add(new EmojiView(getContext(), blocks));
    }

    // add indicator
    for (int i = 0; i < datas.size(); i++) {
        ImageView indicatorView = createIndicator();
        mIndicators.add(indicatorView);
        container.addView(indicatorView);
    }
    addView(container);
    size = datas.size();
    // set cache view count
    viewPager.setOffscreenPageLimit(datas.size());
    // 
    mIndicators.get(mLastSelectViewPos).setImageDrawable(ColorQueque.getDrawable(mSelectIcon));
    mAdapter = new EmojiPagerAdapter(getContext(), datas);
    viewPager.setAdapter(mAdapter);
    viewPager.setOnPageChangeListener(this);
}

From source file:com.pikachu.emoji.widget.EmojiView.java

/**
 * init. Set params and add show emoji views</br>
 *///  www  .  jav a  2s .c  o  m
@SuppressWarnings("deprecation")
private void init() {
    computeBoardHeight();
    setOrientation(LinearLayout.VERTICAL);

    setBackgroundColor(Color.parseColor("#f4f4f6"));
    ViewPager viewPager = createVIewpager();
    addView(viewPager);
    ViewGroup container = createPointLinearlayout();
    List<EmojiPage> datas = new ArrayList<EmojiPage>();
    int lens = EmojiSource.DATA.length;
    int pages = lens / PAGE_SIZE; // pages?
    for (int i = 0; i < pages; i++) {
        EmojiBean[] blocks = new EmojiBean[PAGE_SIZE + 1];
        System.arraycopy(EmojiSource.DATA, i * PAGE_SIZE, blocks, 0, blocks.length - 1);
        blocks[PAGE_SIZE] = EmojiBean.fromChars(DELETE_KEY);
        datas.add(new EmojiPage(getContext(), blocks)); // the last is
                                                        // delete icon
    }
    // add remain emoji view
    if (pages * PAGE_SIZE < lens) {
        EmojiBean[] blocks = new EmojiBean[lens - pages * PAGE_SIZE];
        System.arraycopy(EmojiSource.DATA, pages * PAGE_SIZE, blocks, 0, blocks.length);
        datas.add(new EmojiPage(getContext(), blocks));
    }

    // add indicator
    for (int i = 0; i < datas.size(); i++) {
        ImageView indicatorView = createIndicator();
        mIndicators.add(indicatorView);
        container.addView(indicatorView);
    }
    addView(container);

    // set cache view count
    viewPager.setOffscreenPageLimit(datas.size());
    // 
    mIndicators.get(mLastSelectViewPos).setImageDrawable(ResFinder.getDrawable(mSelectIcon));
    mAdapter = new EmojiPagerAdapter(getContext(), datas);
    viewPager.setAdapter(mAdapter);
    viewPager.setOnPageChangeListener(this);
}

From source file:com.umeng.comm.ui.emoji.EmojiBorad.java

/**
 * init. Set params and add show emoji views</br>
 *///from ww  w  . j  av a 2  s.  c o m
private void init() {
    computeBoardHeight();
    setOrientation(LinearLayout.VERTICAL);

    setBackgroundColor(Color.parseColor("#f4f4f6"));
    ViewPager viewPager = createVIewpager();
    addView(viewPager);
    ViewGroup container = createPointLinearlayout();
    List<EmojiView> datas = new ArrayList<EmojiView>();

    int lens = People.DATA.length;
    int pages = lens / PAGE_SIZE; // pages?
    for (int i = 0; i < pages; i++) {
        EmojiBean[] blocks = new EmojiBean[PAGE_SIZE + 1];
        System.arraycopy(People.DATA, i * PAGE_SIZE, blocks, 0, blocks.length - 1);
        blocks[PAGE_SIZE] = EmojiBean.fromChars(DELETE_KEY);
        datas.add(new EmojiView(getContext(), blocks)); // the last is
                                                        // delete icon
    }
    // add remain emoji view
    if (pages * PAGE_SIZE < lens) {
        EmojiBean[] blocks = new EmojiBean[lens - pages * PAGE_SIZE];
        System.arraycopy(People.DATA, pages * PAGE_SIZE, blocks, 0, blocks.length);
        datas.add(new EmojiView(getContext(), blocks));
    }

    // add indicator
    for (int i = 0; i < datas.size(); i++) {
        ImageView indicatorView = createIndicator();
        mIndicators.add(indicatorView);
        container.addView(indicatorView);
    }
    addView(container);
    size = datas.size();
    // set cache view count
    viewPager.setOffscreenPageLimit(datas.size());
    // 
    mIndicators.get(mLastSelectViewPos).setImageDrawable(ResFinder.getDrawable(mSelectIcon));
    mAdapter = new EmojiPagerAdapter(getContext(), datas);
    viewPager.setAdapter(mAdapter);
    viewPager.setOnPageChangeListener(this);
}

From source file:com.umeng.comm.ui.imagepicker.emoji.EmojiBorad.java

/**
 * init. Set params and setList show emoji views</br>
 *//*from w ww  . java 2  s.c o m*/
private void init() {
    computeBoardHeight();
    setOrientation(LinearLayout.VERTICAL);

    setBackgroundColor(Color.parseColor("#f4f4f6"));
    ViewPager viewPager = createVIewpager();
    addView(viewPager);
    ViewGroup container = createPointLinearlayout();
    List<EmojiView> datas = new ArrayList<EmojiView>();

    int lens = People.DATA.length;
    int pages = lens / PAGE_SIZE; // pages?
    for (int i = 0; i < pages; i++) {
        EmojiBean[] blocks = new EmojiBean[PAGE_SIZE + 1];
        System.arraycopy(People.DATA, i * PAGE_SIZE, blocks, 0, blocks.length - 1);
        blocks[PAGE_SIZE] = EmojiBean.fromChars(DELETE_KEY);
        datas.add(new EmojiView(getContext(), blocks)); // the last is
                                                        // icon_delete icon
    }
    // setList remain emoji view
    if (pages * PAGE_SIZE < lens) {
        EmojiBean[] blocks = new EmojiBean[lens - pages * PAGE_SIZE];
        System.arraycopy(People.DATA, pages * PAGE_SIZE, blocks, 0, blocks.length);
        datas.add(new EmojiView(getContext(), blocks));
    }

    // setList indicator
    for (int i = 0; i < datas.size(); i++) {
        ImageView indicatorView = createIndicator();
        mIndicators.add(indicatorView);
        container.addView(indicatorView);
    }
    addView(container);
    size = datas.size();
    // set cache view count
    viewPager.setOffscreenPageLimit(datas.size());
    // 
    mIndicators.get(mLastSelectViewPos).setImageDrawable(ResFinder.getDrawable(mSelectIcon));
    mAdapter = new EmojiPagerAdapter(getContext(), datas);
    viewPager.setAdapter(mAdapter);
    viewPager.setOnPageChangeListener(this);
}

From source file:mp.teardrop.LibraryActivity.java

@Override
public void onCreate(Bundle state) {
    super.onCreate(state);

    if (state == null) {
        checkForLaunch(getIntent());//from  w w w  . ja  va 2 s .  co  m
    }

    setContentView(R.layout.library_content);

    /* Dropbox API stuff */
    AndroidAuthSession session = buildSession();
    mApi = new DropboxAPI<AndroidAuthSession>(session);

    /* if(mApi.getSession().isLinked()) {
    updateUi(true);
    } */
    /* end Dropbox API stuff */

    LibraryPagerAdapter pagerAdapter = new LibraryPagerAdapter(this, mLooper);
    mPagerAdapter = pagerAdapter;

    ViewPager pager = (ViewPager) findViewById(R.id.pager);
    pager.setAdapter(pagerAdapter);
    mViewPager = pager;

    //apply some styles that can't be configured in XML
    PagerTabStrip strip = (PagerTabStrip) findViewById(R.id.pager_title_strip);
    strip.setDrawFullUnderline(false);
    strip.setTabIndicatorColor(0xc51162);

    pager.setOnPageChangeListener(pagerAdapter);

    mActionControls = findViewById(R.id.bottom_bar_controls);
    mTitle = (TextView) mActionControls.findViewById(R.id.title);
    mArtist = (TextView) mActionControls.findViewById(R.id.artist);
    mCover = (ImageView) mActionControls.findViewById(R.id.cover);

    mRoundPlayAllButton = (ImageButton) findViewById(R.id.round_play_all_button);
    mRoundPlayAllButton.setOnClickListener(this);
    registerForContextMenu(mRoundPlayAllButton);

    mPagerAdapter.loadTabOrder();

    loadAlbumIntent(getIntent());
}

From source file:com.mingle.discolor.PagerSlidingTabStrip.java

public void setViewPager(ViewPager pager) {
    this.pager = pager;

    if (colors != null) {
        setBackgroundColor(colors[pager.getCurrentItem()]);
    }// w w  w  .j  a v  a 2  s. c  o  m

    if (pager.getAdapter() == null) {
        throw new IllegalStateException("ViewPager does not have adapter instance.");
    }

    pager.setOnTouchListener(new OnTouchListener() {
        @Override
        public boolean onTouch(View v, MotionEvent event) {

            switch (event.getAction()) {
            case MotionEvent.ACTION_DOWN:
                startX = event.getRawX();
                direction = ScrollDirection.SCROLL_DIRECTION_NONE;
                break;
            case MotionEvent.ACTION_MOVE:

                if (event.getRawX() > startX) {
                    direction = ScrollDirection.SCROLL_DIRECTION_LEFT;

                } else {
                    direction = ScrollDirection.SCROLL_DIRECTION_RIGHT;
                }
                break;
            case MotionEvent.ACTION_CANCEL:
            case MotionEvent.ACTION_UP:

                break;

            }

            return false;
        }
    });
    pager.setOnPageChangeListener(pageListener);

    notifyDataSetChanged();
}

From source file:tv.piratemedia.lightcontroler.controller.java

private void setupApp() {

    mActionBarToolbar = (Toolbar) findViewById(R.id.toolbar_actionbar);
    setSupportActionBar(mActionBarToolbar);

    prefs = PreferenceManager.getDefaultSharedPreferences(this);

    if (!prefs.getBoolean("rgbw_enabled", false) && !prefs.getBoolean("white_enabled", false)) {
        askControlType();/*from   ww  w .j  av  a2s  . c om*/
    } else {

        final ViewPager pager = (ViewPager) findViewById(R.id.pager);
        pager.setAdapter(new ControllerPager(getSupportFragmentManager(), this));

        tabs = (PagerSlidingTabStrip) findViewById(R.id.pager_title_strip);
        tabs.setViewPager(pager);

        if (!prefs.getBoolean("navigation_tabs", false)) {
            drawer.setProfile(new DrawerProfile().setAvatar(getResources().getDrawable(R.drawable.icon))
                    .setBackground(getResources().getDrawable(R.drawable.drawer_profile_background))
                    .setName("Light Controller"));

            mActionBarToolbar = (Toolbar) findViewById(R.id.toolbar_actionbar);
            mActionBarToolbar.setNavigationIcon(R.drawable.ic_menu_white_24dp);

            pager.setOnPageChangeListener(new ViewPager.OnPageChangeListener() {
                @Override
                public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) {

                }

                @Override
                public void onPageSelected(int position) {
                    mActionBarToolbar.setTitle(pager.getAdapter().getPageTitle(position));
                }

                @Override
                public void onPageScrollStateChanged(int state) {

                }
            });
            this.setTitle(pager.getAdapter().getPageTitle(0));
            mActionBarToolbar.setTitle(pager.getAdapter().getPageTitle(0));
            tabs.setVisibility(View.GONE);

            for (int i = 0; i < pager.getAdapter().getCount(); i++) {
                if (i == 5) {
                    drawer.addDivider();
                }
                drawer.addItem(new DrawerItem().setTextMode(DrawerItem.SINGLE_LINE)
                        .setTextPrimary(pager.getAdapter().getPageTitle(i).toString())
                        .setOnItemClickListener(new DrawerItem.OnItemClickListener() {
                            @Override
                            public void onClick(DrawerItem drawerItem, int i, int i2) {
                                int item = i2;
                                if (item > 4) {
                                    item--;
                                }
                                pager.setCurrentItem(item, true);
                                drawer.closeDrawer();
                            }
                        }));
            }
            drawer.addDivider();
            drawer.addItem(new DrawerItem().setTextMode(DrawerItem.SINGLE_LINE)
                    .setTextPrimary(getResources().getString(R.string.action_settings))
                    .setOnItemClickListener(new DrawerItem.OnItemClickListener() {
                        @Override
                        public void onClick(DrawerItem drawerItem, int i, int i2) {
                            Intent intent = new Intent(getApplicationContext(), controlPreferences.class);
                            startActivity(intent);
                            finish();
                            drawer.closeDrawer();
                        }
                    }));

            final PackageManager pm = getPackageManager();
            Intent mainIntent = new Intent(Intent.ACTION_MAIN, null);
            mainIntent.addCategory("tv.piratemedia.lightcontroller.plugin");
            List<ResolveInfo> resolveInfos = pm.queryIntentActivities(mainIntent, 0);
            if (resolveInfos.size() > 0) {
                drawer.addDivider();
                for (final ResolveInfo info : resolveInfos) {
                    drawer.addItem(new DrawerItem().setTextMode(DrawerItem.SINGLE_LINE)
                            .setTextPrimary(info.loadLabel(pm).toString()).setImage(info.loadIcon(pm))
                            .setOnItemClickListener(new DrawerItem.OnItemClickListener() {
                                @Override
                                public void onClick(DrawerItem drawerItem, int i, int i2) {
                                    Intent intent = new Intent(Intent.ACTION_MAIN);
                                    Log.d("package", "pkg:" + info.resolvePackageName);
                                    intent.setComponent(new ComponentName(info.activityInfo.packageName,
                                            info.activityInfo.name));
                                    startActivity(intent);
                                    drawer.closeDrawer();
                                }
                            }));
                }
            }
        } else {
            drawer.setDrawerLockMode(DrawerLayout.LOCK_MODE_LOCKED_CLOSED);
        }
    }
}