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;
}
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);
}
}
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();
}
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);
}
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));
}
}
Aggregations