Search in sources :

Example 21 with ViewOutlineProvider

use of android.view.ViewOutlineProvider in project FloatingActionButton by Clans.

the class FloatingActionButton method createFillDrawable.

@TargetApi(Build.VERSION_CODES.LOLLIPOP)
private Drawable createFillDrawable() {
    StateListDrawable drawable = new StateListDrawable();
    drawable.addState(new int[] { -android.R.attr.state_enabled }, createCircleDrawable(mColorDisabled));
    drawable.addState(new int[] { android.R.attr.state_pressed }, createCircleDrawable(mColorPressed));
    drawable.addState(new int[] {}, createCircleDrawable(mColorNormal));
    if (Util.hasLollipop()) {
        RippleDrawable ripple = new RippleDrawable(new ColorStateList(new int[][] { {} }, new int[] { mColorRipple }), drawable, null);
        setOutlineProvider(new ViewOutlineProvider() {

            @Override
            public void getOutline(View view, Outline outline) {
                outline.setOval(0, 0, view.getWidth(), view.getHeight());
            }
        });
        setClipToOutline(true);
        mBackgroundDrawable = ripple;
        return ripple;
    }
    mBackgroundDrawable = drawable;
    return drawable;
}
Also used : ColorStateList(android.content.res.ColorStateList) Outline(android.graphics.Outline) StateListDrawable(android.graphics.drawable.StateListDrawable) ViewOutlineProvider(android.view.ViewOutlineProvider) View(android.view.View) TextView(android.widget.TextView) RippleDrawable(android.graphics.drawable.RippleDrawable) TargetApi(android.annotation.TargetApi)

Example 22 with ViewOutlineProvider

use of android.view.ViewOutlineProvider in project Shuttle by timusus.

the class PlayPauseView method onSizeChanged.

@Override
protected void onSizeChanged(final int w, final int h, int oldw, int oldh) {
    super.onSizeChanged(w, h, oldw, oldh);
    mDrawable.setBounds(0, 0, w, h);
    mWidth = w;
    mHeight = h;
    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
        setOutlineProvider(new ViewOutlineProvider() {

            @TargetApi(Build.VERSION_CODES.LOLLIPOP)
            @Override
            public void getOutline(View view, Outline outline) {
                outline.setOval(0, 0, view.getWidth(), view.getHeight());
            }
        });
        setClipToOutline(true);
    }
}
Also used : Outline(android.graphics.Outline) ViewOutlineProvider(android.view.ViewOutlineProvider) TargetApi(android.annotation.TargetApi) View(android.view.View)

Example 23 with ViewOutlineProvider

use of android.view.ViewOutlineProvider in project android_frameworks_base by AOSPA.

the class TaskView method onFinishInflate.

@Override
protected void onFinishInflate() {
    // Bind the views
    mHeaderView = (TaskViewHeader) findViewById(R.id.task_view_bar);
    mThumbnailView = (TaskViewThumbnail) findViewById(R.id.task_view_thumbnail);
    mThumbnailView.updateClipToTaskBar(mHeaderView);
    mActionButtonView = findViewById(R.id.lock_to_app_fab);
    mActionButtonView.setOutlineProvider(new ViewOutlineProvider() {

        @Override
        public void getOutline(View view, Outline outline) {
            // Set the outline to match the FAB background
            outline.setOval(0, 0, mActionButtonView.getWidth(), mActionButtonView.getHeight());
            outline.setAlpha(0.35f);
        }
    });
    mActionButtonView.setOnClickListener(this);
    mActionButtonTranslationZ = mActionButtonView.getTranslationZ();
}
Also used : Outline(android.graphics.Outline) ViewOutlineProvider(android.view.ViewOutlineProvider) View(android.view.View) TextView(android.widget.TextView)

Example 24 with ViewOutlineProvider

use of android.view.ViewOutlineProvider in project Hummingbird-for-Android by xiprox.

the class AnimeDetailsActivity method onCreate.

@TargetApi(Build.VERSION_CODES.LOLLIPOP)
@Override
protected void onCreate(Bundle savedInstanceState) {
    getWindow().requestFeature(Window.FEATURE_CONTENT_TRANSITIONS);
    Transition sharedElem = TransitionInflater.from(this).inflateTransition(R.transition.move_scale_transition);
    getWindow().setSharedElementEnterTransition(sharedElem);
    getWindow().setSharedElementExitTransition(sharedElem);
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_anime_details);
    toolbar = (Toolbar) findViewById(R.id.toolbar);
    setSupportActionBar(toolbar);
    mActionBar = getSupportActionBar();
    api = new HummingbirdApi(this);
    prefMan = new PrefManager(this);
    mActionBar.setDisplayHomeAsUpEnabled(true);
    anime = (Anime) getIntent().getSerializableExtra(ARG_ANIME_OBJ);
    ANIME_ID = getIntent().getStringExtra(ARG_ID);
    if (savedInstanceState != null) {
        Anime savedAnime = (Anime) savedInstanceState.getSerializable(STATE_ANIME);
        if (savedAnime != null)
            anime = savedAnime;
        LibraryEntry savedLibraryEntry = (LibraryEntry) savedInstanceState.getSerializable(STATE_LIBRARY_ENTRY);
        if (savedLibraryEntry != null)
            libraryEntry = savedLibraryEntry;
    }
    mActionBarBackgroundDrawable = new ColorDrawable(darkMutedColor != 0 ? darkMutedColor : getResources().getColor(R.color.neutral_darker));
    mActionBarBackgroundDrawable.setAlpha(0);
    toolbar.setBackgroundDrawable(mActionBarBackgroundDrawable);
    mActionButton = (FloatingActionButton) findViewById(R.id.fab);
    mQuickReturnView = toolbar;
    mPlaceholderView = findViewById(R.id.placeholder);
    mObservableScrollView = (ObservableScrollView) findViewById(R.id.anime_details_scroll_view);
    mObservableScrollView.setCallbacks(this);
    mObservableScrollView.getViewTreeObserver().addOnGlobalLayoutListener(new ViewTreeObserver.OnGlobalLayoutListener() {

        @Override
        public void onGlobalLayout() {
            onScrollChanged(mObservableScrollView.getScrollY());
            mMaxScrollY = mObservableScrollView.computeVerticalScrollRange() - mObservableScrollView.getHeight();
            mQuickReturnHeight = mQuickReturnView.getHeight();
            int headerHeight = mHeaderImage.getHeight();
            if (!firstGlobalLayoutPerformed && headerHeight != 0) {
                updateHeaderHeight(headerHeight);
                firstGlobalLayoutPerformed = true;
            }
        }
    });
    mContentsHolder = (LinearLayout) findViewById(R.id.anime_details_content_holder);
    mInfoHolder = (FrameLayout) findViewById(R.id.anime_details_info_holder);
    mMoreInfoHolder = (LinearLayout) findViewById(R.id.anime_details_more_info_holder);
    mLibraryInfoHolder = (LinearLayout) findViewById(R.id.anime_details_library_info_holder);
    mHeaderHolder = (FrameLayout) findViewById(R.id.anime_details_header_holder);
    mHeaderImage = (ImageView) findViewById(R.id.anime_details_header);
    mCoverHolder = (FrameLayout) findViewById(R.id.anime_details_cover_image_holder);
    mCoverImage = (ImageView) findViewById(R.id.anime_details_cover_image);
    mTitle = (TextView) findViewById(R.id.anime_details_title);
    mType = (TextView) findViewById(R.id.anime_details_type);
    mGenre = (TextView) findViewById(R.id.anime_details_genres);
    mEpisodeCount = (TextView) findViewById(R.id.anime_details_episode_count);
    mEpisodeLength = (TextView) findViewById(R.id.anime_details_episode_duration);
    mAgeRating = (TextView) findViewById(R.id.anime_details_age_rating);
    mAired = (TextView) findViewById(R.id.anime_details_aired);
    mCommunityRating = (TextView) findViewById(R.id.anime_details_community_rating);
    mSynopsisHolder = (LinearLayout) findViewById(R.id.anime_details_synopsis_holder);
    mSynopsis = (TextView) findViewById(R.id.anime_details_synopsis);
    mMoreSimilarAnime = (LinearLayout) findViewById(R.id.anime_details_more_similar_anime);
    mLibraryProgressBar = (ProgressBar) findViewById(R.id.anime_details_library_progress_bar);
    mStatusSpinner = (Spinner) findViewById(R.id.anime_details_status_spinner);
    mEpisodesHolder = (LinearLayout) findViewById(R.id.anime_details_library_episodes_holder);
    mEpisodes = (TextView) findViewById(R.id.anime_details_library_episodes);
    mRewatching = (SwitchCompat) findViewById(R.id.anime_details_library_rewatching);
    mRewatchedTimesHolder = (LinearLayout) findViewById(R.id.anime_details_library_rewatched_holder);
    mRewatchedTimes = (TextView) findViewById(R.id.anime_details_library_rewatched);
    mPrivate = (SwitchCompat) findViewById(R.id.anime_details_library_private);
    mRatingBar = (RatingBar) findViewById(R.id.anime_details_library_rating_advanced);
    mSimpleRatingView = (SimpleRatingView) findViewById(R.id.anime_details_library_rating_simple);
    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
        ViewOutlineProvider infoOutlineProvider = new ViewOutlineProvider() {

            @Override
            public void getOutline(View view, Outline outline) {
                outline.setRect(0, Utils.dpToPx(AnimeDetailsActivity.this, getResources().getDimension(R.dimen.offset_details_info_card)), view.getWidth(), view.getHeight());
            }
        };
        mInfoHolder.setOutlineProvider(infoOutlineProvider);
    }
    if (anime != null) {
        displayAnimeInfo();
        if (libraryEntry == null)
            new LibraryEntryTask().executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR);
        else
            displayLibraryElements();
    } else
        new AnimeInfoTask().executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR, true);
}
Also used : LibraryEntry(tr.bcxip.hummingbird.api.objects.LibraryEntry) HummingbirdApi(tr.bcxip.hummingbird.api.HummingbirdApi) Outline(android.graphics.Outline) ViewOutlineProvider(android.view.ViewOutlineProvider) ImageView(android.widget.ImageView) ObservableScrollView(tr.bcxip.hummingbird.widget.ObservableScrollView) View(android.view.View) AdapterView(android.widget.AdapterView) SimpleRatingView(tr.xip.widget.simpleratingview.SimpleRatingView) TextView(android.widget.TextView) PrefManager(tr.bcxip.hummingbird.managers.PrefManager) Anime(tr.bcxip.hummingbird.api.objects.Anime) ColorDrawable(android.graphics.drawable.ColorDrawable) Transition(android.transition.Transition) ViewTreeObserver(android.view.ViewTreeObserver) TargetApi(android.annotation.TargetApi)

Example 25 with ViewOutlineProvider

use of android.view.ViewOutlineProvider in project WordPress-Android by wordpress-mobile.

the class MeFragment method addDropShadowToAvatar.

/**
     * adds a circular drop shadow to the avatar's parent view (Lollipop+ only)
     */
@TargetApi(Build.VERSION_CODES.LOLLIPOP)
private void addDropShadowToAvatar() {
    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
        mAvatarContainer.setOutlineProvider(new ViewOutlineProvider() {

            @Override
            public void getOutline(View view, Outline outline) {
                int padding = (mAvatarContainer.getWidth() - mAvatarImageView.getWidth()) / 2;
                outline.setOval(padding, padding, view.getWidth() - padding, view.getHeight() - padding);
            }
        });
        mAvatarContainer.setElevation(mAvatarContainer.getResources().getDimensionPixelSize(R.dimen.card_elevation));
    }
}
Also used : Outline(android.graphics.Outline) ViewOutlineProvider(android.view.ViewOutlineProvider) View(android.view.View) TextView(android.widget.TextView) WPNetworkImageView(org.wordpress.android.widgets.WPNetworkImageView) ToolTipView(com.github.xizzhu.simpletooltip.ToolTipView) TargetApi(android.annotation.TargetApi)

Aggregations

View (android.view.View)27 ViewOutlineProvider (android.view.ViewOutlineProvider)27 Outline (android.graphics.Outline)26 TextView (android.widget.TextView)16 TargetApi (android.annotation.TargetApi)8 ImageView (android.widget.ImageView)7 ColorDrawable (android.graphics.drawable.ColorDrawable)4 Animator (android.animation.Animator)3 AnimatorListenerAdapter (android.animation.AnimatorListenerAdapter)3 AnimatorSet (android.animation.AnimatorSet)3 ObjectAnimator (android.animation.ObjectAnimator)3 ColorStateList (android.content.res.ColorStateList)3 Rect (android.graphics.Rect)3 Drawable (android.graphics.drawable.Drawable)3 RippleDrawable (android.graphics.drawable.RippleDrawable)3 ViewGroup (android.view.ViewGroup)3 Interpolator (android.view.animation.Interpolator)3 StateListDrawable (android.graphics.drawable.StateListDrawable)2 AdapterView (android.widget.AdapterView)2 PropertyValuesHolder (android.animation.PropertyValuesHolder)1