Example usage for android.view View invalidate

List of usage examples for android.view View invalidate

Introduction

In this page you can find the example usage for android.view View invalidate.

Prototype

public void invalidate() 

Source Link

Document

Invalidate the whole view.

Usage

From source file:android.support.v17.leanback.app.BaseSupportFragment.java

/**
 * When fragment finishes loading data, it should call startEntranceTransition()
 * to execute the entrance transition.//w w w.j  ava 2s . c o  m
 * startEntranceTransition() will start transition only if both two conditions
 * are satisfied:
 * <li> prepareEntranceTransition() was called.</li>
 * <li> has not executed entrance transition yet.</li>
 * <p>
 * If startEntranceTransition() is called before onViewCreated(), it will be pending
 * and executed when view is created.
 */
public void startEntranceTransition() {
    if (!mEntranceTransitionEnabled || mEntranceTransition != null) {
        return;
    }
    // if view is not created yet, delay until onViewCreated()
    if (getView() == null) {
        mStartEntranceTransitionPending = true;
        return;
    }
    // wait till views get their initial position before start transition
    final View view = getView();
    view.getViewTreeObserver().addOnPreDrawListener(new ViewTreeObserver.OnPreDrawListener() {
        @Override
        public boolean onPreDraw() {
            view.getViewTreeObserver().removeOnPreDrawListener(this);
            internalCreateEntranceTransition();
            mEntranceTransitionEnabled = false;
            runEntranceTransition(mEntranceTransition);
            return false;
        }
    });
    view.invalidate();
}

From source file:org.alfresco.mobile.android.application.fragments.sync.SyncCursorAdapter.java

@Override
public void bindView(View view, Context context, Cursor cursor) {
    // int[] layouts = GridAdapterHelper.getGridLayoutId(context,
    // (GridFragment) fragmentRef.get());
    if (view.findViewById(R.id.app_grid_progress) == null) {
        // ((ViewGroup) view).removeAllViews();
        view.invalidate();
        view.refreshDrawableState();/*from  w  w  w  .  java2 s .c o m*/
        return;
    }
    TwoLinesProgressViewHolder vh = (TwoLinesProgressViewHolder) view.getTag();
    updateControls(vh, cursor);
}

From source file:com.vuze.android.remote.spanbubbles.SpanTags.java

public void setTagBubbles(final SpannableStringBuilder ss, String text, String token) {
    if (ss.length() > 0) {
        // hack to ensure descent is always added by TextView
        ss.append("\u200B");
    }/*from   w w w. j  av a 2  s  .com*/

    if (tvTags == null) {
        Log.e(TAG, "no tvTags");
        return;
    }

    TextPaint p = tvTags.getPaint();

    // Start and end refer to the points where the span will apply
    int tokenLen = token.length();
    int base = 0;

    if (showIcon && tagDrawables == null) {
        createDrawTagables();
    }

    while (true) {
        int start = text.indexOf(token, base);
        int end = text.indexOf(token, start + tokenLen);

        if (start < 0 || end < 0) {
            break;
        }

        base = end + tokenLen;

        final int fSpanStart = start;
        final int fSpanEnd = end + tokenLen;

        String id = text.substring(start + tokenLen, end);

        Map mapTag = null;
        try {
            long tagUID = Long.parseLong(id);
            mapTag = sessionInfo.getTag(tagUID);
        } catch (Throwable ignore) {
        }

        final String word = MapUtils.getMapString(mapTag, "name", "" + id);
        final Map fMapTag = mapTag;

        final DrawableTag imgDrawable = new DrawableTag(context, p, word, showIcon ? tagDrawables : null,
                mapTag, drawCount) {

            @Override
            public boolean isTagPressed() {
                if (!AndroidUtils.usesNavigationControl()) {
                    return false;
                }
                int selectionEnd = tvTags.getSelectionEnd();
                if (selectionEnd < 0) {
                    return false;
                }
                int selectionStart = tvTags.getSelectionStart();
                return selectionStart == fSpanStart && selectionEnd == fSpanEnd;
            }

            @Override
            public int getTagState() {
                if (listener == null) {
                    return TAG_STATE_SELECTED;
                }
                return listener.getTagState(fMapTag, word);
            }
        };

        if (countFontRatio > 0) {
            imgDrawable.setCountFontRatio(countFontRatio);
        }

        imgDrawable.setBounds(0, 0, imgDrawable.getIntrinsicWidth(), imgDrawable.getIntrinsicHeight());
        //         Log.d(TAG, "State=" + Arrays.toString(imgDrawable.getState()));

        if (listener != null && showIcon) {
            int tagState = listener.getTagState(mapTag, word);
            int[] state = makeState(tagState, mapTag == null, false);
            imgDrawable.setState(state);
        }

        ImageSpan imageSpan = new ImageSpan(imgDrawable, DynamicDrawableSpan.ALIGN_BASELINE) {

            @Override
            public int getSize(Paint paint, CharSequence text, int start, int end, Paint.FontMetricsInt fm) {
                int size = super.getSize(paint, text, start, end, fm);
                int width = -1;
                if (tvTags.getLayoutParams().width == ViewGroup.LayoutParams.WRAP_CONTENT) {
                    if (tvTags.getParent() instanceof ViewGroup) {
                        width = ((ViewGroup) tvTags.getParent()).getWidth();
                    }
                } else {
                    width = tvTags.getWidth();
                }
                if (width <= 0) {
                    return size;
                }
                return Math.min(size, width);
            }
        };

        ss.setSpan(imageSpan, start, end + tokenLen, 0);

        if (listener != null) {
            ClickableSpan clickSpan = new ClickableSpan() {

                @Override
                public void onClick(View widget) {
                    listener.tagClicked(fMapTag, word);

                    if (AndroidUtils.hasTouchScreen()) {
                        Selection.removeSelection((Spannable) tvTags.getText());
                    }
                    widget.invalidate();
                }
            };

            ss.setSpan(clickSpan, start, end + tokenLen, 0);
        }

    }
}

From source file:com.supremainc.biostar2.base.BaseListAdapter.java

@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
    mLastClickItemPosition = position;/*from w w w. ja va 2 s . c om*/
    setSelector(view.getTag(), position);
    if (mOnItemClickListener != null) {
        mOnItemClickListener.onItemClick(parent, view, position, id);
    }
    if (mListView.getChoiceMode() == ListView.CHOICE_MODE_SINGLE) {
        notifyDataSetChanged();
    } else {
        view.invalidate();
    }
}

From source file:com.mothership.tvhome.app.BaseFragment.java

/**
 * When fragment finishes loading data, it should call startEntranceTransition()
 * to execute the entrance transition.//from   www  .  j  ava 2  s .com
 * startEntranceTransition() will start transition only if both two conditions
 * are satisfied:
 * <li> prepareEntranceTransition() was called.</li>
 * <li> has not executed entrance transition yet.</li>
 * <p>
 * If startEntranceTransition() is called before onViewCreated(), it will be pending
 * and executed when view is created.
 */
public void startEntranceTransition() {
    if (!mEntranceTransitionEnabled || mEntranceTransition != null) {
        return;
    }
    // if view is not created yet, delay until onViewCreated()
    if (getView() == null) {
        mStartEntranceTransitionPending = true;
        return;
    }
    if (mEntranceTransitionPreparePending) {
        mEntranceTransitionPreparePending = false;
        onEntranceTransitionPrepare();
    }
    // wait till views get their initial position before start transition
    final View view = getView();
    view.getViewTreeObserver().addOnPreDrawListener(new ViewTreeObserver.OnPreDrawListener() {
        @Override
        public boolean onPreDraw() {
            view.getViewTreeObserver().removeOnPreDrawListener(this);
            internalCreateEntranceTransition();
            mEntranceTransitionEnabled = false;
            if (mEntranceTransition != null) {
                onEntranceTransitionStart();
                runEntranceTransition(mEntranceTransition);
            }
            return false;
        }
    });
    view.invalidate();
}

From source file:com.android.launcher3.BubbleTextView.java

/**
 * Applies the item info if it is same as what the view is pointing to currently.
 *///from   w  ww . j  a va 2s  .  com
public void reapplyItemInfo(final ItemInfo info) {
    if (getTag() == info) {
        FastBitmapDrawable.State prevState = FastBitmapDrawable.State.NORMAL;
        if (mIcon instanceof FastBitmapDrawable) {
            prevState = ((FastBitmapDrawable) mIcon).getCurrentState();
        }
        mIconLoadRequest = null;
        mDisableRelayout = true;

        if (info instanceof AppInfo) {
            applyFromApplicationInfo((AppInfo) info);
        } else if (info instanceof ShortcutInfo) {
            applyFromShortcutInfo((ShortcutInfo) info, LauncherAppState.getInstance().getIconCache());
            if ((info.rank < FolderIcon.NUM_ITEMS_IN_PREVIEW) && (info.container >= 0)) {
                View folderIcon = mLauncher.getWorkspace().getHomescreenIconByItemId(info.container);
                if (folderIcon != null) {
                    folderIcon.invalidate();
                }
            }
        } else if (info instanceof PackageItemInfo) {
            applyFromPackageItemInfo((PackageItemInfo) info);
        }

        // If we are reapplying over an old icon, then we should update the new icon to the same
        // state as the old icon
        if (mIcon instanceof FastBitmapDrawable) {
            ((FastBitmapDrawable) mIcon).setState(prevState);
        }

        mDisableRelayout = false;
    }
}

From source file:ru.adios.budgeter.widgets.DataTableLayout.java

public void disableUserOrdering() {
    orderResolver = Optional.empty();
    if (getChildCount() > 0) {
        final TableRow columnsRow = (TableRow) getChildAt(2);
        for (int i = 0; i < columnsRow.getChildCount(); i++) {
            final View childAt = columnsRow.getChildAt(i);
            if (childAt.isSelected()) {
                childAt.setSelected(false);
                childAt.invalidate();
                break;
            }/*from   w  w  w  .  ja  v a  2  s .  co  m*/
        }
    }
}

From source file:com.jhk.whysoformal.activity.musiclist.fragment.MusicListFragment.java

private void showItemWeightPopUp() {
    if (mItemWeight == null) {
        mItemWeight = new PopupWindow(getListView());

        View view = getActivity().getLayoutInflater().inflate(R.layout.popup_weight_distribution, null);
        LinearLayout distributionLayout = (LinearLayout) view.findViewById(R.id.distributionLayout);
        Context ctx = mItemWeight.getContentView().getContext();

        BaseSeries data = new BaseSeries(getString(R.string.weight_distribution),
                new float[][] { new float[] { 0.0f, 2.0f }, new float[] { 1.0f, 1.0f },
                        new float[] { 2.0f, 1.0f }, new float[] { 3.0f, 1.0f }, new float[] { 4.0f, 1.0f } },
                10, new GraphStyleAttributes(Color.BLUE, 20f, 3f));
        List<BaseSeries> entries = new LinkedList<BaseSeries>();
        entries.add(data);/*from  w w  w .ja v a  2 s . com*/

        distributionLayout.addView(new GraphView(ctx, entries, getString(R.string.distribute_me),
                new BaseAxis(0, 4, 1, 10, GraphStyleAttributes.sDEFAULT_X_AXIS_LABEL_STYLE_ATTRIBUTES),
                new BaseAxis(0, 2, 1, 10, GraphStyleAttributes.sDEFAULT_Y_AXIS_LABEL_STYLE_ATTRIBUTES)));

        view.invalidate();
        Button okayButton = (Button) view.findViewById(R.id.weight_distribution_ok_button);
        okayButton.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                mItemWeight.dismiss();
            }
        });

        mItemWeight.setFocusable(true);
        mItemWeight.setWidth(WindowManager.LayoutParams.WRAP_CONTENT);
        mItemWeight.setHeight(600);
        mItemWeight.setContentView(view);
    }

    mItemWeight.showAtLocation(getListView(), Gravity.CENTER, 0, 0);
}

From source file:com.meinv.ui.activity.HomeActivity.java

@Override
public void initializeViews(List<BaseLazyFragment> fragments, List<NavigationEntity> navigationList) {
    mActionBarDrawerToggle = new ActionBarDrawerToggle(this, mDrawerLayout, mToolbar, R.string.drawer_open,
            R.string.drawer_close) {// w  w  w.  java  2  s  .com
        @Override
        public void onDrawerSlide(View drawerView, float slideOffset) {
            View mContent = mDrawerLayout.getChildAt(0);
            View mMenu = drawerView;
            float scale = 1 - slideOffset;
            float rightScale = 0.8f + scale * 0.2f;
            if (drawerView.getTag() == null) {
                return;
            }
            if (drawerView.getTag().equals("LEFT")) {

                float leftScale = 1 - 0.3f * scale;

                //                    ViewHelper.setScaleX(mMenu, leftScale);
                //                    ViewHelper.setScaleY(mMenu, leftScale);
                ViewHelper.setAlpha(mMenu, 0.6f + 0.4f * (1 - scale));
                ViewHelper.setTranslationX(mContent, mMenu.getMeasuredWidth() * (1 - scale));
                ViewHelper.setPivotX(mContent, 0);
                ViewHelper.setPivotY(mContent, mContent.getMeasuredHeight() / 2);
                mContent.invalidate();
                ViewHelper.setScaleX(mContent, rightScale);
                ViewHelper.setScaleY(mContent, rightScale);
            } else {
                ViewHelper.setTranslationX(mContent, -mMenu.getMeasuredWidth() * slideOffset);
                ViewHelper.setPivotX(mContent, mContent.getMeasuredWidth());
                ViewHelper.setPivotY(mContent, mContent.getMeasuredHeight() / 2);
                mContent.invalidate();
                ViewHelper.setScaleX(mContent, rightScale);
                ViewHelper.setScaleY(mContent, rightScale);
            }

        }

        @Override
        public void onDrawerOpened(View drawerView) {
            super.onDrawerOpened(drawerView);
            setTitle(getString(R.string.app_name));
        }

        @Override
        public void onDrawerClosed(View drawerView) {
            super.onDrawerClosed(drawerView);
            if (null != mNavListAdapter) {
                setTitle(mNavListAdapter.getItem(mCurrentMenuCheckedPos).getName());
            }
        }
    };

    mActionBarDrawerToggle.setDrawerIndicatorEnabled(true);
    mDrawerLayout.setDrawerListener(mActionBarDrawerToggle);

    if (null != fragments && !fragments.isEmpty()) {
        mViewPager.setEnableScroll(false);
        mViewPager.setOffscreenPageLimit(fragments.size());
        mVpAdapter = new VPFragmentAdapter(getSupportFragmentManager(), fragments);
        mViewPager.setAdapter(mVpAdapter);
    }

    mNavListAdapter = new ListViewDataAdapter<NavigationEntity>(new ViewHolderCreator<NavigationEntity>() {

        @Override
        public ViewHolderBase<NavigationEntity> createViewHolder(int position) {

            return new ViewHolderBase<NavigationEntity>() {

                ImageView itemIcon;
                TextView itemName;

                @Override
                public View createView(LayoutInflater layoutInflater) {
                    View convertView = layoutInflater.inflate(R.layout.list_item_navigation, null);
                    itemIcon = ButterKnife.findById(convertView, R.id.list_item_navigation_icon);
                    itemName = ButterKnife.findById(convertView, R.id.list_item_navigation_name);

                    return convertView;
                }

                @Override
                public void showData(int i, NavigationEntity navigationEntity) {
                    itemIcon.setImageResource(navigationEntity.getIconResId());
                    itemName.setText(navigationEntity.getName());
                    if (mCurrentMenuCheckedPos == i) {
                        // checked
                        itemName.setTextColor(getResources().getColor(mCheckedListItemColorResIds[i]));
                    } else {
                        // unchecked
                        itemName.setTextColor(getResources().getColor(android.R.color.black));
                    }
                }
            };
        }
    });

    mNavListView.setAdapter(mNavListAdapter);
    mNavListAdapter.getDataList().addAll(navigationList);
    mNavListAdapter.notifyDataSetChanged();
    setTitle(mNavListAdapter.getItem(mCurrentMenuCheckedPos).getName());

    mNavListView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
        @TargetApi(Build.VERSION_CODES.ICE_CREAM_SANDWICH)
        @Override
        public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
            mCurrentMenuCheckedPos = position;
            mSearchItem.setVisible(mCurrentMenuCheckedPos == 0);
            mSearchItem.collapseActionView();
            mNavListAdapter.notifyDataSetChanged();
            mDrawerLayout.closeDrawer(Gravity.LEFT);
            mViewPager.setCurrentItem(mCurrentMenuCheckedPos, false);
        }
    });
    setupBannerAdForView(mRlLeft);
    //        setupBannerAd();
}

From source file:com.linkbubble.ui.BubbleFlowView.java

void updateScaleForView(View view, float centerX, float viewX) {
    float xDelta = Math.abs(centerX - viewX);
    float targetScale;
    if (xDelta < mFullScaleX) {
        targetScale = 1.f;//www  .  j a  v  a  2  s  .  c  o  m
    } else if (xDelta > mMinScaleX) {
        targetScale = MIN_SCALE;
    } else {
        float ratio = 1.f - ((xDelta - mFullScaleX) / (mMinScaleX - mFullScaleX));
        targetScale = MIN_SCALE + (ratio * (1.f - MIN_SCALE));
    }
    float scaleDelta = Math.abs(getScaleX() - targetScale);
    view.setScaleX(targetScale);
    view.setScaleY(targetScale);
    if (scaleDelta > .001f) {
        view.invalidate();
    }
}