Android Open Source - TechDissected Custom Share Action Provider

From Project

Back to project page TechDissected.


The source code is released under:

Apache License

If you think the Android project TechDissected listed in this page is inappropriate, such as containing malicious code/tools or violating the copyright, please email info at java2s dot com, thanks.

Java Source Code

package com.pkmmte.techdissected.view;
/*from  ww w.j a  v  a  2s .  c  om*/
import android.content.Context;
import android.view.View;
import android.widget.ShareActionProvider;
import com.pkmmte.techdissected.R;
import java.lang.reflect.Method;

public class CustomShareActionProvider extends ShareActionProvider
  private Context mContext;

  public CustomShareActionProvider(Context context)
    this.mContext = context;

  @SuppressWarnings({ "rawtypes", "unchecked" })
  public View onCreateActionView()
    View chooserView = super.onCreateActionView();

    // Set your drawable here
    Drawable icon = mContext.getResources().getDrawable(R.drawable.ic_action_share);
    Class clazz = chooserView.getClass();

    // Reflect all of this shit so that we can change the icon
    try {
      Method method = clazz.getMethod("setExpandActivityOverflowButtonDrawable", Drawable.class);
      method.invoke(chooserView, icon);
    catch (Exception e) {

    return chooserView;

Java Source Code List