Example usage for android.support.v4.view PagerAdapter PagerAdapter

List of usage examples for android.support.v4.view PagerAdapter PagerAdapter

Introduction

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

Prototype

PagerAdapter

Source Link

Usage

From source file:com.google.android.apps.dashclock.configuration.ConfigureAppearanceFragment.java

private void configureStylePager(final ViewPager pager, final PagerPositionStrip positionStrip,
        final String[] styleNames, final String styleComponent, final int gravity, final String preference) {
    String currentStyleName = mCurrentStyleNames.get(preference);

    final LayoutInflater inflater = getActivity().getLayoutInflater();
    pager.setAdapter(new PagerAdapter() {
        @Override// w w w.j a va2 s  . co m
        public int getCount() {
            return styleNames.length;
        }

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

        @Override
        public Object instantiateItem(ViewGroup container, int position) {
            FrameLayout wrapper = new FrameLayout(getActivity());
            ViewPager.LayoutParams wrapperLp = new ViewPager.LayoutParams();
            wrapper.setLayoutParams(wrapperLp);
            String styleName = styleNames[position];
            if (styleName.contains("analog")) {
                styleName += "_white";
            }
            View v = inflater.inflate(
                    AppearanceConfig.getLayoutByStyleName(getActivity(), styleComponent, styleName), container,
                    false);
            FrameLayout.LayoutParams lp = new FrameLayout.LayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT,
                    ViewGroup.LayoutParams.WRAP_CONTENT);
            lp.gravity = gravity;
            v.setLayoutParams(lp);
            wrapper.addView(v);
            container.addView(wrapper);
            return wrapper;
        }

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

    pager.setOnPageChangeListener(new ViewPager.SimpleOnPageChangeListener() {
        @Override
        public void onPageSelected(int position) {
            mCurrentStyleNames.put(preference, styleNames[position]);
        }

        @Override
        public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) {
            positionStrip.setPosition(position + positionOffset);
        }
    });

    positionStrip.setPageCount(styleNames.length);

    pager.setOnTouchListener(new View.OnTouchListener() {
        @Override
        public boolean onTouch(View view, MotionEvent motionEvent) {
            switch (motionEvent.getActionMasked()) {
            case MotionEvent.ACTION_DOWN:
                showPositionStrips(true, -1);
                break;

            case MotionEvent.ACTION_UP:
                showPositionStrips(false, AUTO_HIDE_DELAY_MILLIS);
                break;
            }
            return false;
        }
    });

    for (int i = 0; i < styleNames.length; i++) {
        if (currentStyleName.equals(styleNames[i])) {
            pager.setCurrentItem(i);
            positionStrip.setPosition(i);
            break;
        }
    }
}

From source file:com.seal.ui.fragments.StartPageFragment.java

private void iniListener() {

    if (mUIManager != null) {
        mStartListViewAdapter = new ExpandableListViewAdapter(getActivity(), mUIManager);
        mStartListView.setAdapter(mStartListViewAdapter);
        mStartListView.expandGroup(0);/*from   w  w w.  j a  va 2s.  c o m*/
        mStartListView.expandGroup(1);
        mStartListView.expandGroup(2);
    }
    futureWeatherGrid.setOnItemClickListener(new OnItemClickListener() {

        @Override
        public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
            // TODO Auto-generated method stub
            mUIManager.loadUrl("http://m.weather.com.cn");
        }
    });

    start_viewpager.setAdapter(new PagerAdapter() {
        @Override
        public Object instantiateItem(ViewGroup container, int position) {
            container.addView(views[position]);
            return views[position];
        }

        @Override
        public void destroyItem(ViewGroup container, int position, Object object) {

            container.removeView(views[position]);
        }

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

        @Override
        public int getCount() {
            return views.length;
        }
    });
    start_viewpager.setOnPageChangeListener(new OnPageChangeListener() {

        @Override
        public void onPageSelected(int position) {
            // TODO Auto-generated method stub
            switch (position) {
            case 0:
                indicator_1.setImageResource(R.drawable.ic_pageindicator_current);
                indicator_2.setImageResource(R.drawable.ic_pageindicator_default);
                break;
            case 1:
                indicator_1.setImageResource(R.drawable.ic_pageindicator_default);
                indicator_2.setImageResource(R.drawable.ic_pageindicator_current);
                break;
            }
        }

        @Override
        public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) {
            // TODO Auto-generated method stub

        }

        @Override
        public void onPageScrollStateChanged(int state) {
            // TODO Auto-generated method stub

        }
    });
    weatherRefresh.setOnClickListener(new View.OnClickListener() {

        @Override
        public void onClick(View v) {
            // TODO Auto-generated method stub
            if (!TextUtils.isEmpty(currentCity)) {
                getBeautyData(currentCity);
            }
        }
    });
    news.setOnClickListener(new View.OnClickListener() {

        @Override
        public void onClick(View v) {
            // TODO Auto-generated method stub
            mUIManager.loadUrl("http://m.toutiao.com");
        }
    });
    nav.setOnClickListener(new View.OnClickListener() {

        @Override
        public void onClick(View v) {
            // TODO Auto-generated method stub
            mUIManager.loadUrl("http://m.hao123.com");
        }
    });
    baidu.setOnClickListener(new View.OnClickListener() {

        @Override
        public void onClick(View v) {
            // TODO Auto-generated method stub
            mUIManager.loadUrl("http://m.baidu.com");
        }
    });
    shipin.setOnClickListener(new View.OnClickListener() {

        @Override
        public void onClick(View v) {
            // TODO Auto-generated method stub
            mUIManager.loadUrl("http://m.video.baidu.com");
        }
    });
}

From source file:cc.metapro.openct.customviews.TableChooseDialog.java

private void setView() {
    mTableIds = new ArrayList<>(tableMap.size());
    for (String s : tableMap.keySet()) {
        mTableIds.add(s);//from ww  w  . j  a  va  2 s .  c om
    }

    final List<View> views = new ArrayList<>(mTableIds.size());
    for (String s : mTableIds) {
        TextView textView = new TextView(getActivity());

        String content = tableMap.get(s).toString();
        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) {
            textView.setText(Html.fromHtml(content, Html.FROM_HTML_MODE_COMPACT));
        } else {
            textView.setText(Html.fromHtml(content));
        }
        views.add(textView);
    }

    mTabBar.setupWithViewPager(mViewPager);
    mViewPager.setAdapter(new PagerAdapter() {
        @Override
        public int getCount() {
            return mTableIds.size();
        }

        @Override
        public CharSequence getPageTitle(int position) {
            return mTableIds.get(position);
        }

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

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

        @Override
        public Object instantiateItem(ViewGroup container, int position) {
            container.addView(views.get(position));
            return views.get(position);
        }
    });
}

From source file:com.android.systemui.qs.QSDragPanel.java

@Override
protected void setupViews() {
    updateResources();/*from   w ww .j a v  a 2s  .c  o  m*/

    mDetail = LayoutInflater.from(mContext).inflate(R.layout.qs_detail, this, false);
    mDetailButtons = (ViewGroup) mDetail.findViewById(R.id.buttons);
    mDetailContent = (ViewGroup) mDetail.findViewById(android.R.id.content);
    mDetailRemoveButton = (TextView) mDetail.findViewById(android.R.id.button3);
    mDetailSettingsButton = (TextView) mDetail.findViewById(android.R.id.button2);
    mDetailDoneButton = (TextView) mDetail.findViewById(android.R.id.button1);
    updateDetailText();
    mDetail.setVisibility(GONE);
    mDetail.setClickable(true);

    mQsPanelTop = (QSPanelTopView) LayoutInflater.from(mContext).inflate(R.layout.qs_tile_top, this, false);

    mBrightnessView = mQsPanelTop.getBrightnessView();
    mFooter = new QSFooter(this, mContext);

    // add target click listener
    mQsPanelTop.getAddTarget().setOnClickListener(new OnClickListener() {
        @Override
        public void onClick(View v) {
            TilesListAdapter adapter = new TilesListAdapter(mContext, QSDragPanel.this);
            showDetailAdapter(true, adapter, v.getLocationOnScreen());
            mDetail.bringToFront();
        }
    });
    mViewPager = new QSViewPager(getContext());
    mViewPager.setDragPanel(this);

    mPageIndicator = new CirclePageIndicator(getContext());
    addView(mDetail);
    addView(mQsPanelTop);
    addView(mViewPager);
    addView(mPageIndicator);
    addView(mFooter.getView());

    mClipper = new QSDetailClipper(mDetail);

    mBrightnessController = new BrightnessController(getContext(),
            (ImageView) mQsPanelTop.getBrightnessView().findViewById(R.id.brightness_icon),
            (ToggleSlider) mQsPanelTop.getBrightnessView().findViewById(R.id.brightness_slider));

    mDetailDoneButton.setOnClickListener(new OnClickListener() {
        @Override
        public void onClick(View v) {
            announceForAccessibility(mContext.getString(R.string.accessibility_desc_quick_settings));
            closeDetail();
        }
    });

    mPagerAdapter = new PagerAdapter() {
        @Override
        public Object instantiateItem(ViewGroup container, int position) {
            if (DEBUG_TILES) {
                Log.d(TAG, "instantiateItem() called with " + "container = [" + container + "], position = ["
                        + position + "]");
            }

            if (mEditing && position == 0) {
                QSSettings qss = (QSSettings) View.inflate(container.getContext(), R.layout.qs_settings, null);
                qss.setHost(mHost);
                container.addView(qss, 0);
                return qss;
            } else {
                final int adjustedPosition = mEditing ? position - 1 : position;
                QSPage page = mPages.get(adjustedPosition);
                if (!page.isAttachedToWindow()) {
                    container.addView(page);
                }
                return page;
            }
        }

        @Override
        public void destroyItem(ViewGroup container, int position, Object object) {
            if (DEBUG_TILES) {
                Log.d(TAG, "destroyItem() called with " + "container = [" + container + "], position = ["
                        + position + "], object = [" + object + "]");
            }
            if (object instanceof View) {
                container.removeView((View) object);
            }
        }

        @Override
        public int getItemPosition(Object object) {
            if (object instanceof QSPage) {
                if (mEditing != ((QSPage) object).getAdapterEditingState()) {
                    // position of item changes when we set change the editing mode,
                    // sync it and send the new position
                    ((QSPage) object).setAdapterEditingState(mEditing);

                    // calculate new position
                    int indexOf = ((QSPage) object).getPageIndex();
                    if (mEditing)
                        return indexOf + 1;
                    else
                        return indexOf;

                } else if (!mPages.contains(object) && !mDragging) {
                    // only return none if we aren't dragging (object may be removed from
                    // the records array temporarily and we might think we have less pages,
                    // we don't want to prematurely remove this page
                    return POSITION_NONE;
                } else {

                    return POSITION_UNCHANGED;
                }

            } else if (object instanceof QSSettings) {
                if (((QSSettings) object).getAdapterEditingState() != mEditing) {
                    ((QSSettings) object).setAdapterEditingState(mEditing);
                    if (mEditing)
                        return 0 /* locked at position 0 */;
                    else
                        return POSITION_NONE;
                } else {
                    return POSITION_UNCHANGED;
                }
            }
            return super.getItemPosition(object);
        }

        @Override
        public int getCount() {
            final int qsPages = Math.max(getCurrentMaxPageCount(), 1);

            if (mPages != null && qsPages > mPages.size()) {
                for (int i = mPages.size(); i < qsPages; i++) {
                    mPages.add(i, new QSPage(mViewPager.getContext(), QSDragPanel.this, i));
                }
            }

            if (mEditing)
                return qsPages + 1;
            return qsPages;
        }

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

    mPageIndicator.setViewPager(mViewPager);
    mPageIndicator.setOnPageChangeListener(new ViewPager.OnPageChangeListener() {

        @Override
        public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) {
            if (DEBUG_DRAG) {
                Log.i(TAG, "onPageScrolled() called with " + "position = [" + position + "], positionOffset = ["
                        + positionOffset + "], positionOffsetPixels = [" + positionOffsetPixels + "]");
            }

            if (mEditing) {
                float targetTranslationX = 0;

                // targetTranslationX = where it's supposed to be - diff
                int homeLocation = mViewPager.getMeasuredWidth();

                // how far away from homeLocation is the scroll?
                if (positionOffsetPixels < homeLocation && position == 0) {
                    targetTranslationX = homeLocation - positionOffsetPixels;
                }
                mQsPanelTop.setTranslationX(targetTranslationX);
            }
        }

        @Override
        public void onPageSelected(int position) {
            if (mDragging && position != mDraggingRecord.page && !mViewPager.isFakeDragging() && !mRestoring) {
                if (DEBUG_DRAG) {
                    Log.w(TAG, "moving drag record to page: " + position);
                }

                // remove it from the previous page and add it here
                final QSPage sourceP = getPage(mDraggingRecord.page);
                final QSPage targetP = getPage(position);

                sourceP.removeView(mDraggingRecord.tileView);
                mDraggingRecord.page = position;
                targetP.addView(mDraggingRecord.tileView);

                // set coords off screen until we're ready to place it
                mDraggingRecord.tileView.setX(-mDraggingRecord.tileView.getMeasuredWidth());
                mDraggingRecord.tileView.setY(-mDraggingRecord.tileView.getMeasuredHeight());
            }
        }

        @Override
        public void onPageScrollStateChanged(int state) {
        }
    });
    mViewPager.setOverScrollMode(OVER_SCROLL_NEVER);

    setClipChildren(false);

    mSettingsObserver = new SettingsObserver(new Handler());

    mViewPager.setOnDragListener(QSDragPanel.this);
    mQsPanelTop.setOnDragListener(QSDragPanel.this);
    mPageIndicator.setOnDragListener(QSDragPanel.this);
    setOnDragListener(QSDragPanel.this);

    mViewPager.setOverScrollMode(View.OVER_SCROLL_NEVER);
}

From source file:onion.chat.MainActivity.java

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    db = Database.getInstance(this);
    tor = Tor.getInstance(this);
    Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
    setSupportActionBar(toolbar);//from   w  w  w .j a v a 2s .  c om
    t1 = new TextToSpeech(getApplicationContext(), new TextToSpeech.OnInitListener() {
        @Override
        public void onInit(int status) {
            if (status != TextToSpeech.ERROR) {
                t1.setLanguage(Locale.US);
            }
        }
    });
    FloatingActionButton fab = (FloatingActionButton) findViewById(R.id.fab);
    fab.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {

            final Dialog[] d = new Dialog[1];

            View v = getLayoutInflater().inflate(R.layout.dialog_connect, null);
            ((TextView) v.findViewById(R.id.id)).setText(Tor.getInstance(MainActivity.this).getID());
            v.findViewById(R.id.qr_show).setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View v) {
                    d[0].cancel();
                    showQR();
                }
            });
            v.findViewById(R.id.qr_scan).setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View v) {
                    d[0].cancel();
                    scanQR();
                }
            });
            v.findViewById(R.id.enter_id).setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View v) {
                    d[0].cancel();
                    addContact();
                }
            });
            v.findViewById(R.id.share_id).setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View v) {
                    d[0].cancel();
                    inviteFriend();
                }
            });
            d[0] = new AlertDialog.Builder(MainActivity.this)
                    //.setTitle(R.string.add_contact)
                    .setView(v).show();

        }
    });

    DrawerLayout drawer = (DrawerLayout) findViewById(R.id.drawer_layout);
    ActionBarDrawerToggle toggle = new ActionBarDrawerToggle(this, drawer, toolbar,
            R.string.navigation_drawer_open, R.string.navigation_drawer_close);
    drawer.setDrawerListener(toggle);
    toggle.syncState();

    NavigationView navigationView = (NavigationView) findViewById(R.id.nav_view);
    navigationView.setNavigationItemSelectedListener(this);

    startService(new Intent(this, HostService.class));

    findViewById(R.id.myname).setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            changeName();
        }
    });

    findViewById(R.id.myaddress).setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            showQR();
        }
    });

    contactPage = getLayoutInflater().inflate(R.layout.page_contacts, null);
    requestPage = getLayoutInflater().inflate(R.layout.page_requests, null);

    contactRecycler = (RecyclerView) contactPage.findViewById(R.id.contactRecycler);
    requestRecycler = (RecyclerView) requestPage.findViewById(R.id.requestRecycler);

    contactEmpty = contactPage.findViewById(R.id.contactEmpty);
    requestEmpty = requestPage.findViewById(R.id.requestEmpty);

    contactRecycler.setLayoutManager(new LinearLayoutManager(this));
    contactRecycler.setAdapter(new RecyclerView.Adapter<ContactViewHolder>() {
        @Override
        public ContactViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
            final ContactViewHolder viewHolder = new ContactViewHolder(
                    getLayoutInflater().inflate(R.layout.item_contact, parent, false));
            viewHolder.itemView.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View v) {
                    String toSpeak = viewHolder.name.getText().toString();
                    Toast.makeText(getApplicationContext(), toSpeak, Toast.LENGTH_SHORT).show();
                    t1.speak(toSpeak, TextToSpeech.QUEUE_FLUSH, null);
                    startActivity(
                            new Intent(Intent.ACTION_VIEW, Uri.parse("chat:" + viewHolder.address.getText()),
                                    getApplicationContext(), ChatActivity.class));
                }
            });
            viewHolder.itemView.setOnLongClickListener(new View.OnLongClickListener() {
                @Override
                public boolean onLongClick(View v) {
                    contactLongPress(viewHolder.address.getText().toString(),
                            viewHolder.name.getText().toString());
                    return true;
                }
            });
            return viewHolder;
        }

        @Override
        public void onBindViewHolder(ContactViewHolder holder, int position) {
            contactCursor.moveToPosition(position);
            holder.address.setText(contactCursor.getString(0));
            String name = contactCursor.getString(1);
            if (name == null || name.equals(""))
                name = "Anonymous";
            holder.name.setText(name);
            long n = contactCursor.getLong(2);
            if (n > 0) {
                holder.badge.setVisibility(View.VISIBLE);
                holder.count.setText("" + n);
            } else {
                holder.badge.setVisibility(View.GONE);
            }
        }

        @Override
        public int getItemCount() {
            return contactCursor != null ? contactCursor.getCount() : 0;
        }
    });

    requestRecycler.setLayoutManager(new LinearLayoutManager(this));
    requestRecycler.setAdapter(new RecyclerView.Adapter<ContactViewHolder>() {
        @Override
        public ContactViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
            final ContactViewHolder viewHolder = new ContactViewHolder(
                    getLayoutInflater().inflate(R.layout.item_contact_request, parent, false));
            viewHolder.accept.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View v) {
                    String addr = viewHolder.address.getText().toString();
                    db.acceptContact(addr);
                    Client.getInstance(getApplicationContext()).startAskForNewMessages(addr);
                    updateContactList();
                }
            });
            viewHolder.decline.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View v) {
                    final String address = viewHolder.address.getText().toString();
                    final String name = viewHolder.name.getText().toString();
                    db.removeContact(address);
                    updateContactList();
                    Snackbar.make(findViewById(R.id.drawer_layout), R.string.contact_request_declined,
                            Snackbar.LENGTH_LONG).setAction(R.string.undo, new View.OnClickListener() {
                                @Override
                                public void onClick(View v) {
                                    db.addContact(address, false, true, name);
                                    updateContactList();
                                }
                            }).show();
                }
            });
            return viewHolder;
        }

        @Override
        public void onBindViewHolder(ContactViewHolder holder, int position) {
            requestCursor.moveToPosition(position);
            holder.address.setText(requestCursor.getString(0));
            String name = requestCursor.getString(1);
            if (name == null || name.equals(""))
                name = "Anonymous";
            holder.name.setText(name);
        }

        @Override
        public int getItemCount() {
            return requestCursor != null ? requestCursor.getCount() : 0;
        }
    });

    tabLayout = (TabLayout) findViewById(R.id.tabLayout);

    final ViewPager viewPager = (ViewPager) findViewById(R.id.viewPager);
    viewPager.setAdapter(new PagerAdapter() {
        @Override
        public int getCount() {
            return 2;
        }

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

        @Override
        public Object instantiateItem(final ViewGroup container, int position) {
            View v = position == 0 ? contactPage : requestPage;
            container.addView(v);
            return v;
        }

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

    tabLayout.getTabAt(0).setText(R.string.tab_contacts);
    tabLayout.getTabAt(1).setText(R.string.tab_requests);

    for (int i = 0; i < 2; i++) {
        View v = getLayoutInflater().inflate(R.layout.tab_header, null, false);
        ((TextView) v.findViewById(R.id.text)).setText(tabLayout.getTabAt(i).getText().toString());
        ((TextView) v.findViewById(R.id.badge)).setText("");
        v.setLayoutParams(new ViewGroup.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT,
                ViewGroup.LayoutParams.MATCH_PARENT));
        tabLayout.getTabAt(i).setCustomView(v);
    }

    tabLayout.setOnTabSelectedListener(new TabLayout.OnTabSelectedListener() {
        @Override
        public void onTabSelected(TabLayout.Tab tab) {
            if (tab.getPosition() == 1) {
                db.clearNewRequests();
            }
            viewPager.setCurrentItem(tab.getPosition());
        }

        @Override
        public void onTabUnselected(TabLayout.Tab tab) {
        }

        @Override
        public void onTabReselected(TabLayout.Tab tab) {
        }
    });
    updateContactList();

    handleIntent();
    //  inform();
    listen();
}

From source file:org.telegram.ui.ThemePreviewActivity.java

@Override
public View createView(Context context) {
    page1 = new FrameLayout(context);
    ActionBarMenu menu = actionBar.createMenu();
    final ActionBarMenuItem item = menu.addItem(0, R.drawable.ic_ab_search).setIsSearchField(true)
            .setActionBarMenuItemSearchListener(new ActionBarMenuItem.ActionBarMenuItemSearchListener() {
                @Override/* w w w. j  a  v a2s . c  o  m*/
                public void onSearchExpand() {

                }

                @Override
                public boolean canCollapseSearch() {
                    return true;
                }

                @Override
                public void onSearchCollapse() {

                }

                @Override
                public void onTextChanged(EditText editText) {

                }
            });
    item.getSearchField().setHint(LocaleController.getString("Search", R.string.Search));

    actionBar.setBackButtonDrawable(new MenuDrawable());
    actionBar.setAddToContainer(false);
    actionBar.setTitle(LocaleController.getString("ThemePreview", R.string.ThemePreview));

    page1 = new FrameLayout(context) {
        @Override
        protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
            int widthSize = MeasureSpec.getSize(widthMeasureSpec);
            int heightSize = MeasureSpec.getSize(heightMeasureSpec);

            setMeasuredDimension(widthSize, heightSize);

            measureChildWithMargins(actionBar, widthMeasureSpec, 0, heightMeasureSpec, 0);
            int actionBarHeight = actionBar.getMeasuredHeight();
            if (actionBar.getVisibility() == VISIBLE) {
                heightSize -= actionBarHeight;
            }
            FrameLayout.LayoutParams layoutParams = (FrameLayout.LayoutParams) listView.getLayoutParams();
            layoutParams.topMargin = actionBarHeight;
            listView.measure(MeasureSpec.makeMeasureSpec(widthSize, MeasureSpec.EXACTLY),
                    MeasureSpec.makeMeasureSpec(heightSize, MeasureSpec.EXACTLY));

            measureChildWithMargins(floatingButton, widthMeasureSpec, 0, heightMeasureSpec, 0);
        }

        @Override
        protected boolean drawChild(Canvas canvas, View child, long drawingTime) {
            boolean result = super.drawChild(canvas, child, drawingTime);
            if (child == actionBar && parentLayout != null) {
                parentLayout.drawHeaderShadow(canvas,
                        actionBar.getVisibility() == VISIBLE ? actionBar.getMeasuredHeight() : 0);
            }
            return result;
        }
    };
    page1.addView(actionBar, LayoutHelper.createFrame(LayoutHelper.MATCH_PARENT, LayoutHelper.WRAP_CONTENT));

    listView = new RecyclerListView(context);
    listView.setVerticalScrollBarEnabled(true);
    listView.setItemAnimator(null);
    listView.setLayoutAnimation(null);
    listView.setLayoutManager(new LinearLayoutManager(context, LinearLayoutManager.VERTICAL, false));
    listView.setVerticalScrollbarPosition(LocaleController.isRTL ? RecyclerListView.SCROLLBAR_POSITION_LEFT
            : RecyclerListView.SCROLLBAR_POSITION_RIGHT);
    page1.addView(listView, LayoutHelper.createFrame(LayoutHelper.MATCH_PARENT, LayoutHelper.MATCH_PARENT,
            Gravity.LEFT | Gravity.TOP));

    floatingButton = new ImageView(context);
    floatingButton.setScaleType(ImageView.ScaleType.CENTER);

    Drawable drawable = Theme.createSimpleSelectorCircleDrawable(AndroidUtilities.dp(56),
            Theme.getColor(Theme.key_chats_actionBackground),
            Theme.getColor(Theme.key_chats_actionPressedBackground));
    if (Build.VERSION.SDK_INT < 21) {
        Drawable shadowDrawable = context.getResources().getDrawable(R.drawable.floating_shadow).mutate();
        shadowDrawable.setColorFilter(new PorterDuffColorFilter(0xff000000, PorterDuff.Mode.MULTIPLY));
        CombinedDrawable combinedDrawable = new CombinedDrawable(shadowDrawable, drawable, 0, 0);
        combinedDrawable.setIconSize(AndroidUtilities.dp(56), AndroidUtilities.dp(56));
        drawable = combinedDrawable;
    }
    floatingButton.setBackgroundDrawable(drawable);
    floatingButton.setColorFilter(
            new PorterDuffColorFilter(Theme.getColor(Theme.key_chats_actionIcon), PorterDuff.Mode.MULTIPLY));
    floatingButton.setImageResource(R.drawable.floating_pencil);
    if (Build.VERSION.SDK_INT >= 21) {
        StateListAnimator animator = new StateListAnimator();
        animator.addState(new int[] { android.R.attr.state_pressed },
                ObjectAnimator
                        .ofFloat(floatingButton, "translationZ", AndroidUtilities.dp(2), AndroidUtilities.dp(4))
                        .setDuration(200));
        animator.addState(new int[] {},
                ObjectAnimator
                        .ofFloat(floatingButton, "translationZ", AndroidUtilities.dp(4), AndroidUtilities.dp(2))
                        .setDuration(200));
        floatingButton.setStateListAnimator(animator);
        floatingButton.setOutlineProvider(new ViewOutlineProvider() {
            @SuppressLint("NewApi")
            @Override
            public void getOutline(View view, Outline outline) {
                outline.setOval(0, 0, AndroidUtilities.dp(56), AndroidUtilities.dp(56));
            }
        });
    }
    page1.addView(floatingButton,
            LayoutHelper.createFrame(Build.VERSION.SDK_INT >= 21 ? 56 : 60,
                    Build.VERSION.SDK_INT >= 21 ? 56 : 60,
                    (LocaleController.isRTL ? Gravity.LEFT : Gravity.RIGHT) | Gravity.BOTTOM,
                    LocaleController.isRTL ? 14 : 0, 0, LocaleController.isRTL ? 0 : 14, 14));

    dialogsAdapter = new DialogsAdapter(context);
    listView.setAdapter(dialogsAdapter);

    page2 = new SizeNotifierFrameLayout(context) {
        @Override
        protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
            int widthSize = MeasureSpec.getSize(widthMeasureSpec);
            int heightSize = MeasureSpec.getSize(heightMeasureSpec);

            setMeasuredDimension(widthSize, heightSize);

            measureChildWithMargins(actionBar2, widthMeasureSpec, 0, heightMeasureSpec, 0);
            int actionBarHeight = actionBar2.getMeasuredHeight();
            if (actionBar2.getVisibility() == VISIBLE) {
                heightSize -= actionBarHeight;
            }
            FrameLayout.LayoutParams layoutParams = (FrameLayout.LayoutParams) listView2.getLayoutParams();
            layoutParams.topMargin = actionBarHeight;
            listView2.measure(MeasureSpec.makeMeasureSpec(widthSize, MeasureSpec.EXACTLY),
                    MeasureSpec.makeMeasureSpec(heightSize, MeasureSpec.EXACTLY));
        }

        @Override
        protected boolean drawChild(Canvas canvas, View child, long drawingTime) {
            boolean result = super.drawChild(canvas, child, drawingTime);
            if (child == actionBar2 && parentLayout != null) {
                parentLayout.drawHeaderShadow(canvas,
                        actionBar2.getVisibility() == VISIBLE ? actionBar2.getMeasuredHeight() : 0);
            }
            return result;
        }
    };
    page2.setBackgroundImage(Theme.getCachedWallpaper());

    actionBar2 = createActionBar(context);
    actionBar2.setBackButtonDrawable(new BackDrawable(false));
    actionBar2.setTitle("Reinhardt");
    actionBar2.setSubtitle(LocaleController.formatDateOnline(System.currentTimeMillis() / 1000 - 60 * 60));
    page2.addView(actionBar2, LayoutHelper.createFrame(LayoutHelper.MATCH_PARENT, LayoutHelper.WRAP_CONTENT));

    listView2 = new RecyclerListView(context);
    listView2.setVerticalScrollBarEnabled(true);
    listView2.setItemAnimator(null);
    listView2.setLayoutAnimation(null);
    listView2.setPadding(0, AndroidUtilities.dp(4), 0, AndroidUtilities.dp(4));
    listView2.setClipToPadding(false);
    listView2.setLayoutManager(new LinearLayoutManager(context, LinearLayoutManager.VERTICAL, true));
    listView2.setVerticalScrollbarPosition(LocaleController.isRTL ? RecyclerListView.SCROLLBAR_POSITION_LEFT
            : RecyclerListView.SCROLLBAR_POSITION_RIGHT);
    page2.addView(listView2, LayoutHelper.createFrame(LayoutHelper.MATCH_PARENT, LayoutHelper.MATCH_PARENT,
            Gravity.LEFT | Gravity.TOP));

    messagesAdapter = new MessagesAdapter(context);
    listView2.setAdapter(messagesAdapter);

    fragmentView = new FrameLayout(context);
    FrameLayout frameLayout = (FrameLayout) fragmentView;

    final ViewPager viewPager = new ViewPager(context);
    viewPager.addOnPageChangeListener(new ViewPager.OnPageChangeListener() {
        @Override
        public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) {

        }

        @Override
        public void onPageSelected(int position) {
            dotsContainer.invalidate();
        }

        @Override
        public void onPageScrollStateChanged(int state) {

        }
    });
    viewPager.setAdapter(new PagerAdapter() {

        @Override
        public int getCount() {
            return 2;
        }

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

        @Override
        public int getItemPosition(Object object) {
            return POSITION_UNCHANGED;
        }

        @Override
        public Object instantiateItem(ViewGroup container, int position) {
            View view = position == 0 ? page1 : page2;
            container.addView(view);
            return view;
        }

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

        @Override
        public void unregisterDataSetObserver(DataSetObserver observer) {
            if (observer != null) {
                super.unregisterDataSetObserver(observer);
            }
        }
    });
    AndroidUtilities.setViewPagerEdgeEffectColor(viewPager, Theme.getColor(Theme.key_actionBarDefault));
    frameLayout.addView(viewPager, LayoutHelper.createFrame(LayoutHelper.MATCH_PARENT,
            LayoutHelper.MATCH_PARENT, Gravity.LEFT | Gravity.TOP, 0, 0, 0, 48));

    View shadow = new View(context);
    shadow.setBackgroundResource(R.drawable.header_shadow_reverse);
    frameLayout.addView(shadow,
            LayoutHelper.createFrame(LayoutHelper.MATCH_PARENT, 3, Gravity.LEFT | Gravity.BOTTOM, 0, 0, 0, 48));

    FrameLayout bottomLayout = new FrameLayout(context);
    bottomLayout.setBackgroundColor(0xffffffff);
    frameLayout.addView(bottomLayout,
            LayoutHelper.createFrame(LayoutHelper.MATCH_PARENT, 48, Gravity.LEFT | Gravity.BOTTOM));

    dotsContainer = new View(context) {

        private Paint paint = new Paint(Paint.ANTI_ALIAS_FLAG);

        @Override
        protected void onDraw(Canvas canvas) {
            int selected = viewPager.getCurrentItem();
            for (int a = 0; a < 2; a++) {
                paint.setColor(a == selected ? 0xff999999 : 0xffcccccc);
                canvas.drawCircle(AndroidUtilities.dp(3 + 15 * a), AndroidUtilities.dp(4),
                        AndroidUtilities.dp(3), paint);
            }
        }
    };
    bottomLayout.addView(dotsContainer, LayoutHelper.createFrame(22, 8, Gravity.CENTER));

    TextView cancelButton = new TextView(context);
    cancelButton.setTextSize(TypedValue.COMPLEX_UNIT_DIP, 14);
    cancelButton.setTextColor(0xff19a7e8);
    cancelButton.setGravity(Gravity.CENTER);
    cancelButton.setBackgroundDrawable(Theme.createSelectorDrawable(0x2f000000, 0));
    cancelButton.setPadding(AndroidUtilities.dp(29), 0, AndroidUtilities.dp(29), 0);
    cancelButton.setText(LocaleController.getString("Cancel", R.string.Cancel).toUpperCase());
    cancelButton.setTypeface(AndroidUtilities.getTypeface("fonts/rmedium.ttf"));
    bottomLayout.addView(cancelButton, LayoutHelper.createFrame(LayoutHelper.WRAP_CONTENT,
            LayoutHelper.MATCH_PARENT, Gravity.TOP | Gravity.LEFT));
    cancelButton.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            Theme.applyPreviousTheme();
            parentLayout.rebuildAllFragmentViews(false);
            finishFragment();
        }
    });

    TextView doneButton = new TextView(context);
    doneButton.setTextSize(TypedValue.COMPLEX_UNIT_DIP, 14);
    doneButton.setTextColor(0xff19a7e8);
    doneButton.setGravity(Gravity.CENTER);
    doneButton.setBackgroundDrawable(Theme.createSelectorDrawable(0x2f000000, 0));
    doneButton.setPadding(AndroidUtilities.dp(29), 0, AndroidUtilities.dp(29), 0);
    doneButton.setText(LocaleController.getString("ApplyTheme", R.string.ApplyTheme).toUpperCase());
    doneButton.setTypeface(AndroidUtilities.getTypeface("fonts/rmedium.ttf"));
    bottomLayout.addView(doneButton, LayoutHelper.createFrame(LayoutHelper.WRAP_CONTENT,
            LayoutHelper.MATCH_PARENT, Gravity.TOP | Gravity.RIGHT));
    doneButton.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            applied = true;
            parentLayout.rebuildAllFragmentViews(false);
            Theme.applyThemeFile(themeFile, applyingTheme.name, false);
            finishFragment();
        }
    });

    return fragmentView;
}

From source file:com.abc.driver.MainActivity.java

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main_weixin);
    getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_HIDDEN);

    mTabPager = (ViewPager) findViewById(R.id.tabpager);
    mTabPager.setOnPageChangeListener(new MyOnPageChangeListener());

    mTab1 = (ImageView) findViewById(R.id.img_weixin);
    mTab2 = (ImageView) findViewById(R.id.img_address);
    mTab3 = (ImageView) findViewById(R.id.img_friends);
    mTab4 = (ImageView) findViewById(R.id.img_settings);
    mTabImg = (ImageView) findViewById(R.id.img_tab_now);
    mTab1.setOnClickListener(new MyOnClickListener(0));
    mTab2.setOnClickListener(new MyOnClickListener(1));
    mTab3.setOnClickListener(new MyOnClickListener(2));
    mTab4.setOnClickListener(new MyOnClickListener(3));
    Display currDisplay = getWindowManager().getDefaultDisplay();
    int displayWidth = currDisplay.getWidth();
    int displayHeight = currDisplay.getHeight();
    one = displayWidth / 4;//from   w w w  .  j ava 2 s .  c om
    two = one * 2;
    three = one * 3;

    LayoutInflater mLi = LayoutInflater.from(this);
    // View view1 = mLi.inflate(R.layout.main_tab_horder_create, null);
    View view1 = mLi.inflate(R.layout.main_tab_truckplan, null);
    View view2 = mLi.inflate(R.layout.main_tab_huoyun, null);
    View view3 = mLi.inflate(R.layout.main_tab_horder, null);
    View view4 = mLi.inflate(R.layout.main_tab_me, null);

    final ArrayList<View> views = new ArrayList<View>();
    views.add(view1);
    views.add(view2);
    views.add(view3);
    views.add(view4);

    PagerAdapter mPagerAdapter = new PagerAdapter() {

        @Override
        public boolean isViewFromObject(View arg0, Object arg1) {
            return arg0 == arg1;
        }

        @Override
        public int getCount() {
            return views.size();
        }

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

        @Override
        public Object instantiateItem(View container, int position) {
            ((ViewPager) container).addView(views.get(position));
            return views.get(position);
        }
    };

    mTabPager.setAdapter(mPagerAdapter);

    initData();
}

From source file:at.jclehner.rxdroid.DrugListActivity.java

@TargetApi(11)
private void setDate(Date date, int flags) {
    if (DEBUG_DATE_MISMATCH)
        Log.d(TAG, "setDate(" + date + ", " + flags + ")");

    if (!mIsShowing) {
        if (LOGV)
            Log.v(TAG, "setDate: activity is not showing; ignoring");
        return;/*from   w  w  w .j  a  va 2 s. c o  m*/
    }

    if (toastIfPastMaxHistoryAge(date))
        return;

    mCurrentDate = date;
    getIntent().putExtra(EXTRA_DATE, date);

    if ((flags & PAGER_INIT) != 0) {
        mOriginalDate = date;
        mSwipeDirection = 0;

        mPager.setOnPageChangeListener(null);
        mPager.removeAllViews();

        final int drugCount = Database.countAll(Drug.class);
        if (drugCount != 0) {
            final boolean smoothScroll = (flags & PAGER_SCROLL) != 0;

            mPager.setAdapter(new InfiniteViewPagerAdapter(this));
            mPager.setCurrentItem(InfiniteViewPagerAdapter.CENTER, smoothScroll);

            mLastPage = InfiniteViewPagerAdapter.CENTER;

            if (drugCount == 1 && !Settings.wasDisplayedOnce("date_swipe")) {
                ShowcaseViewBuilder2 svb = new ShowcaseViewBuilder2(this);
                svb.setText(R.string._help_title_swipe_date, R.string._help_msg_swipe_date);
                svb.setShotType(ShowcaseView.TYPE_ONE_SHOT);
                svb.setShowcaseId(0xdeadbeef + 0);
                svb.setShowcaseItem(ShowcaseView.ITEM_TITLE, 0, this);

                final DisplayMetrics metrics = new DisplayMetrics();
                getWindowManager().getDefaultDisplay().getMetrics(metrics);

                final float w = metrics.widthPixels;
                final float h = metrics.heightPixels;

                final float y = h * 0.6f;

                svb.setAnimatedGesture(-100, y, w, y);

                mShowcaseQueue.add(svb.build());

                svb = new ShowcaseViewBuilder2(this);
                svb.setText(R.string._help_title_edit_drug, R.string._help_msg_edit_drug);
                svb.setShotType(ShowcaseView.TYPE_ONE_SHOT);
                svb.setShowcaseId(0xdeadbeef + 1);
                svb.setShowcaseView(R.id.drug_name, this);

                mShowcaseQueue.add(svb.build());
            } else if (drugCount >= 2 && !Settings.wasDisplayedOnce(Settings.OnceIds.DRAG_DROP_SORTING)) {
                ShowcaseViewBuilder2 svb = new ShowcaseViewBuilder2(this);
                svb.setShowcaseView(R.id.drug_icon, this);
                svb.setText(R.string._help_title_drag_drop_sort, R.string._msg_drag_drop_sorting);
                svb.setShotType(ShowcaseView.TYPE_ONE_SHOT);
                svb.setShowcaseId(0xdeadbeef + 2);
                svb.setRelativeAnimatedGesture(0, 200);

                mShowcaseQueue.add(svb.build());
            }
        } else {
            mPager.setAdapter(new PagerAdapter() {

                @Override
                public boolean isViewFromObject(View v, Object o) {
                    return v == (View) o;
                }

                @Override
                public int getCount() {
                    // TODO Auto-generated method stub
                    return 1;
                }

                @Override
                public Object instantiateItem(ViewGroup container, int position) {
                    final View v = makeView(0);
                    Util.detachFromParent(v);
                    container.addView(v);
                    return v;
                }

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

            mPager.setCurrentItem(0);
            mLastPage = 0;
        }

        mPager.setOnPageChangeListener(mPageListener);
    }

    supportInvalidateOptionsMenu();
    updateDateString();
}

From source file:com.stanleyidesis.quotograph.ui.activity.LWQSettingsActivity.java

void setupViewPagerAndTabs() {
    viewPager.setOffscreenPageLimit(3);/*from   w ww.  j a va2  s . co m*/
    viewPager.setAdapter(new PagerAdapter() {

        @Override
        public Object instantiateItem(ViewGroup container, int position) {
            switch (position) {
            case 0:
                return wallpaperPreviewWrapper;
            case 1:
                return playlistWrapper;
            default:
                return settingsWrapper;
            }
        }

        @Override
        public int getCount() {
            return 3;
        }

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

        @Override
        public CharSequence getPageTitle(int position) {
            return "";
        }
    });
    viewPager.addOnPageChangeListener(new ViewPager.OnPageChangeListener() {
        @Override
        public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) {
            switch (position) {
            case 0:
                if (activityState != stateSkipWallpaper) {
                    setBackgroundAlpha(BackgroundWallpaperState.OBSCURED.screenAlpha * positionOffset);
                }
                // Fab Add
                fabAdd.setScaleX(positionOffset);
                fabAdd.setScaleY(positionOffset);
                // Content
                content.setAlpha(positionOffset);
                // At .3, share is gone, at .6, save is gone, and at 1, skip is gone
                shareButton.setTranslationY((1f - (1f - (Math.min(positionOffset, 1 / 3f) / (1 / 3f))))
                        * shareButton.getHeight() * 3);
                saveButton.setTranslationY((1f - (1f - (Math.min(positionOffset, 2 / 3f) / (2 / 3f))))
                        * saveButton.getHeight() * 3);
                skipButton.setTranslationY((1f - (1f - positionOffset)) * skipButton.getHeight() * 3);
                break;
            case 1:
                fabAdd.setScaleX(1f - positionOffset);
                fabAdd.setScaleY(1f - positionOffset);
            }
        }

        @Override
        public void onPageSelected(int position) {
            // Content
            content.setAlpha(position == 0 ? 0f : 1f);

            // Add Fab
            fabAdd.setScaleX(position == 1 ? 1f : 0f);
            fabAdd.setScaleY(position == 1 ? 1f : 0f);
            fabAdd.setEnabled(position == 1);

            // Tooltips
            if (position == 1) {
                // Log screen view
                AnalyticsUtils.trackScreenView(AnalyticsUtils.SCREEN_PLAYLIST);
                showTutorialTip(TutorialTooltips.ADD);
            } else if (position == 2) {
                // Log screen view
                AnalyticsUtils.trackScreenView(AnalyticsUtils.SCREEN_SETTINGS);
                // Delay it just a little because the view messes up otherwise
                new Handler().postDelayed(new Runnable() {
                    @Override
                    public void run() {
                        showTutorialTip(TutorialTooltips.SETTING);
                    }
                }, 200);
            } else {
                // Log screen view
                AnalyticsUtils.trackScreenView(AnalyticsUtils.SCREEN_WALLPAPER_PREVIEW);
            }

            // Action Buttons
            View[] buttons = new View[] { shareButton, saveButton, skipButton };
            for (View button : buttons) {
                button.setTranslationY(position == 0 ? 0f : button.getHeight() * 3f);
                button.setEnabled(position == 0);
            }

            if (activityState == stateSkipWallpaper) {
                return;
            }
            // Background
            setBackgroundAlpha(position == 0 ? BackgroundWallpaperState.REVEALED.screenAlpha
                    : BackgroundWallpaperState.OBSCURED.screenAlpha);
        }

        @Override
        public void onPageScrollStateChanged(int state) {
        }
    });
    tabLayout.setSelectedTabIndicatorColor(getResources().getColor(R.color.palette_500));
    tabLayout.setupWithViewPager(viewPager);
    tabLayout.getTabAt(0).setIcon(R.drawable.selectable_preview_button);
    tabLayout.getTabAt(0).setContentDescription("Preview Quotograph");
    tabLayout.getTabAt(1).setIcon(R.drawable.selectable_playlist_button);
    tabLayout.getTabAt(1).setContentDescription("Playlist");
    tabLayout.getTabAt(2).setIcon(R.drawable.selectable_settings_button);
    tabLayout.getTabAt(2).setContentDescription("Settings");
}

From source file:org.catnut.fragment.TweetFragment.java

/**
 * ??/*w  ww.  ja  va2s .  c om*/
 *
 * @param thumb url
 * @param originalUrl url
 */
private void loadThumbs(String thumb, final String originalUrl, final ImageView thumbs,
        final JSONArray jsonArray, View overflow) {
    if (!TextUtils.isEmpty(thumb)) {
        if (mStayInLatest) {
            int screenWidth = CatnutUtils.getScreenWidth(getActivity());
            Picasso.with(getActivity()).load(thumb).into(thumbs);
            thumbs.setOnTouchListener(new View.OnTouchListener() {
                @Override
                public boolean onTouch(View v, MotionEvent event) {
                    return CatnutUtils.imageOverlay(v, event);
                }
            });
            thumbs.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View v) {
                    thumbs.getDrawable().clearColorFilter();
                    mText.invalidate();
                    Intent intent = SingleFragmentActivity.getIntent(getActivity(),
                            SingleFragmentActivity.PHOTO_VIEWER);
                    intent.putExtra(Constants.PIC, originalUrl);
                    startActivity(intent);
                }
            });
        } else {
            thumbs.setImageResource(R.drawable.error);
        }
        thumbs.setVisibility(View.VISIBLE);
    } else {
        thumbs.setVisibility(View.GONE);
        overflow.setVisibility(View.GONE);
    }
    if (jsonArray != null && jsonArray.length() > 1) {
        overflow.setVisibility(View.VISIBLE);
        overflow.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                View view = LayoutInflater.from(getActivity()).inflate(R.layout.tweet_pics, null);
                LinePageIndicator indicator = (LinePageIndicator) view.findViewById(R.id.indicator);
                final ViewPager pager = (ViewPager) view.findViewById(R.id.pager);
                pager.setPageTransformer(true, new PageTransformer.DepthPageTransformer());
                pager.setAdapter(new PagerAdapter() {
                    @Override
                    public int getCount() {
                        return jsonArray.length();
                    }

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

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

                    @Override
                    public Object instantiateItem(ViewGroup container, int position) {
                        View v = LayoutInflater.from(getActivity()).inflate(R.layout.photo, null);
                        TouchImageView iv = (TouchImageView) v.findViewById(R.id.image);
                        String url = jsonArray.optJSONObject(position).optString(Status.thumbnail_pic);
                        String replace = url.replace(Constants.THUMBNAIL, Status.MEDIUM_THUMBNAIL);
                        Picasso.with(getActivity()).load(replace).into(iv);
                        container.addView(v);
                        return v;
                    }
                });
                indicator.setViewPager(pager);
                new AlertDialog.Builder(
                        new ContextThemeWrapper(getActivity(), android.R.style.Theme_Holo_Dialog)).setView(view)
                                .setPositiveButton(getString(R.string.original_pics),
                                        new DialogInterface.OnClickListener() {
                                            @Override
                                            public void onClick(DialogInterface dialog, int which) {
                                                ArrayList<Uri> urls = new ArrayList<Uri>(jsonArray.length());
                                                for (int i = 0; i < jsonArray.length(); i++) {
                                                    String s = jsonArray.optJSONObject(i)
                                                            .optString(Status.thumbnail_pic)
                                                            .replace(Constants.THUMBNAIL,
                                                                    Status.LARGE_THUMBNAIL);
                                                    urls.add(Uri.parse(s));
                                                }
                                                Intent intent = SingleFragmentActivity.getIntent(getActivity(),
                                                        SingleFragmentActivity.GALLERY);
                                                intent.putExtra(GalleryPagerFragment.CUR_INDEX,
                                                        pager.getCurrentItem());
                                                intent.putExtra(GalleryPagerFragment.URLS, urls);
                                                intent.putExtra(GalleryPagerFragment.TITLE,
                                                        getString(R.string.tweet_pics));
                                                startActivity(intent);
                                            }
                                        })
                                .setNegativeButton(getString(R.string.close), null).show();
            }
        });
    } else {
        overflow.setVisibility(View.GONE);
    }
}