List of usage examples for android.support.v4.content ContextCompat getDrawable
public static final Drawable getDrawable(Context context, int i)
From source file:com.h6ah4i.android.example.advrecyclerview.demo_ds.DraggableSwipeableExampleFragment.java
@Override public void onViewCreated(View view, @Nullable Bundle savedInstanceState) { super.onViewCreated(view, savedInstanceState); //noinspection ConstantConditions mRecyclerView = (RecyclerView) getView().findViewById(R.id.recycler_view); mLayoutManager = new LinearLayoutManager(getContext()); // touch guard manager (this class is required to suppress scrolling while swipe-dismiss animation is running) mRecyclerViewTouchActionGuardManager = new RecyclerViewTouchActionGuardManager(); mRecyclerViewTouchActionGuardManager.setInterceptVerticalScrollingWhileAnimationRunning(true); mRecyclerViewTouchActionGuardManager.setEnabled(true); // drag & drop manager mRecyclerViewDragDropManager = new RecyclerViewDragDropManager(); mRecyclerViewDragDropManager.setDraggingItemShadowDrawable( (NinePatchDrawable) ContextCompat.getDrawable(getContext(), R.drawable.material_shadow_z3)); // swipe manager mRecyclerViewSwipeManager = new RecyclerViewSwipeManager(); //adapter//from w ww . ja v a2 s. c om final DraggableSwipeableExampleAdapter myItemAdapter = new DraggableSwipeableExampleAdapter( getDataProvider()); myItemAdapter.setEventListener(new DraggableSwipeableExampleAdapter.EventListener() { @Override public void onItemRemoved(int position) { ((DraggableSwipeableExampleActivity) getActivity()).onItemRemoved(position); } @Override public void onItemPinned(int position) { ((DraggableSwipeableExampleActivity) getActivity()).onItemPinned(position); } @Override public void onItemViewClicked(View v, boolean pinned) { onItemViewClick(v, pinned); } }); mAdapter = myItemAdapter; mWrappedAdapter = mRecyclerViewDragDropManager.createWrappedAdapter(myItemAdapter); // wrap for dragging mWrappedAdapter = mRecyclerViewSwipeManager.createWrappedAdapter(mWrappedAdapter); // wrap for swiping final GeneralItemAnimator animator = new SwipeDismissItemAnimator(); // Change animations are enabled by default since support-v7-recyclerview v22. // Disable the change animation in order to make turning back animation of swiped item works properly. animator.setSupportsChangeAnimations(false); mRecyclerView.setLayoutManager(mLayoutManager); mRecyclerView.setAdapter(mWrappedAdapter); // requires *wrapped* adapter mRecyclerView.setItemAnimator(animator); // additional decorations //noinspection StatementWithEmptyBody if (supportsViewElevation()) { // Lollipop or later has native drop shadow feature. ItemShadowDecorator is not required. } else { mRecyclerView.addItemDecoration(new ItemShadowDecorator( (NinePatchDrawable) ContextCompat.getDrawable(getContext(), R.drawable.material_shadow_z1))); } mRecyclerView.addItemDecoration(new SimpleListDividerDecorator( ContextCompat.getDrawable(getContext(), R.drawable.list_divider_h), true)); // NOTE: // The initialization order is very important! This order determines the priority of touch event handling. // // priority: TouchActionGuard > Swipe > DragAndDrop mRecyclerViewTouchActionGuardManager.attachRecyclerView(mRecyclerView); mRecyclerViewSwipeManager.attachRecyclerView(mRecyclerView); mRecyclerViewDragDropManager.attachRecyclerView(mRecyclerView); // for debugging // animator.setDebug(true); // animator.setMoveDuration(2000); // animator.setRemoveDuration(2000); // mRecyclerViewSwipeManager.setMoveToOutsideWindowAnimationDuration(2000); // mRecyclerViewSwipeManager.setReturnToDefaultPositionAnimationDuration(2000); }
From source file:com.barak.pix.UserDetailActivity.java
@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_user_detail); Intent intent = getIntent();//from w w w. j av a 2 s . c o m mUserId = intent.getStringExtra(USER_ID_EXTRA_NAME); final Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar); setSupportActionBar(toolbar); getSupportActionBar().setDisplayHomeAsUpEnabled(true); final CollapsingToolbarLayout collapsingToolbar = (CollapsingToolbarLayout) findViewById( R.id.collapsing_toolbar); // TODO: Investigate why initial toolbar title is activity name instead of blank. mPeopleRef = FirebaseUtil.getPeopleRef(); final String currentUserId = FirebaseUtil.getCurrentUserId(); final FloatingActionButton followUserFab = (FloatingActionButton) findViewById(R.id.follow_user_fab); mFollowingListener = new ValueEventListener() { @Override public void onDataChange(DataSnapshot dataSnapshot) { if (dataSnapshot.exists()) { followUserFab.setImageDrawable( ContextCompat.getDrawable(UserDetailActivity.this, R.drawable.ic_done_24dp)); } else { followUserFab.setImageDrawable( ContextCompat.getDrawable(UserDetailActivity.this, R.drawable.ic_person_add_24dp)); } } @Override public void onCancelled(DatabaseError firebaseError) { } }; if (currentUserId != null) { mPeopleRef.child(currentUserId).child("following").child(mUserId) .addValueEventListener(mFollowingListener); } followUserFab.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { if (currentUserId == null) { Toast.makeText(UserDetailActivity.this, "You need to sign in to follow someone.", Toast.LENGTH_SHORT).show(); return; } // TODO: Convert these to actually not be single value, for live updating when // current user follows. mPeopleRef.child(currentUserId).child("following").child(mUserId) .addListenerForSingleValueEvent(new ValueEventListener() { @Override public void onDataChange(DataSnapshot dataSnapshot) { Map<String, Object> updatedUserData = new HashMap<>(); if (dataSnapshot.exists()) { // Already following, need to unfollow updatedUserData.put("people/" + currentUserId + "/following/" + mUserId, null); updatedUserData.put("followers/" + mUserId + "/" + currentUserId, null); } else { updatedUserData.put("people/" + currentUserId + "/following/" + mUserId, true); updatedUserData.put("followers/" + mUserId + "/" + currentUserId, true); } FirebaseUtil.getBaseRef().updateChildren(updatedUserData, new DatabaseReference.CompletionListener() { @Override public void onComplete(DatabaseError firebaseError, DatabaseReference firebase) { if (firebaseError != null) { Toast.makeText(UserDetailActivity.this, R.string.follow_user_error, Toast.LENGTH_LONG).show(); Log.d(TAG, getString(R.string.follow_user_error) + "\n" + firebaseError.getMessage()); } } }); } @Override public void onCancelled(DatabaseError firebaseError) { } }); } }); mRecyclerGrid = (RecyclerView) findViewById(R.id.user_posts_grid); mGridAdapter = new GridAdapter(); mRecyclerGrid.setAdapter(mGridAdapter); mRecyclerGrid.setLayoutManager(new GridLayoutManager(this, GRID_NUM_COLUMNS)); mPersonRef = FirebaseUtil.getPeopleRef().child(mUserId); mPersonInfoListener = mPersonRef.addValueEventListener(new ValueEventListener() { @Override public void onDataChange(DataSnapshot dataSnapshot) { Person person = dataSnapshot.getValue(Person.class); CircleImageView userPhoto = (CircleImageView) findViewById(R.id.user_detail_photo); GlideUtil.loadProfileIcon(person.getProfile_picture(), userPhoto); String name = person.getFull_name(); if (name == null) { name = getString(R.string.user_info_no_name); } collapsingToolbar.setTitle(name); if (person.getFollowing() != null) { int numFollowing = person.getFollowing().size(); ((TextView) findViewById(R.id.user_num_following)).setText(numFollowing + " following"); } List<String> paths = new ArrayList<String>(person.getPosts().keySet()); mGridAdapter.addPaths(paths); String firstPostKey = paths.get(0); FirebaseUtil.getPostsRef().child(firstPostKey) .addListenerForSingleValueEvent(new ValueEventListener() { @Override public void onDataChange(DataSnapshot dataSnapshot) { Post post = dataSnapshot.getValue(Post.class); ImageView imageView = (ImageView) findViewById(R.id.backdrop); GlideUtil.loadImage(post.getFull_url(), imageView); } @Override public void onCancelled(DatabaseError firebaseError) { } }); } @Override public void onCancelled(DatabaseError firebaseError) { } }); mFollowersRef = FirebaseUtil.getFollowersRef().child(mUserId); mFollowersListener = new ValueEventListener() { @Override public void onDataChange(DataSnapshot dataSnapshot) { long numFollowers = dataSnapshot.getChildrenCount(); ((TextView) findViewById(R.id.user_num_followers)) .setText(numFollowers + " follower" + (numFollowers == 1 ? "" : "s")); } @Override public void onCancelled(DatabaseError databaseError) { } }; mFollowersRef.addValueEventListener(mFollowersListener); }
From source file:com.jun.jokedaquan.widget.divider.DividerItemDecoration.java
/** * Construct a decoration with a specified resId and must be specify the orientation, * * @param context Context/* w w w . j a v a 2s .c o m*/ * @param resId id of divider * @param orientation the orientation must be one of the {@link #VERTICAL_LIST} or {@link #HORIZONTAL_LIST}. */ public DividerItemDecoration(Context context, @DrawableRes int resId, int orientation) { mDivider = ContextCompat.getDrawable(context, resId); setOrientation(orientation); }
From source file:com.example.evan.comp296.messaging.UserDetailActivity.java
@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_user_detail); Intent intent = getIntent();/*from w w w . j a va 2s . c o m*/ mUserId = intent.getStringExtra(USER_ID_EXTRA_NAME); final Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar); setSupportActionBar(toolbar); getSupportActionBar().setDisplayHomeAsUpEnabled(true); final CollapsingToolbarLayout collapsingToolbar = (CollapsingToolbarLayout) findViewById( R.id.collapsing_toolbar); // TODO: Investigate why initial toolbar title is activity name instead of blank. mPeopleRef = FirebaseUtil.getPeopleRef(); final String currentUserId = FirebaseUtil.getCurrentUserId(); final FloatingActionButton followUserFab = (FloatingActionButton) findViewById(R.id.follow_user_fab); mFollowingListener = new ValueEventListener() { @Override public void onDataChange(DataSnapshot dataSnapshot) { if (dataSnapshot.exists()) { followUserFab.setImageDrawable( ContextCompat.getDrawable(UserDetailActivity.this, R.drawable.ic_done_24dp)); } else { followUserFab.setImageDrawable( ContextCompat.getDrawable(UserDetailActivity.this, R.drawable.ic_person_add_24dp)); } } @Override public void onCancelled(DatabaseError firebaseError) { } }; if (currentUserId != null) { mPeopleRef.child(currentUserId).child("following").child(mUserId) .addValueEventListener(mFollowingListener); } followUserFab.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { if (currentUserId == null) { Toast.makeText(UserDetailActivity.this, "You need to sign in to follow someone.", Toast.LENGTH_SHORT).show(); return; } // TODO: Convert these to actually not be single value, for live updating when // current user follows. mPeopleRef.child(currentUserId).child("following").child(mUserId) .addListenerForSingleValueEvent(new ValueEventListener() { @Override public void onDataChange(DataSnapshot dataSnapshot) { Map<String, Object> updatedUserData = new HashMap<>(); if (dataSnapshot.exists()) { // Already following, need to unfollow updatedUserData.put("people/" + currentUserId + "/following/" + mUserId, null); updatedUserData.put("followers/" + mUserId + "/" + currentUserId, null); } else { updatedUserData.put("people/" + currentUserId + "/following/" + mUserId, true); updatedUserData.put("followers/" + mUserId + "/" + currentUserId, true); } FirebaseUtil.getBaseRef().updateChildren(updatedUserData, new DatabaseReference.CompletionListener() { @Override public void onComplete(DatabaseError firebaseError, DatabaseReference firebase) { if (firebaseError != null) { Toast.makeText(UserDetailActivity.this, R.string.follow_user_error, Toast.LENGTH_LONG).show(); Log.d(TAG, getString(R.string.follow_user_error) + "\n" + firebaseError.getMessage()); } } }); } @Override public void onCancelled(DatabaseError firebaseError) { } }); } }); mRecyclerGrid = (RecyclerView) findViewById(R.id.user_posts_grid); mGridAdapter = new GridAdapter(); mRecyclerGrid.setAdapter(mGridAdapter); mRecyclerGrid.setLayoutManager(new GridLayoutManager(this, GRID_NUM_COLUMNS)); mPersonRef = FirebaseUtil.getPeopleRef().child(mUserId); mPersonInfoListener = mPersonRef.addValueEventListener(new ValueEventListener() { @Override public void onDataChange(DataSnapshot dataSnapshot) { Person person = dataSnapshot.getValue(Person.class); Log.w(TAG, "mPersonRef:" + mPersonRef.getKey()); CircleImageView userPhoto = (CircleImageView) findViewById(R.id.user_detail_photo); GlideUtil.loadProfileIcon(person.getPhotoUrl(), userPhoto); String name = person.getDisplayName(); if (name == null) { name = getString(R.string.user_info_no_name); } collapsingToolbar.setTitle(name); if (person.getFollowing() != null) { int numFollowing = person.getFollowing().size(); ((TextView) findViewById(R.id.user_num_following)).setText(numFollowing + " following"); } List<String> paths = new ArrayList<String>(person.getPosts().keySet()); mGridAdapter.addPaths(paths); String firstPostKey = paths.get(0); FirebaseUtil.getPostsRef().child(firstPostKey) .addListenerForSingleValueEvent(new ValueEventListener() { @Override public void onDataChange(DataSnapshot dataSnapshot) { Post post = dataSnapshot.getValue(Post.class); ImageView imageView = (ImageView) findViewById(R.id.backdrop); GlideUtil.loadImage(post.getFull_url(), imageView); } @Override public void onCancelled(DatabaseError firebaseError) { } }); } @Override public void onCancelled(DatabaseError firebaseError) { } }); mFollowersRef = FirebaseUtil.getFollowersRef().child(mUserId); mFollowersListener = new ValueEventListener() { @Override public void onDataChange(DataSnapshot dataSnapshot) { long numFollowers = dataSnapshot.getChildrenCount(); ((TextView) findViewById(R.id.user_num_followers)) .setText(numFollowers + " follower" + (numFollowers == 1 ? "" : "s")); } @Override public void onCancelled(DatabaseError databaseError) { } }; mFollowersRef.addValueEventListener(mFollowersListener); }
From source file:com.fuzz.indicator.CutoutImageCell.java
/** * Attach the appropriate drawable, specified by {@code lp}, on {@link #itemView}. * * @param lp the LayoutParams {@link #itemView} should be assumed to have * @return a resolved drawable, or null if none can be found * @see CutoutViewLayoutParams#indicatorDrawableId *///from www .java 2 s .c o m @Nullable protected Drawable chooseDrawable(@NonNull CutoutViewLayoutParams lp) { Drawable chosen; if (latestResourceId != lp.indicatorDrawableId) { latestResourceId = lp.indicatorDrawableId; chosen = ContextCompat.getDrawable(itemView.getContext(), lp.indicatorDrawableId); } else { chosen = itemView.getDrawable(); } return chosen; }
From source file:com.binil.pushnotification.GcmIntentService.java
private void displayNotification(PendingIntent pi, String title, String msg) { NotificationCompat.Builder mBuilder = new NotificationCompat.Builder(this) .setSmallIcon(R.drawable.ic_launcher) .setLargeIcon(((BitmapDrawable) ContextCompat.getDrawable(getApplication(), R.drawable.ic_launcher)) .getBitmap())// w w w . java 2 s . c om .setContentTitle(title).setContentText(msg).setContentIntent(pi).setTicker(msg) .setStyle(new NotificationCompat.BigTextStyle().bigText(msg)).setAutoCancel(true) .setDefaults(Notification.DEFAULT_ALL); NotificationManagerCompat manager = NotificationManagerCompat.from(getApplicationContext()); manager.notify(NOTIFICATION_ID, mBuilder.build()); }
From source file:com.androidinspain.deskclock.alarms.dataadapter.ExpandedAlarmViewHolder.java
private ExpandedAlarmViewHolder(View itemView, boolean hasVibrator) { super(itemView); mHasVibrator = hasVibrator;//from w w w.ja v a2s . co m delete = (TextView) itemView.findViewById(R.id.delete); repeat = (CheckBox) itemView.findViewById(R.id.repeat_onoff); vibrate = (CheckBox) itemView.findViewById(R.id.vibrate_onoff); ringtone = (TextView) itemView.findViewById(R.id.choose_ringtone); editLabel = (TextView) itemView.findViewById(R.id.edit_label); repeatDays = (LinearLayout) itemView.findViewById(R.id.repeat_days); hairLine = itemView.findViewById(R.id.hairline); final Context context = itemView.getContext(); itemView.setBackground(new LayerDrawable( new Drawable[] { ContextCompat.getDrawable(context, R.drawable.alarm_background_expanded), ThemeUtils.resolveDrawable(context, R.attr.selectableItemBackground) })); // Build button for each day. final LayoutInflater inflater = LayoutInflater.from(context); final List<Integer> weekdays = DataModel.getDataModel().getWeekdayOrder().getCalendarDays(); for (int i = 0; i < 7; i++) { final View dayButtonFrame = inflater.inflate(R.layout.day_button, repeatDays, false /* attachToRoot */); final CompoundButton dayButton = (CompoundButton) dayButtonFrame.findViewById(R.id.day_button_box); final int weekday = weekdays.get(i); dayButton.setText(UiDataModel.getUiDataModel().getShortWeekday(weekday)); dayButton.setContentDescription(UiDataModel.getUiDataModel().getLongWeekday(weekday)); repeatDays.addView(dayButtonFrame); dayButtons[i] = dayButton; } // Cannot set in xml since we need compat functionality for API < 21 final Drawable labelIcon = Utils.getVectorDrawable(context, R.drawable.ic_label); editLabel.setCompoundDrawablesRelativeWithIntrinsicBounds(labelIcon, null, null, null); final Drawable deleteIcon = Utils.getVectorDrawable(context, R.drawable.ic_delete_small); delete.setCompoundDrawablesRelativeWithIntrinsicBounds(deleteIcon, null, null, null); // Collapse handler itemView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { Events.sendAlarmEvent(R.string.action_collapse_implied, R.string.label_deskclock); getItemHolder().collapse(); } }); arrow.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { Events.sendAlarmEvent(R.string.action_collapse, R.string.label_deskclock); getItemHolder().collapse(); } }); // Edit time handler clock.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { getAlarmTimeClickHandler().onClockClicked(getItemHolder().item); } }); // Edit label handler editLabel.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { getAlarmTimeClickHandler().onEditLabelClicked(getItemHolder().item); } }); // Vibrator checkbox handler vibrate.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { getAlarmTimeClickHandler().setAlarmVibrationEnabled(getItemHolder().item, ((CheckBox) v).isChecked()); } }); // Ringtone editor handler ringtone.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { getAlarmTimeClickHandler().onRingtoneClicked(context, getItemHolder().item); } }); // Delete alarm handler delete.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { getAlarmTimeClickHandler().onDeleteClicked(getItemHolder()); v.announceForAccessibility(context.getString(R.string.alarm_deleted)); } }); // Repeat checkbox handler repeat.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { final boolean checked = ((CheckBox) view).isChecked(); getAlarmTimeClickHandler().setAlarmRepeatEnabled(getItemHolder().item, checked); getItemHolder().notifyItemChanged(ANIMATE_REPEAT_DAYS); } }); // Day buttons handler for (int i = 0; i < dayButtons.length; i++) { final int buttonIndex = i; dayButtons[i].setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { final boolean isChecked = ((CompoundButton) view).isChecked(); getAlarmTimeClickHandler().setDayOfWeekEnabled(getItemHolder().item, isChecked, buttonIndex); } }); } itemView.setImportantForAccessibility(View.IMPORTANT_FOR_ACCESSIBILITY_NO); }
From source file:com.google.samples.apps.topeka.adapter.ScoreAdapter.java
/** * Convenience method to aid tintint of vector drawables at runtime. * * @param context The {@link Context} for this app. * @param drawableId The id of the drawable to load. * @param tintColor The tint to apply.//from w w w .j av a 2 s . c o m * @return The tinted drawable. */ private Drawable loadAndTint(Context context, @DrawableRes int drawableId, @ColorRes int tintColor) { Drawable imageDrawable = ContextCompat.getDrawable(context, drawableId); if (imageDrawable == null) { throw new IllegalArgumentException("The drawable with id " + drawableId + " does not exist"); } DrawableCompat.setTint(DrawableCompat.wrap(imageDrawable), tintColor); return imageDrawable; }
From source file:com.android.example.leanback.fastlane.BackgroundHelper.java
protected void setDefaultBackground(int resourceId) { mDefaultBackground = ContextCompat.getDrawable(mActivity, resourceId); }
From source file:com.hookedonplay.decoviewsample.SampleFit2Fragment.java
private void addAnimation(final DecoView arcView, int series, float moveTo, int delay, final ImageView imageView, final int imageId, final String format, final int color, final boolean restart) { DecoEvent.ExecuteEventListener listener = new DecoEvent.ExecuteEventListener() { @Override//w w w. ja va2 s .c om public void onEventStart(DecoEvent event) { imageView.setImageDrawable(ContextCompat.getDrawable(getActivity(), imageId)); showAvatar(true, imageView); mProgress = format; } @Override public void onEventEnd(DecoEvent event) { showAvatar(false, imageView); if (restart) { setupEvents(); } } }; arcView.addEvent(new DecoEvent.Builder(moveTo).setIndex(series).setDelay(delay).setDuration(5000) .setListener(listener).setColor(color).build()); }