友盟第三方分享自定义分享面板

来源:互联网 发布:ko.js 事件 编辑:程序博客网 时间:2024/05/18 03:31
做过友盟第三方分享的都知道,在快速继承的文档中,我们只可以通过SHARE_MEDIA来更改分享的平台,而且是没有分享面板的,那么如何添加一个分享面板(选择分享平台)来操作呢,这里就需要到进阶文档里去寻找答案了,我在做的时候按照进阶文档中的代码集成过一次,但是报红了,由于时间问题,我就直接到下载的文档中去找了;
到下载的sdk(umeng_android_social_sdk_6.1.1_custom)/social_sdk_example_as/app/src/main/java/com/umeng/soexample文件夹下找到ShareActivity/ShareDetailActivity/ShareMenuActivity,这里我就不一步一步教大家怎么找代码了,我直接把我昨晚的代码放出来吧:
private ShareAction mShareAction;private UMShareListener mShareListener;

mShareListener = new CustomShareListener(this);/*增加自定义按钮的分享面板*/mShareAction = new ShareAction(DetailsActivity.this).setDisplayList(        //可分享的平台        SHARE_MEDIA.WEIXIN, SHARE_MEDIA.WEIXIN_CIRCLE, SHARE_MEDIA.WEIXIN_FAVORITE,        SHARE_MEDIA.SINA, SHARE_MEDIA.QQ, SHARE_MEDIA.QZONE,        SHARE_MEDIA.ALIPAY, SHARE_MEDIA.RENREN, SHARE_MEDIA.DOUBAN,        SHARE_MEDIA.SMS, SHARE_MEDIA.EMAIL, SHARE_MEDIA.YNOTE,        SHARE_MEDIA.EVERNOTE, SHARE_MEDIA.LAIWANG, SHARE_MEDIA.LAIWANG_DYNAMIC,        SHARE_MEDIA.LINKEDIN, SHARE_MEDIA.YIXIN, SHARE_MEDIA.YIXIN_CIRCLE,        SHARE_MEDIA.TENCENT, SHARE_MEDIA.FACEBOOK, SHARE_MEDIA.TWITTER,        SHARE_MEDIA.WHATSAPP, SHARE_MEDIA.GOOGLEPLUS, SHARE_MEDIA.LINE,        SHARE_MEDIA.INSTAGRAM, SHARE_MEDIA.KAKAO, SHARE_MEDIA.PINTEREST,        SHARE_MEDIA.POCKET, SHARE_MEDIA.TUMBLR, SHARE_MEDIA.FLICKR,        SHARE_MEDIA.FOURSQUARE, SHARE_MEDIA.MORE)        .addButton("umeng_sharebutton_custom", "umeng_sharebutton_custom", "zijian", "zijian")        .setShareboardclickCallback(new ShareBoardlistener() {            @Override            public void onclick(SnsPlatform snsPlatform, SHARE_MEDIA share_media) {                if (snsPlatform.mShowWord.equals("umeng_sharebutton_custom")) {                    Toast.makeText(DetailsActivity.this, "自定义按钮", Toast.LENGTH_LONG).show();                } else {                    //分享内容                    new ShareAction(DetailsActivity.this).withText("你好,我是仲康")                            .withTitle("交个朋友吧")                            .withTargetUrl("https://www.duba.com/?un_449343_3300")                            .withMedia(new UMImage(DetailsActivity.this,R.mipmap.ic_launcher))                            .setPlatform(share_media)                            .setCallback(mShareListener)                            .share();                }            }        });
//自定义分享面板分享监听private static class CustomShareListener implements UMShareListener {    private WeakReference<ShareMenuActivity> mActivity;    private CustomShareListener(DetailsActivity activity) {        mActivity = new WeakReference(activity);    }    @Override    public void onResult(SHARE_MEDIA platform) {        if (platform.name().equals("WEIXIN_FAVORITE")) {            Toast.makeText(mActivity.get(), platform + " 收藏成功啦", Toast.LENGTH_SHORT).show();        } else {            if (platform!= SHARE_MEDIA.MORE&&platform!=SHARE_MEDIA.SMS                    &&platform!=SHARE_MEDIA.EMAIL                    &&platform!=SHARE_MEDIA.FLICKR                    &&platform!=SHARE_MEDIA.FOURSQUARE                    &&platform!=SHARE_MEDIA.TUMBLR                    &&platform!=SHARE_MEDIA.POCKET                    &&platform!=SHARE_MEDIA.PINTEREST                    &&platform!=SHARE_MEDIA.LINKEDIN                    &&platform!=SHARE_MEDIA.INSTAGRAM                    &&platform!=SHARE_MEDIA.GOOGLEPLUS                    &&platform!=SHARE_MEDIA.YNOTE                    &&platform!=SHARE_MEDIA.EVERNOTE){                Toast.makeText(mActivity.get(), platform + " 分享成功啦", Toast.LENGTH_SHORT).show();            }        }    }    @Override    public void onError(SHARE_MEDIA platform, Throwable t) {        if (platform!= SHARE_MEDIA.MORE&&platform!=SHARE_MEDIA.SMS                &&platform!=SHARE_MEDIA.EMAIL                &&platform!=SHARE_MEDIA.FLICKR                &&platform!=SHARE_MEDIA.FOURSQUARE                &&platform!=SHARE_MEDIA.TUMBLR                &&platform!=SHARE_MEDIA.POCKET                &&platform!=SHARE_MEDIA.PINTEREST                &&platform!=SHARE_MEDIA.LINKEDIN                &&platform!=SHARE_MEDIA.INSTAGRAM                &&platform!=SHARE_MEDIA.GOOGLEPLUS                &&platform!=SHARE_MEDIA.YNOTE                &&platform!=SHARE_MEDIA.EVERNOTE){            Toast.makeText(mActivity.get(), platform + " 分享失败啦", Toast.LENGTH_SHORT).show();            if (t != null) {                Log.d("throw", "throw:" + t.getMessage());            }        }    }    @Override    public void onCancel(SHARE_MEDIA platform) {        Toast.makeText(mActivity.get(), platform + " 分享取消了", Toast.LENGTH_SHORT).show();    }}
点击监听:
//设置自定义分享面板的属性ShareBoardConfig config = new ShareBoardConfig();config.setShareboardPostion(ShareBoardConfig.SHAREBOARD_POSITION_CENTER);config.setMenuItemBackgroundShape(ShareBoardConfig.BG_SHAPE_CIRCULAR);config.setTitleText("开设么玩笑,分享不");config.setTitleTextColor(Color.RED);config.setMenuItemTextColor(Color.BLUE);config.setIndicatorColor(Color.GREEN);config.setCancelButtonBackground(Color.RED,Color.GREEN);config.setCancelButtonText("我不想分享了");config.setCancelButtonVisibility(false);config.setShareboardBackgroundColor(Color.rgb(100,100,100));config.setShareboardPostion(config.SHAREBOARD_POSITION_BOTTOM);config.setMenuItemBackgroundShape(config.BG_SHAPE_ROUNDED_SQUARE,10);config.setMenuItemBackgroundColor(Color.GREEN,Color.RED);config.setTitleVisibility(true);config.setCancelButtonVisibility(false);mShareAction.open(config);break;
0 0
原创粉丝点击