Example usage for android.graphics.drawable TransitionDrawable TransitionDrawable

List of usage examples for android.graphics.drawable TransitionDrawable TransitionDrawable

Introduction

In this page you can find the example usage for android.graphics.drawable TransitionDrawable TransitionDrawable.

Prototype

public TransitionDrawable(Drawable[] layers) 

Source Link

Document

Create a new transition drawable with the specified list of layers.

Usage

From source file:com.lumisky.bluetooth_led.Interface.Bulbs.BulbsActivity.java

private void changeColor(int newColor) {

    tabs.setIndicatorColor(newColor);//w ww.  j a  v a 2  s  . c o  m

    // change ActionBar color just if an ActionBar is available
    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB) {

        Drawable colorDrawable = new ColorDrawable(newColor);
        Drawable bottomDrawable = getResources().getDrawable(R.drawable.actionbar_bottom);
        LayerDrawable ld = new LayerDrawable(new Drawable[] { colorDrawable, bottomDrawable });

        if (oldBackground == null) {

            if (Build.VERSION.SDK_INT < Build.VERSION_CODES.JELLY_BEAN_MR1) {
                ld.setCallback(drawableCallback);
            } else {
                getActionBar().setBackgroundDrawable(ld);
            }

        } else {

            TransitionDrawable td = new TransitionDrawable(new Drawable[] { oldBackground, ld });

            // workaround for broken ActionBarContainer drawable handling on
            // pre-API 17 builds
            // https://github.com/android/platform_frameworks_base/commit/a7cc06d82e45918c37429a59b14545c6a57db4e4
            if (Build.VERSION.SDK_INT < Build.VERSION_CODES.JELLY_BEAN_MR1) {
                td.setCallback(drawableCallback);
            } else {
                getActionBar().setBackgroundDrawable(td);
            }

            td.startTransition(200);

        }

        oldBackground = ld;

        getActionBar().setDisplayShowTitleEnabled(false);
        getActionBar().setDisplayShowTitleEnabled(true);

    }

    currentColor = newColor;

}

From source file:net.kjmaster.cookiemom.MainActivity.java

private void changeColor(int newColor) {
    tabs.setIndicatorColor(newColor);/*from   w  w w  . j  a v  a2 s  .c o m*/
    // change ActionBar color just if an ActionBar is available
    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB) {

        Drawable colorDrawable = new ColorDrawable(newColor);
        Drawable bottomDrawable = getResources().getDrawable(R.drawable.actionbar_bottom);
        LayerDrawable ld = new LayerDrawable(new Drawable[] { colorDrawable, bottomDrawable });

        if (oldBackground == null) {

            if (Build.VERSION.SDK_INT < Build.VERSION_CODES.JELLY_BEAN_MR1) {
                ld.setCallback(drawableCallback);
            } else {
                getActionBar().setBackgroundDrawable(ld);
            }

        } else {

            TransitionDrawable td = new TransitionDrawable(new Drawable[] { oldBackground, ld });

            // workaround for broken ActionBarContainer drawable handling on
            // pre-API 17 builds
            // https://github.com/android/platform_frameworks_base/commit/a7cc06d82e45918c37429a59b14545c6a57db4e4

            if (Build.VERSION.SDK_INT < Build.VERSION_CODES.JELLY_BEAN_MR1) {
                td.setCallback(drawableCallback);
            } else {
                getActionBar().setBackgroundDrawable(td);
            }

            td.startTransition(200);
        }

        oldBackground = ld;

        // http://stackoverflow.com/questions/11002691/actionbar-setbackgrounddrawable-nulling-background-from-thread-handler
        getActionBar().setDisplayShowTitleEnabled(false);
        getActionBar().setDisplayShowTitleEnabled(true);

    }

    currentColor = newColor;
}

From source file:inc.bait.jubilee.model.helper.util.ImgLoader.java

private void setImageBitmap(ImageView imageView, Bitmap bitmap) {
    if (mFadeInBitmap) {
        // Transition drawable to fade from loading bitmap to final bitmap
        final TransitionDrawable td = new TransitionDrawable(
                new Drawable[] { new ColorDrawable(mResources.getColor(android.R.color.transparent)),
                        new BitmapDrawable(mResources, bitmap) });
        imageView.setBackgroundDrawable(imageView.getDrawable());
        imageView.setImageDrawable(td);//from w ww.j a v a  2 s  . com
        td.startTransition(FADE_IN_TIME);
    } else {
        imageView.setImageBitmap(bitmap);
    }
}

From source file:com.musenkishi.wally.util.PaletteLoader.java

private static void applyColorToView(final PaletteTarget target, int color, boolean fromCache) {
    if (target.getView() instanceof TextView) {
        applyColorToView((TextView) target.getView(), color, fromCache);
        return;/*  ww  w . java2 s .c  om*/
    }
    if (fromCache) {
        if (target.getView() instanceof ImageView && target.shouldMaskDrawable()) {
            ((ImageView) target.getView()).getDrawable().mutate().setColorFilter(color,
                    PorterDuff.Mode.MULTIPLY);
        } else {
            target.getView().setBackgroundColor(color);
        }
    } else {
        if (target.getView() instanceof ImageView && target.shouldMaskDrawable()) {
            Integer colorFrom;
            ValueAnimator.AnimatorUpdateListener imageAnimatorUpdateListener = new ValueAnimator.AnimatorUpdateListener() {
                @Override
                public void onAnimationUpdate(ValueAnimator valueAnimator) {
                    ((ImageView) target.getView()).getDrawable().mutate().setColorFilter(
                            (Integer) valueAnimator.getAnimatedValue(), PorterDuff.Mode.MULTIPLY);
                }
            };
            ValueAnimator.AnimatorUpdateListener animatorUpdateListener;

            PaletteTag paletteTag = (PaletteTag) target.getView().getTag();
            animatorUpdateListener = imageAnimatorUpdateListener;
            colorFrom = paletteTag.getColor();
            target.getView().setTag(new PaletteTag(paletteTag.getId(), color));

            Integer colorTo = color;
            ValueAnimator colorAnimation = ValueAnimator.ofObject(new ArgbEvaluator(), colorFrom, colorTo);
            colorAnimation.addUpdateListener(animatorUpdateListener);
            colorAnimation.setDuration(300);
            colorAnimation.start();
        } else {

            Drawable preDrawable;

            if (target.getView().getBackground() == null) {
                preDrawable = new ColorDrawable(Color.TRANSPARENT);
            } else {
                preDrawable = target.getView().getBackground();
            }

            TransitionDrawable transitionDrawable = new TransitionDrawable(
                    new Drawable[] { preDrawable, new ColorDrawable(color) });
            if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN) {
                target.getView().setBackground(transitionDrawable);
            } else {
                target.getView().setBackgroundDrawable(transitionDrawable);
            }
            transitionDrawable.startTransition(300);
        }
    }
}

From source file:xyz.sahildave.widget.SearchViewLayout.java

@Override
protected void onFinishInflate() {
    mCollapsed = (ViewGroup) findViewById(R.id.search_box_collapsed);
    mSearchIcon = findViewById(R.id.search_magnifying_glass);
    mCollapsedSearchBox = findViewById(R.id.search_box_start_search);
    mCollapsedHintView = (TextView) findViewById(R.id.search_box_collapsed_hint);

    mExpanded = (ViewGroup) findViewById(R.id.search_expanded_root);
    mSearchEditText = (EditText) mExpanded.findViewById(R.id.search_expanded_edit_text);
    mBackButtonView = mExpanded.findViewById(R.id.search_expanded_back_button);
    mExpandedSearchIcon = findViewById(R.id.search_expanded_magnifying_glass);

    // Convert a long click into a click to expand the search box, and then long click on the
    // search view. This accelerates the long-press scenario for copy/paste.
    mCollapsedSearchBox.setOnLongClickListener(new OnLongClickListener() {
        @Override// www  .ja  v a  2 s.co  m
        public boolean onLongClick(View view) {
            mCollapsedSearchBox.performClick();
            mSearchEditText.performLongClick();
            return false;
        }
    });

    mCollapsed.setOnClickListener(mSearchViewOnClickListener);
    mSearchIcon.setOnClickListener(mSearchViewOnClickListener);
    mCollapsedSearchBox.setOnClickListener(mSearchViewOnClickListener);

    mSearchEditText.setOnFocusChangeListener(new OnFocusChangeListener() {
        @Override
        public void onFocusChange(View v, boolean hasFocus) {
            if (hasFocus) {
                Utils.showInputMethod(v);
            } else {
                Utils.hideInputMethod(v);
            }
        }
    });
    mSearchEditText.setOnEditorActionListener(new TextView.OnEditorActionListener() {
        @Override
        public boolean onEditorAction(TextView v, int actionId, KeyEvent event) {
            if (actionId == EditorInfo.IME_ACTION_SEARCH) {
                callSearchListener();
                Utils.hideInputMethod(v);
                return true;
            }
            return false;
        }
    });
    mSearchEditText.addTextChangedListener(new TextWatcher() {
        @Override
        public void onTextChanged(CharSequence s, int start, int before, int count) {
            if (mSearchEditText.getText().length() > 0) {
                if (mExpandedSearchIcon.getVisibility() != View.VISIBLE) {
                    Utils.fadeIn(mExpandedSearchIcon, ANIMATION_DURATION);
                }
            } else {
                Utils.fadeOut(mExpandedSearchIcon, ANIMATION_DURATION);
            }
            if (mSearchBoxListener != null)
                mSearchBoxListener.onTextChanged(s, start, before, count);
        }

        @Override
        public void beforeTextChanged(CharSequence s, int start, int count, int after) {
            if (mSearchBoxListener != null)
                mSearchBoxListener.beforeTextChanged(s, start, count, after);
        }

        @Override
        public void afterTextChanged(Editable s) {
            if (mSearchBoxListener != null)
                mSearchBoxListener.afterTextChanged(s);
        }
    });

    mBackButtonView.setOnClickListener(new OnClickListener() {
        @Override
        public void onClick(View v) {
            collapse();
        }
    });

    mExpandedSearchIcon.setOnClickListener(new OnClickListener() {
        @Override
        public void onClick(View v) {
            callSearchListener();
            Utils.hideInputMethod(v);
        }
    });

    mCollapsedDrawable = new ColorDrawable(ContextCompat.getColor(getContext(), android.R.color.transparent));
    mExpandedDrawable = new ColorDrawable(ContextCompat.getColor(getContext(), R.color.default_color_expanded));
    mBackgroundTransition = new TransitionDrawable(new Drawable[] { mCollapsedDrawable, mExpandedDrawable });
    mBackgroundTransition.setCrossFadeEnabled(true);

    setBackground(mBackgroundTransition);
    Utils.setPaddingAll(SearchViewLayout.this, 8);

    super.onFinishInflate();
}

From source file:com.mg.axe.androiddevelop.view.SearchViewLayout.java

@Override
protected void onFinishInflate() {
    mCollapsed = (ViewGroup) findViewById(R.id.search_box_collapsed);
    mSearchIcon = findViewById(R.id.search_magnifying_glass);
    mCollapsedSearchBox = findViewById(R.id.search_box_start_search);
    mCollapsedHintView = (TextView) findViewById(R.id.search_box_collapsed_hint);

    mExpanded = (ViewGroup) findViewById(R.id.search_expanded_root);
    mSearchEditText = (EditText) mExpanded.findViewById(R.id.search_expanded_edit_text);
    mBackButtonView = mExpanded.findViewById(R.id.search_expanded_back_button);
    mExpandedSearchIcon = findViewById(R.id.search_expanded_magnifying_glass);

    // Convert a long click into a click to expand the search box, and then long click on the
    // search view. This accelerates the long-press scenario for copy/paste.
    mCollapsedSearchBox.setOnLongClickListener(new OnLongClickListener() {
        @Override//from  ww  w  .jav a 2s.c  om
        public boolean onLongClick(View view) {
            mCollapsedSearchBox.performClick();
            mSearchEditText.performLongClick();
            return false;
        }
    });

    mCollapsed.setOnClickListener(mSearchViewOnClickListener);
    mSearchIcon.setOnClickListener(mSearchViewOnClickListener);
    mCollapsedSearchBox.setOnClickListener(mSearchViewOnClickListener);

    mSearchEditText.setOnFocusChangeListener(new OnFocusChangeListener() {
        @Override
        public void onFocusChange(View v, boolean hasFocus) {
            if (hasFocus) {
                Utils.showInputMethod(v);
            } else {
                Utils.hideInputMethod(v);
            }
        }
    });
    mSearchEditText.setOnEditorActionListener(new TextView.OnEditorActionListener() {
        @Override
        public boolean onEditorAction(TextView v, int actionId, KeyEvent event) {
            if (actionId == EditorInfo.IME_ACTION_SEARCH) {
                callSearchListener();
                Utils.hideInputMethod(v);
                return true;
            }
            return false;
        }
    });
    mSearchEditText.addTextChangedListener(new TextWatcher() {
        @Override
        public void onTextChanged(CharSequence s, int start, int before, int count) {
            if (mSearchEditText.getText().length() > 0) {
                if (mExpandedSearchIcon.getVisibility() != View.VISIBLE) {
                    Utils.fadeIn(mExpandedSearchIcon, ANIMATION_DURATION);
                }
            } else {
                Utils.fadeOut(mExpandedSearchIcon, ANIMATION_DURATION);
            }
            if (mSearchBoxListener != null)
                mSearchBoxListener.onTextChanged(s, start, before, count);
        }

        @Override
        public void beforeTextChanged(CharSequence s, int start, int count, int after) {
            if (mSearchBoxListener != null)
                mSearchBoxListener.beforeTextChanged(s, start, count, after);
        }

        @Override
        public void afterTextChanged(Editable s) {
            if (mSearchBoxListener != null)
                mSearchBoxListener.afterTextChanged(s);
        }
    });

    mBackButtonView.setOnClickListener(new OnClickListener() {
        @Override
        public void onClick(View v) {
            collapse();
        }
    });

    mExpandedSearchIcon.setOnClickListener(new OnClickListener() {
        @Override
        public void onClick(View v) {
            callSearchListener();
            Utils.hideInputMethod(v);
        }
    });

    mCollapsedDrawable = new ColorDrawable(ContextCompat.getColor(getContext(), android.R.color.transparent));
    mExpandedDrawable = new ColorDrawable(ContextCompat.getColor(getContext(), R.color.default_color_expanded));
    mBackgroundTransition = new TransitionDrawable(new Drawable[] { mCollapsedDrawable, mExpandedDrawable });
    mBackgroundTransition.setCrossFadeEnabled(true);
    setBackgroundCompat();
    Utils.setPaddingAll(SearchViewLayout.this, 8);

    super.onFinishInflate();
}

From source file:com.ysy.classpower_utils.search_view.OwnSearchViewLayout.java

@Override
protected void onFinishInflate() {
    mCollapsed = (ViewGroup) findViewById(xyz.sahildave.widget.R.id.search_box_collapsed);
    mSearchIcon = findViewById(xyz.sahildave.widget.R.id.search_magnifying_glass);
    mCollapsedSearchBox = findViewById(xyz.sahildave.widget.R.id.search_box_start_search);
    mCollapsedHintView = (TextView) findViewById(xyz.sahildave.widget.R.id.search_box_collapsed_hint);

    mExpanded = (ViewGroup) findViewById(xyz.sahildave.widget.R.id.search_expanded_root);
    mSearchEditText = (EditText) mExpanded.findViewById(xyz.sahildave.widget.R.id.search_expanded_edit_text);
    mBackButtonView = mExpanded.findViewById(xyz.sahildave.widget.R.id.search_expanded_back_button);
    mExpandedSearchIcon = findViewById(xyz.sahildave.widget.R.id.search_expanded_magnifying_glass);

    // Convert a long click into a click to expand the search box, and then long click on the
    // search view. This accelerates the long-press scenario for copy/paste.
    mCollapsedSearchBox.setOnLongClickListener(new OnLongClickListener() {
        @Override//w w  w. j  a  v a 2s.c  o m
        public boolean onLongClick(View view) {
            mCollapsedSearchBox.performClick();
            mSearchEditText.performLongClick();
            return false;
        }
    });

    mCollapsed.setOnClickListener(mSearchViewOnClickListener);
    mSearchIcon.setOnClickListener(mSearchViewOnClickListener);
    mCollapsedSearchBox.setOnClickListener(mSearchViewOnClickListener);

    mSearchEditText.setOnFocusChangeListener(new OnFocusChangeListener() {
        @Override
        public void onFocusChange(View v, boolean hasFocus) {
            if (hasFocus) {
                Utils.showInputMethod(v);
            } else {
                Utils.hideInputMethod(v);
            }
        }
    });
    mSearchEditText.setOnEditorActionListener(new TextView.OnEditorActionListener() {
        @Override
        public boolean onEditorAction(TextView v, int actionId, KeyEvent event) {
            if (actionId == EditorInfo.IME_ACTION_SEARCH) {
                callSearchListener();
                Utils.hideInputMethod(v);
                return true;
            }
            return false;
        }
    });
    mSearchEditText.addTextChangedListener(new TextWatcher() {
        @Override
        public void onTextChanged(CharSequence s, int start, int before, int count) {
            if (mSearchEditText.getText().length() > 0) {
                if (mExpandedSearchIcon.getVisibility() != View.VISIBLE) {
                    Utils.fadeIn(mExpandedSearchIcon, ANIMATION_DURATION);
                }
            } else {
                Utils.fadeOut(mExpandedSearchIcon, ANIMATION_DURATION);
            }
            if (mSearchBoxListener != null)
                mSearchBoxListener.onTextChanged(s, start, before, count);
        }

        @Override
        public void beforeTextChanged(CharSequence s, int start, int count, int after) {
            if (mSearchBoxListener != null)
                mSearchBoxListener.beforeTextChanged(s, start, count, after);
        }

        @Override
        public void afterTextChanged(Editable s) {
            if (mSearchBoxListener != null)
                mSearchBoxListener.afterTextChanged(s);
        }
    });

    mBackButtonView.setOnClickListener(new OnClickListener() {
        @Override
        public void onClick(View v) {
            collapse();
        }
    });

    mExpandedSearchIcon.setOnClickListener(new OnClickListener() {
        @Override
        public void onClick(View v) {
            callSearchListener();
            Utils.hideInputMethod(v);
        }
    });

    mCollapsedDrawable = new ColorDrawable(ContextCompat.getColor(getContext(), android.R.color.transparent));
    mExpandedDrawable = new ColorDrawable(
            ContextCompat.getColor(getContext(), xyz.sahildave.widget.R.color.default_color_expanded));
    mBackgroundTransition = new TransitionDrawable(new Drawable[] { mCollapsedDrawable, mExpandedDrawable });
    mBackgroundTransition.setCrossFadeEnabled(true);

    setBackground(mBackgroundTransition);
    Utils.setPaddingAll(OwnSearchViewLayout.this, 8);

    super.onFinishInflate();
}

From source file:com.jlabs.peepaid.searchviewlay.SearchViewLayout.java

@Override
protected void onFinishInflate() {
    mCollapsed = (ViewGroup) findViewById(R.id.search_box_collapsed);
    mSearchIcon = findViewById(R.id.search_magnifying_glass);
    mCollapsedSearchBox = findViewById(R.id.search_box_start_search);
    mCollapsedHintView = (TextView) findViewById(R.id.search_box_collapsed_hint);

    mExpanded = (ViewGroup) findViewById(R.id.search_expanded_root);
    mSearchEditText = (EditText) mExpanded.findViewById(R.id.search_expanded_edit_text);
    mBackButtonView = mExpanded.findViewById(R.id.search_expanded_back_button);
    mExpandedSearchIcon = findViewById(R.id.search_expanded_magnifying_glass);

    // Convert a long click into a click to expand the search box, and then long click on the
    // search view. This accelerates the long-press scenario for copy/paste.
    mCollapsedSearchBox.setOnLongClickListener(new OnLongClickListener() {
        @Override//from  www  .  j a v a2s.  c o  m
        public boolean onLongClick(View view) {
            mCollapsedSearchBox.performClick();
            mSearchEditText.performLongClick();
            return false;
        }
    });

    mCollapsed.setOnClickListener(mSearchViewOnClickListener);
    mSearchIcon.setOnClickListener(mSearchViewOnClickListener);
    mCollapsedSearchBox.setOnClickListener(mSearchViewOnClickListener);

    mSearchEditText.setOnFocusChangeListener(new OnFocusChangeListener() {
        @Override
        public void onFocusChange(View v, boolean hasFocus) {
            if (hasFocus) {
                Utils.showInputMethod(v);
            } else {
                Utils.hideInputMethod(v);
            }
        }
    });
    mSearchEditText.setOnEditorActionListener(new TextView.OnEditorActionListener() {
        @Override
        public boolean onEditorAction(TextView v, int actionId, KeyEvent event) {
            if (actionId == EditorInfo.IME_ACTION_SEARCH) {
                callSearchListener();
                Utils.hideInputMethod(v);
                return true;
            }
            return false;
        }
    });
    mSearchEditText.addTextChangedListener(new TextWatcher() {
        @Override
        public void onTextChanged(CharSequence s, int start, int before, int count) {
            if (mSearchEditText.getText().length() > 0) {
                if (mExpandedSearchIcon.getVisibility() != View.VISIBLE) {
                    Utils.fadeIn(mExpandedSearchIcon, ANIMATION_DURATION);
                }
            } else {
                Utils.fadeOut(mExpandedSearchIcon, ANIMATION_DURATION);
            }
            if (mSearchBoxListener != null)
                mSearchBoxListener.onTextChanged(s, start, before, count);
        }

        @Override
        public void beforeTextChanged(CharSequence s, int start, int count, int after) {
            if (mSearchBoxListener != null)
                mSearchBoxListener.beforeTextChanged(s, start, count, after);
        }

        @Override
        public void afterTextChanged(Editable s) {
            if (mSearchBoxListener != null)
                mSearchBoxListener.afterTextChanged(s);
        }
    });

    mBackButtonView.setOnClickListener(new OnClickListener() {
        @Override
        public void onClick(View v) {
            collapse();
        }
    });

    mExpandedSearchIcon.setOnClickListener(new OnClickListener() {
        @Override
        public void onClick(View v) {
            callSearchListener();
            Utils.hideInputMethod(v);
        }
    });

    mCollapsedDrawable = new ColorDrawable(
            ContextCompat.getColor(getContext(), R.color.default_color_expanded));
    mExpandedDrawable = new ColorDrawable(ContextCompat.getColor(getContext(), R.color.default_color_expanded));
    mBackgroundTransition = new TransitionDrawable(new Drawable[] { mCollapsedDrawable, mExpandedDrawable });
    mBackgroundTransition.setCrossFadeEnabled(true);

    setBackground(mBackgroundTransition);
    Utils.setPaddingAll(SearchViewLayout.this, 8);

    super.onFinishInflate();
}

From source file:com.conferenceengineer.android.iosched.util.ImageLoader.java

/**
 * Sets a {@link android.graphics.Bitmap} to an {@link android.widget.ImageView} using a
 * fade-in animation. If there is a {@link android.graphics.drawable.Drawable} already set on
 * the ImageView then use that as the image to fade from. Otherwise fade in from a transparent
 * Drawable.//from   w  w w . j  a v a 2  s  . c  om
 */
@TargetApi(Build.VERSION_CODES.HONEYCOMB_MR1)
private static void setImageBitmap(final ImageView imageView, final Bitmap bitmap, Resources resources,
        boolean fadeIn) {

    // If we're fading in and on HC MR1+
    if (fadeIn && UIUtils.hasHoneycombMR1()) {
        // Use ViewPropertyAnimator to run a simple fade in + fade out animation to update the
        // ImageView
        imageView.animate().scaleY(0.95f).scaleX(0.95f).alpha(0f)
                .setDuration(imageView.getDrawable() == null ? 0 : HALF_FADE_IN_TIME)
                .setListener(new AnimatorListenerAdapter() {
                    @Override
                    public void onAnimationEnd(Animator animation) {
                        imageView.setImageBitmap(bitmap);
                        imageView.animate().alpha(1f).scaleY(1f).scaleX(1f).setDuration(HALF_FADE_IN_TIME)
                                .setListener(null);
                    }
                });
    } else if (fadeIn) {
        // Otherwise use a TransitionDrawable to fade in
        Drawable initialDrawable;
        if (imageView.getDrawable() != null) {
            initialDrawable = imageView.getDrawable();
        } else {
            initialDrawable = transparentDrawable;
        }
        BitmapDrawable bitmapDrawable = new BitmapDrawable(resources, bitmap);
        // Use TransitionDrawable to fade in
        final TransitionDrawable td = new TransitionDrawable(
                new Drawable[] { initialDrawable, bitmapDrawable });
        imageView.setImageDrawable(td);
        td.startTransition(UIUtils.ANIMATION_FADE_IN_TIME);
    } else {
        // No fade in, just set bitmap directly
        imageView.setImageBitmap(bitmap);
    }
}

From source file:com.vinay.volley.lazyload.ImageLoader.java

/**
 * Sets a {@link android.graphics.Bitmap} to an {@link android.widget.ImageView} using a fade-in animation. If there
 * is a {@link android.graphics.drawable.Drawable} already set on the ImageView then use that as the image to fade
 * from. Otherwise fade in from a transparent Drawable.
 *//*from w  ww .  j av  a2s  .co  m*/
@TargetApi(Build.VERSION_CODES.HONEYCOMB_MR1)
private static void setImageBitmap(final ImageView imageView, final Bitmap bitmap, Resources resources,
        boolean fadeIn) {

    // If we're fading in and on HC MR1+
    if (fadeIn && hasHoneycombMR1()) {
        // Use ViewPropertyAnimator to run a simple fade in + fade out animation to update the
        // ImageView
        imageView.animate().scaleY(0.95f).scaleX(0.95f).alpha(0f)
                .setDuration(imageView.getDrawable() == null ? 0 : HALF_FADE_IN_TIME)
                .setListener(new AnimatorListenerAdapter() {
                    @Override
                    public void onAnimationEnd(Animator animation) {
                        imageView.setImageBitmap(bitmap);
                        imageView.animate().alpha(1f).scaleY(1f).scaleX(1f).setDuration(HALF_FADE_IN_TIME)
                                .setListener(null);
                    }
                });
    } else if (fadeIn) {
        // Otherwise use a TransitionDrawable to fade in
        Drawable initialDrawable;
        if (imageView.getDrawable() != null) {
            initialDrawable = imageView.getDrawable();
        } else {
            initialDrawable = transparentDrawable;
        }
        BitmapDrawable bitmapDrawable = new BitmapDrawable(resources, bitmap);
        // Use TransitionDrawable to fade in
        final TransitionDrawable td = new TransitionDrawable(
                new Drawable[] { initialDrawable, bitmapDrawable });
        imageView.setImageDrawable(td);
        td.startTransition(ANIMATION_FADE_IN_TIME);
    } else {
        // No fade in, just set bitmap directly
        imageView.setImageBitmap(bitmap);
    }
}