Browse Source

实现邀请赚钱分享效果--只有阴影未实现

zengjiebin 7 years ago
parent
commit
2ef97e57a2

+ 46 - 0
app/src/main/java/com/sheep/gamegroup/event/BigEvent.java

@@ -0,0 +1,46 @@
+package com.sheep.gamegroup.event;
+
+/**
+ * @ Created by Dlg
+ * @ <p>TiTle:  BigEvent</p>
+ * @ <p>Description: 弄个万能的事件发送类,有了这个类,不用写那么多那么多垃圾Event代码了</p>
+ * @ date:  2017/6/21 14:05
+ * @ QQ:    315096953
+ */
+
+public class BigEvent {
+    private EventTypes eventTypes;//事件类型,用来区分所有事件
+    private Object data;//主要用来传些值
+    private Integer others;//用户的int传值更方便而已
+
+    public static BigEvent get() {
+        return new BigEvent();
+    }
+
+    public Object getData() {
+        return data;
+    }
+
+    public BigEvent setData(Object data) {
+        this.data = data;
+        return this;
+    }
+
+    public EventTypes getEventTypes() {
+        return eventTypes;
+    }
+
+    public BigEvent setEventTypes(EventTypes eventTypes) {
+        this.eventTypes = eventTypes;
+        return this;
+    }
+
+    public Integer getOthers() {
+        return others;
+    }
+
+    public BigEvent setOthers(Integer others) {
+        this.others = others;
+        return this;
+    }
+}

+ 107 - 0
app/src/main/java/com/sheep/gamegroup/event/EventDownloadHandler.java

@@ -0,0 +1,107 @@
+package com.sheep.gamegroup.event;
+
+import android.content.Context;
+
+import com.sheep.gamegroup.model.entity.DownloadStatus;
+import com.sheep.gamegroup.util.DownloadUtil;
+import com.kfzs.duanduan.datashare.provider.download.DownLoadInfo;
+import com.sheep.jiuyan.samllsheep.utils.G;
+
+import org.greenrobot.eventbus.EventBus;
+
+/**
+ * Created by HooRang on 2017/3/6.
+ */
+public class EventDownloadHandler {
+    private static final String TAG = EventDownloadHandler.class.getName();
+
+    private static EventDownloadHandler eventDownloadHandler;
+    private static Context mContext;
+    private static DownloadUtil downloadTaskService;
+    private String mTag;
+
+    private static OnDownCallback onDownCallback;
+
+    public static EventDownloadHandler newInstance(Context context, OnDownCallback callback) {
+        mContext = context;
+        eventDownloadHandler = new EventDownloadHandler();
+        downloadTaskService = new DownloadUtil(mContext);
+        onDownCallback = callback;
+        return eventDownloadHandler;
+    }
+
+    public String getmTag() {
+        return mTag;
+    }
+
+    public EventDownloadHandler setmTag(String mTag) {
+        this.mTag = mTag;
+        return this;
+    }
+
+    /**
+     * 下载的状态监听
+     *
+     * @param event
+     */
+    public void handlDownloadResult(DownloadStatus event) {
+        switch (event.getStatus()) {
+            case DownloadUtil.STATUS_ING:
+//                downloadTaskService.setDownloadTaskPercent(event.getDownloadPgrs(), event.getFileDownloadedSize(),
+//                        event.getFileTotalSize(), event.getDownloadId(), event.getDownloadUrl());
+//                downloadTaskService.setDownloadTaskStatus(event.getDownloadUrl(), DownloadTaskService.STATUS_ING);
+                onDownCallback.downloading(event.getDownloadUrl(), event.getDownloadPgrs());
+                break;
+            case DownloadUtil.STATUS_FINISH:
+//                downloadTaskService.setDownloadTaskFinish(event.getDownloadUrl(), event.getApkPath());
+//                downloadTaskService.setDownloadTaskStatus(event.getDownloadUrl(), DownloadTaskService.STATUS_FINISH);
+                onDownCallback.downloadFinish(event.getDownloadUrl());
+//                if (new File(event.getApkPath()).exists()) {
+//                    ApkUtils.installApk(mContext, event.getApkPath());
+//                }
+                break;
+            case DownloadUtil.STATUS_FAIL:
+//                downloadTaskService.setDownloadTaskStatus(event.getDownloadUrl(),
+//                        DownloadTaskService.STATUS_FAIL);
+                onDownCallback.downloadFail(event.getDownloadUrl());
+                Double totalSize = event.getFileTotalSize();
+                if (totalSize > G.getFreeSpace()) {
+                    DownLoadInfo downloadTask = downloadTaskService.getDownloadTaskByUrl(event.getDownloadUrl());
+                    EventBus.getDefault().post(BigEvent.get().setEventTypes(EventTypes.STORAGE_LOW)
+                            .setData(downloadTask.getMGameName()));
+                }
+                break;
+            case DownloadUtil.STATUS_PAUSE:
+//                downloadTaskService.setDownloadTaskStatus(event.getDownloadUrl(),
+//                        DownloadTaskService.STATUS_PAUSE);
+                onDownCallback.downloadPause(event.getDownloadUrl());
+                break;
+            case DownloadUtil.STATUS_DELETE:
+//                downloadTaskService.setDownloadTaskStatus(event.getDownloadUrl(),
+//                        DownloadTaskService.STATUS_DELETE);
+                onDownCallback.downloadDelete(event.getDownloadUrl());
+                break;
+            case DownloadUtil.STATUS_INIT:
+            default:
+                onDownCallback.downloadInit(event.getDownloadUrl());
+                break;
+        }
+    }
+
+
+    public interface OnDownCallback {
+        void downloading(String downloadUrl, Integer progress);
+
+        void downloadFinish(String downloadUrl);
+
+        void downloadPause(String downloadUrl);
+
+        void downloadFail(String downloadUrl);
+
+        void downloadDelete(String downloadUrl);
+
+        void downloadInit(String downloadUrl);
+
+    }
+
+}

+ 52 - 0
app/src/main/java/com/sheep/gamegroup/event/EventTypes.java

@@ -0,0 +1,52 @@
+package com.sheep.gamegroup.event;
+
+/**
+ * @ Created by Dlg
+ * @ <p>TiTle:  EventTypes</p>
+ * @ <p>Description: 事件类型,万用事件</p>
+ * @ date:  2017/6/21 14:06
+ * @ QQ:    315096953
+ */
+
+public enum EventTypes {
+
+    TIPS_DOWN_ICON,//下载图标的小红点
+    TIPS_USER_ICON,//用户图标的小红点
+    TIPS_BOOK_ICON,//用户预约的小红点
+
+    STORAGE_LOW,//储存空间不足,此时Data是游戏名
+
+    SKIP_PAGE_COUNT,//首页的第一个Tab栏的viewpager跳转到第几个pager,others为第几页\
+    GO_FiRST , //任务功能  登录后 点击返回键 只能返回第一个界面
+    ONFRESH_FGT_FAMLLSHEEP , //刷新fgtSmallSheep数据
+    ONFRESH_TRYMAKEMANY_PAGE , //刷新TryMakeMoneyact数据
+    ONFRESH_GAMETASK_ORDER_LIST_PAGE , //订单记录
+
+    DIALOG_ACTIVITY_DOWNLOAD_FILE,//dialogActivity 下载通知
+
+    TASK_AGAIN_UPLOAD_FILE,//任务审核上传图片 通知
+    TASK_AGAIN_UPLOAD_FILE_DATA,//任务审核上传图片 通知
+    REFRESH_DATA_SIGN,//签到对话框
+
+    GUIDE_NEXT,//引导页面下一步操作
+    DELETE_GAME_ACCOUNT_REFRESH,//游戏删除账号,刷新界面
+    GENERATION_ACCOUNT_REFRESH,//游戏代充,刷新界面
+    GENERATION_ACCOUNT_REFRESH_ADAPTER,//游戏代充,刷新界面(下载)
+    DOWNLOAD_STOP,//下载暂停
+    DOWNLOAD_COMPLETE,//下载完成
+    DOWNLOAD_FAIL,//下载失败
+    DOWNLOAD_CANCEL,//下载取消
+
+    //幂动科技
+    REFRESH_MING_DONG,//刷新界面
+
+    REFRESH_XIAOMI_GAME_LIST,//刷新界面
+    FGT_SHEEP_REFRESH_H , //刷新fgtSmallSheep高度
+    FGT_SHEEP_FOOT_VIEW_CALL_BACK , //FgtSmallSheep中ViewPager内容中的任务列表XRecyclerView的FootView刷新回调
+    FGT_SHEEP_SET_BOTTOM_LINE , //设置底线内容
+    FGT_SHEEP_SHOW_NEW_USER_HONG_BAO , //显示红包
+    REFRESH_AUDITACTIVITY_DATA,//审核数据刷新
+    FGT_PLAY_GAME_REFRESH_H, //刷新玩转游戏高度
+    FGT_PLAY_GAME_FOOT_VIEW_CALL_BACK, //玩转游戏中ViewPager内容中的任务列表XRecyclerView的FootView刷新回调
+    FGT_PLAY_GAME_SET_BOTTOM_LINE , //设置底线内容
+}

+ 72 - 0
app/src/main/java/com/sheep/gamegroup/util/ConfigUtil.java

@@ -0,0 +1,72 @@
+package com.sheep.gamegroup.util;
+
+import android.os.Environment;
+import android.text.TextUtils;
+
+import java.io.File;
+import java.util.List;
+
+import static com.sheep.jiuyan.samllsheep.utils.ClassFileHelper.DIR;
+
+/**
+ * Created by realicing on 2018/1/7.
+ * realicing@sina.com
+ */
+
+public class ConfigUtil {
+    private static ConfigUtil instance = new ConfigUtil();
+    private ConfigUtil() {
+        if(TestUtil.isTest()) {
+            File file = new File(DIR, "smallSheep.config");
+            isFileExists = file.exists();
+            if (isFileExists) {
+                content = FileUtil.readLines(file);
+            }
+        }
+    }
+    public static ConfigUtil getInstance() {
+        if (instance == null) {
+            instance = new ConfigUtil();
+        }
+        return instance;
+    }
+    private boolean isFileExists;
+    private List<String> content;
+
+    public boolean isFileExists() {
+        return isFileExists;
+    }
+
+    /**
+     * 第一行  connectAddress的名字:sheep sheepfz sheeptest   developSheeptest
+     * 第二行  是否升级(1为要升级,2为不升级):1 2
+     * 第行
+     * @param position
+     * @return
+     */
+    public String getItem(int position){
+        return ListUtil.getItem(content, position);
+    }
+
+    /**
+     * 是否调用升级
+     * @return
+     */
+    public boolean isUpgrade() {
+        String item = getItem(1);
+        return item == null || TextUtils.equals(item, "1");
+    }
+    /**
+     * 是否进入rn调试模式
+     */
+    public static final boolean isSmallDebug() {
+        File sdDir = null;
+        boolean sdCardExist = Environment.getExternalStorageState()
+                .equals(android.os.Environment.MEDIA_MOUNTED); //判断sd卡是否存在
+        if (sdCardExist) {
+            sdDir = Environment.getExternalStorageDirectory();//获取跟目录
+        }
+        return sdDir != null && new File(sdDir, "smallSheep.debug").exists();
+    }
+
+}

+ 315 - 1
app/src/main/java/com/sheep/gamegroup/view/activity/ActInvitation.java

@@ -1,14 +1,22 @@
 package com.sheep.gamegroup.view.activity;
 
 import android.annotation.SuppressLint;
+import android.app.Activity;
 import android.graphics.drawable.Drawable;
+import android.os.Bundle;
 import android.support.annotation.Nullable;
 import android.support.v4.view.ViewPager;
+import android.support.v7.widget.GridLayoutManager;
+import android.support.v7.widget.RecyclerView;
+import android.text.TextUtils;
+import android.util.SparseArray;
 import android.view.LayoutInflater;
 import android.view.MotionEvent;
 import android.view.View;
 import android.widget.ImageView;
+import android.widget.TextView;
 
+import com.alibaba.fastjson.JSONObject;
 import com.bumptech.glide.Glide;
 import com.bumptech.glide.load.DataSource;
 import com.bumptech.glide.load.engine.GlideException;
@@ -16,31 +24,78 @@ import com.bumptech.glide.load.resource.bitmap.RoundedCorners;
 import com.bumptech.glide.request.RequestListener;
 import com.bumptech.glide.request.RequestOptions;
 import com.bumptech.glide.request.target.Target;
+import com.kfzs.duanduan.utils.StatusBarUtils;
 import com.sheep.gamegroup.absBase.BaseActivity;
 import com.sheep.gamegroup.model.entity.BaseMessage;
+import com.sheep.gamegroup.model.entity.DialogConfig;
+import com.sheep.gamegroup.model.entity.FriendAndAwardEntity;
 import com.sheep.gamegroup.model.entity.PictureInvitationEntity;
+import com.sheep.gamegroup.model.entity.UserEntity;
 import com.sheep.gamegroup.model.util.SheepSubscriber;
 import com.sheep.gamegroup.transformer.ScaleTransformer;
+import com.sheep.gamegroup.util.CommonUtil;
+import com.sheep.gamegroup.util.DataUtil;
+import com.sheep.gamegroup.util.FastJsonUtils;
+import com.sheep.gamegroup.util.GlideImageLoader;
+import com.sheep.gamegroup.util.ListUtil;
+import com.sheep.gamegroup.util.StringUtils;
+import com.sheep.gamegroup.util.ViewHolder;
+import com.sheep.gamegroup.util.ViewUtil;
+import com.sheep.gamegroup.view.adapter.AdbCommonRecycler;
 import com.sheep.gamegroup.view.adapter.ArrayPagerAdapter;
+import com.sheep.gamegroup.view.dialog.DialogShare;
+import com.sheep.jiuyan.samllsheep.BuildConfig;
 import com.sheep.jiuyan.samllsheep.R;
 import com.sheep.jiuyan.samllsheep.SheepApp;
+import com.sheep.jiuyan.samllsheep.utils.ClassFileHelper;
+import com.sheep.jiuyan.samllsheep.utils.G;
+import com.umeng.socialize.ShareAction;
+import com.umeng.socialize.bean.SHARE_MEDIA;
+import com.umeng.socialize.media.UMImage;
+import com.umeng.socialize.media.UMWeb;
 
+import java.io.File;
 import java.util.ArrayList;
 import java.util.List;
+import java.util.Locale;
 
 import butterknife.BindView;
+import butterknife.OnClick;
 import rx.android.schedulers.AndroidSchedulers;
+import rx.functions.Action1;
 import rx.schedulers.Schedulers;
 
+import static com.sheep.gamegroup.util.UMConfigUtils.Event.LINK_SHARE;
+import static com.sheep.gamegroup.util.UMConfigUtils.Event.QR_COPY;
+import static com.sheep.gamegroup.util.UMConfigUtils.Event.SHARE_TO_QQ;
+import static com.sheep.gamegroup.util.UMConfigUtils.Event.SHARE_TO_WEIXIN_CIRCLE;
+import static com.sheep.gamegroup.util.UMConfigUtils.Event.SHARE_TO_WX;
+import static com.sheep.gamegroup.util.ViewUtil.getNetImgByName;
+
 /**
  * Created by realicing on 2018/9/7.
  * realicing@sina.com
  */
 public class ActInvitation extends BaseActivity {
+    @BindView(R.id.ask_share_list)
+    RecyclerView ask_share_list;
+    @BindView(R.id.img_baseactivity_title)
+    ImageView img_baseactivity_title;
+
+    GridLayoutManager gridLayoutManager;
+    UserEntity userEntity = DataUtil.getInstance().getUserEntity();
+    private FriendAndAwardEntity friendAndAwardEntity;
     @BindView(R.id.act_invitation_rl)
     View act_invitation_rl;
     @BindView(R.id.act_invitation_cvp)
     ViewPager viewPager;
+
+    @Override
+    protected void onCreate(@Nullable Bundle savedInstanceState) {
+        StatusBarUtils.setTranslucent(this);
+        super.onCreate(savedInstanceState);
+    }
+
     @Override
     protected int getLayoutId() {
         return R.layout.act_invitation;
@@ -51,6 +106,9 @@ public class ActInvitation extends BaseActivity {
     @SuppressLint("ClickableViewAccessibility")
     @Override
     public void initView() {
+    }
+
+    public void initListener() {
         act_invitation_rl.setOnTouchListener(new View.OnTouchListener() {
             @Override
             public boolean onTouch(View v, MotionEvent event) {
@@ -61,6 +119,19 @@ public class ActInvitation extends BaseActivity {
 
     @Override
     public void initData() {
+        showProgress();
+        if(userEntity == null) {
+            CommonUtil.getInstance().callActionWithUserInfo(new Action1<UserEntity>() {
+                @Override
+                public void call(UserEntity userEntity) {
+                    load++;
+                    checkLoadFinish();
+                    checkLoadLinkAndDesFinish();
+                }
+            });
+        } else {
+            load++;
+        }
         SheepApp.getInstance()
                 .getNetComponent()
                 .getApiService()
@@ -70,21 +141,65 @@ public class ActInvitation extends BaseActivity {
                 .subscribe(new SheepSubscriber<BaseMessage>(SheepApp.getInstance()) {
                     @Override
                     public void onNext(BaseMessage baseMessage) {
+                        load++;
                         mPictureList.addAll(baseMessage.getDataList(PictureInvitationEntity.class));
                         loadData();
+                        checkLoadFinish();
+                    }
+
+                    @Override
+                    public void onError(BaseMessage baseMessage) {
+                        load++;
+                        checkLoadFinish();
+                        G.showToast(baseMessage);
                     }
+                });
 
+        SheepApp.getInstance().getNetComponent().getApiService().FriendCountAndAward()
+                .subscribeOn(Schedulers.io())
+                .observeOn(AndroidSchedulers.mainThread())
+                .subscribe(new SheepSubscriber<BaseMessage>(SheepApp.getInstance()) {
                     @Override
                     public void onError(BaseMessage baseMessage) {
+                        load++;
+                        if (BuildConfig.DEBUG)
+                            G.showToast(baseMessage);
+                        checkLoadFinish();
+                        checkLoadLinkAndDesFinish();
+                    }
+
+                    @Override
+                    public void onNext(BaseMessage baseMessage) {
+                        load++;
+                        if (baseMessage != null) {
+                            friendAndAwardEntity = FastJsonUtils.toBean(JSONObject.toJSONString(baseMessage.getData()), FriendAndAwardEntity.class);
+                        }
+                        checkLoadFinish();
+                        checkLoadLinkAndDesFinish();
+
                     }
                 });
     }
+    private int load = 0;
+    private void checkLoadLinkAndDesFinish() {
+        if(userEntity  != null && friendAndAwardEntity != null){
+            init(userEntity.getShareLink(), friendAndAwardEntity.getShare_desc());
+        }
+    }
+
+    private void checkLoadFinish() {
+        if(load == 3){
+            hideProgress();
+        }
+    }
 
     private void loadData() {
+        int size = 0;
         for (final PictureInvitationEntity item : mPictureList) {
             View itemView = LayoutInflater.from(SheepApp.getInstance()).inflate(R.layout.item_image2, null);
 
             ImageView image_full = itemView.findViewById(R.id.image_full);
+            ImageView image_bottom = itemView.findViewById(R.id.image_bottom);
             Glide.with(SheepApp.getInstance())
                     .load(item.getPicture())
                     .listener(new RequestListener<Drawable>() {
@@ -102,11 +217,210 @@ public class ActInvitation extends BaseActivity {
                     })
                     .apply(new RequestOptions().centerCrop().transform(new RoundedCorners((int) getResources().getDimension(R.dimen.content_padding_8))))
                     .into(image_full);
+            GlideImageLoader.saveAndSetRqImage(image_bottom, item.getLink(), 800);
             viewArrayList.add(itemView);
+            viewList.put(size, itemView);
+            size++;
         }
         ArrayPagerAdapter adapter = new ArrayPagerAdapter(viewArrayList);
         viewPager.setAdapter(adapter);
-        viewPager.setOffscreenPageLimit(mPictureList.size());
+        viewPager.setOffscreenPageLimit(size);
         viewPager.setPageTransformer(true, new ScaleTransformer());
+        viewPager.addOnPageChangeListener(new ViewPager.OnPageChangeListener() {
+            @Override
+            public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) {
+
+            }
+
+            @Override
+            public void onPageSelected(int position) {
+                curPosition = position;
+            }
+
+            @Override
+            public void onPageScrollStateChanged(int state) {
+
+            }
+        });
+        if(size > 2)
+            viewPager.setCurrentItem((size-1) / 2, false);
+    }
+    private int curPosition = 0;
+    private SparseArray<View> viewList = new SparseArray<>();
+
+    private void init(final String url, final String description) {
+        gridLayoutManager = new GridLayoutManager(this, 5);
+        ask_share_list.setLayoutManager(gridLayoutManager);
+        final List<String> list = ListUtil.emptyList();
+        list.add(DialogShare.FACE_TO_FACE);
+        list.add(DialogShare.WX);
+        list.add(DialogShare.QQ);
+        list.add(DialogShare.WEIXIN_CIRCLE);
+        list.add(DialogShare.COPY_SHARE_LINK);
+        final List<String> imgList = ListUtil.emptyList();
+        imgList.add("share_face_to_face");
+        imgList.add("share_wx");
+        imgList.add("share_qq");
+        imgList.add("share_weixin_circle");
+        imgList.add("share_copy_share_link");
+        final List<String> nameList = ListUtil.emptyList();
+        nameList.add("面对面");
+        nameList.add("微信");
+        nameList.add("QQ好友");
+        nameList.add("朋友圈");
+        nameList.add("复制链接");
+        AdbCommonRecycler<String> adapter = new AdbCommonRecycler<String>(this, list) {
+            @Override
+            public int getViewIdByType(int type) {
+                return R.layout.ask_to_share_item;
+            }
+
+            @Override
+            public void convert(ViewHolder holder, final String item) {
+                View itemView = holder.itemView;
+                if (item == null)
+                    return;
+                ImageView ask_to_share_item_img = itemView.findViewById(R.id.ask_to_share_item_img);
+                TextView ask_to_share_item_name = itemView.findViewById(R.id.ask_to_share_item_name);
+                final int position = holder.getAdapterPosition();
+                GlideImageLoader.setImage(ask_to_share_item_img, getNetImgByName(imgList.get(position)));
+                ask_to_share_item_name.setText(nameList.get(position));
+                itemView.setOnClickListener(new View.OnClickListener() {
+                    @Override
+                    public void onClick(View view) {
+                        File file = null;
+                        switch (position){
+                            case 1://qq
+                            case 2://wx
+                                PictureInvitationEntity picItem = ListUtil.getItem(mPictureList, curPosition);
+                                if(picItem != null && picItem.isLoaded()) {
+                                    try {
+                                        String fileName = String.format(Locale.CHINA, "share%d%s%d.jpg", position, BuildConfig.FLAVOR, picItem.getPicture().hashCode());
+                                        file = new File(ClassFileHelper.DIR, fileName);
+                                        if (!file.exists()) {
+                                            file = ViewUtil.saveImage(viewList.get(curPosition), ClassFileHelper.DIR, fileName);
+                                        }
+                                    } catch (Exception e) {
+                                        e.printStackTrace();
+                                    }
+                                } else {
+                                    G.showToast("图片正在加载中,请稍等");
+                                    return;
+                                }
+                                break;
+
+                        }
+                        popShare(ActInvitation.this, url, item, description, file);
+                    }
+                });
+            }
+        };
+        ask_share_list.setAdapter(adapter);
+    }
+
+
+    /**
+     * 分享 url type 拼接
+     */
+    public String jointString(String url, @DialogShare.SHARE_TYPE String type) {
+        if (url.contains("&type="))
+            return url;
+        switch (type) {
+            case "qq":
+                return url + "&type=2";
+            case "wx":
+                return url + "&type=1";
+            default:
+                return url + "&type=4";
+        }
+    }
+
+    /**
+     * 分享
+     *
+     * @param activity
+     * @param url
+     * @param type        qq wx all
+     * @param description
+     */
+    public void popShare(Activity activity, final String url, @DialogShare.SHARE_TYPE String type, String description, File file) {
+        if (activity == null || TextUtils.isEmpty(type) || TextUtils.isEmpty(url)) {
+            return;
+        }
+        final String realUrl = jointString(url, type);
+        SHARE_MEDIA share_media;
+        switch (type) {
+            case DialogShare.ALL:
+                ViewUtil.newInstance().showShare(activity, realUrl, description);
+                return;
+            case DialogShare.FACE_TO_FACE:
+                ViewUtil.showQR(activity, realUrl);
+                return;
+            case DialogShare.COPY_SHARE_LINK:
+                LINK_SHARE.onEvent();
+                ViewUtil.showMsgDialog(activity, new DialogConfig().setTitle("分享链接").setMsg(realUrl)
+                        .setMsgMore("他人通过该链接加入小绵羊即可成为你的好友").setMsgMoreColor(R.color.txt_black_9e9c9c)
+                        .setBtnLeftText("复制链接").setBtnLeftOnClickListener(new View.OnClickListener() {
+                            @Override
+                            public void onClick(View view) {
+                                QR_COPY.onEvent();
+                                StringUtils.CopyText(realUrl);
+                                G.showToast("复制链接成功");
+                            }
+                        }));
+                return;
+            case DialogShare.QQ:
+                SHARE_TO_QQ.onEvent();
+                share_media = SHARE_MEDIA.QQ;
+                break;
+            case DialogShare.WX:
+                SHARE_TO_WX.onEvent();
+                share_media = SHARE_MEDIA.WEIXIN;
+                break;
+            case DialogShare.WEIXIN_CIRCLE:
+            default:
+                SHARE_TO_WEIXIN_CIRCLE.onEvent();
+                share_media = SHARE_MEDIA.WEIXIN_CIRCLE;
+                break;
+        }
+        UMImage umImage;
+        switch (type){
+            case DialogShare.QQ:
+            case DialogShare.WX:
+                umImage = new UMImage(activity, file);
+                break;
+            default:
+                umImage = new UMImage(activity, R.mipmap.icon);
+                break;
+        }
+        UMWeb umWeb = new UMWeb(realUrl);
+        umWeb.setTitle(activity.getResources().getString(R.string.app_name));
+        umWeb.setThumb(umImage);
+        umWeb.setDescription(TextUtils.isEmpty(description) ? activity.getResources().getString(R.string.app_name) : description);
+        switch (type){
+            case DialogShare.QQ:
+            case DialogShare.WX:
+                new ShareAction(activity)
+                        .setPlatform(share_media)
+                        .withMedia(umImage)
+                        .setCallback(new CommonUtil.UMShareListener())
+                        .share();
+                break;
+            default:
+                new ShareAction(activity)
+                        .setPlatform(share_media)
+                        .withMedia(umWeb)
+                        .setCallback(new CommonUtil.UMShareListener())
+                        .share();
+                break;
+        }
+    }
+    @OnClick(R.id.img_baseactivity_title)
+    public void onViewClicked(View view) {
+        switch (view.getId()) {
+            case R.id.img_baseactivity_title:
+                finish();
+                break;
+        }
     }
 }

+ 6 - 0
app/src/main/res/drawable/shape_white_solid_rectangle_2.xml

@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="utf-8"?>
+<shape xmlns:android="http://schemas.android.com/apk/res/android"
+    android:shape="rectangle">
+    <corners android:radius="2dp" />
+    <solid android:color="#ffffff" />
+</shape>

+ 8 - 5
app/src/main/res/layout/act_invitation.xml

@@ -3,6 +3,7 @@
     xmlns:app="http://schemas.android.com/apk/res-auto"
     android:layout_width="match_parent"
     android:layout_height="match_parent"
+    android:layout_marginTop="30dp"
     android:background="#F0F0F0">
 
     <ImageView
@@ -33,13 +34,15 @@
             android:layout_alignParentBottom="true"
             android:layout_centerHorizontal="true"
             android:layout_marginBottom="@dimen/content_padding_16"
-            android:layout_marginTop="@dimen/content_padding_16"
-            android:text="左右滑动选择推广页" />
+            android:layout_marginTop="@dimen/content_padding_12"
+            android:text="左右滑动选择分享图" />
 
         <com.sheep.gamegroup.view.customview.ClipViewPager
             android:id="@+id/act_invitation_cvp"
-            android:layout_width="300dp"
-            android:layout_height="wrap_content"
+            android:layout_width="match_parent"
+            android:layout_height="match_parent"
+            android:layout_marginStart="50dp"
+            android:layout_marginEnd="50dp"
             android:layout_above="@+id/tv_flags"
             android:layout_centerHorizontal="true"
             android:clipChildren="false"
@@ -52,7 +55,7 @@
         android:layout_height="wrap_content"
         android:background="#ffffffff"
         app:layout_constraintBottom_toBottomOf="parent"
-        app:layout_constraintTop_toBottomOf="@+id/layout_f1">
+        app:layout_constraintTop_toBottomOf="@+id/act_invitation_rl">
 
         <TextView
             android:id="@+id/ask_share_title"

+ 33 - 12
app/src/main/res/layout/item_image2.xml

@@ -12,21 +12,42 @@
         android:adjustViewBounds="true"
         android:scaleType="fitXY" />
 
-    <ImageView
-        android:id="@+id/image_bottom"
-        android:layout_width="100dp"
-        android:layout_height="100dp"
+    <LinearLayout
+        android:layout_width="70dp"
+        android:layout_height="76dp"
         android:layout_alignParentBottom="true"
         android:layout_centerHorizontal="true"
-        android:src="@drawable/loading_01" />
+        android:background="@drawable/shape_white_solid_rectangle_2"
+        android:orientation="vertical">
 
-    <ImageView
-        android:layout_width="100dp"
-        android:layout_height="100dp"
-        android:layout_alignParentBottom="true"
-        android:layout_centerHorizontal="true"
-        android:padding="40dp"
-        android:src="@mipmap/sheep_logo" />
+        <RelativeLayout
+            android:layout_width="70dp"
+            android:layout_height="66dp"
+            android:paddingTop="4dp">
+
+            <ImageView
+                android:id="@+id/image_bottom"
+                android:layout_width="62dp"
+                android:layout_height="62dp"
+                android:layout_centerInParent="true"
+                android:src="@drawable/loading_01" />
+
+            <ImageView
+                android:layout_width="10dp"
+                android:layout_height="10dp"
+                android:layout_centerInParent="true"
+                android:src="@mipmap/sheep_logo" />
+        </RelativeLayout>
+
+        <TextView
+            android:id="@+id/image_bottom_tv"
+            android:layout_width="match_parent"
+            android:layout_height="10dp"
+            android:gravity="center"
+            android:text="扫我开始赚钱"
+            android:textColor="#ff999999"
+            android:textSize="8sp" />
 
+    </LinearLayout>
 
 </RelativeLayout>