admin
2021-05-12 755aa6f3f818ff42a288a26af746b912a7c3f590
特价新版UI改造
12个文件已修改
26个文件已添加
5309 ■■■■ 已修改文件
app/build.gradle 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/libs/crashshield-2.0.0-release.aar 补丁 | 查看 | 原始文档 | blame | 历史
app/libs/logger-2.0.0-release.aar 补丁 | 查看 | 原始文档 | blame | 历史
app/libs/main-2.0.0-release.aar 补丁 | 查看 | 原始文档 | blame | 历史
app/libs/phoneNumber-L-AuthSDK-2.12.0.aar 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/java/com/tejia/lijin/app/ui/dialog/CopyLinkDialog.java 178 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/java/com/tejia/lijin/app/ui/mine/LoginSelectActivity.java 203 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/java/com/tejia/lijin/app/ui/recommend/GoodsDetailActivity.java 2513 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/java/com/tejia/lijin/app/util/ui/VIPUIUtil.java 38 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/java/com/tejia/lijin/app/util/user/AliyunSmsOneKeyLoginManager.java 196 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/res/drawable-xhdpi/ic_close_login.png 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/res/drawable-xhdpi/ic_login_logo.png 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/res/drawable-xhdpi/icon_login_qq.png 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/res/drawable-xhdpi/icon_login_wx.png 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/res/drawable/selector_login_btn.xml 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/res/drawable/shape_convert_link_btn.xml 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/res/drawable/shape_copy_link_btn.xml 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/res/drawable/shape_copy_link_content_bg.xml 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/res/drawable/shape_go_buy.xml 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/res/drawable/shape_go_fanli.xml 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/res/drawable/shape_goods_detail_hongbao_bg.xml 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/res/drawable/shape_goods_detail_hongbao_detail_bg.xml 50 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/res/drawable/shape_goods_detail_hongbao_high_level_bg.xml 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/res/drawable/shape_goods_detail_item_bg.xml 15 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/res/drawable/shape_goods_detail_rights_type_coupon_bg.xml 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/res/drawable/shape_goods_detail_rights_type_coupon_bottom_bg.xml 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/res/drawable/shape_goods_detail_rights_type_hongbao_bg.xml 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/res/drawable/shape_goods_detail_rights_type_hongbao_bottom_bg.xml 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/res/drawable/shape_login_gain_sms_invalid.xml 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/res/drawable/shape_smart_search_top.xml 14 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/res/layout/activity_goods_detail_new.xml 1080 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/res/layout/activity_login_select.xml 138 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/res/layout/item_copy_goods_title.xml 61 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/res/layout/item_copy_link.xml 394 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/res/layout/item_goods_detail_hongbao.xml 299 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/res/layout/item_goods_right.xml 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
library-gallery/src/androidTest/java/com/lzj/gallery/library/ExampleInstrumentedTest.java 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
library-mine/build.gradle 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/build.gradle
@@ -121,6 +121,12 @@
    implementation 'androidx.multidex:multidex:2.0.0'
    api files('libs/tbs_sdk_thirdapp_v2.4.0.1073_36840_sharewithdownload_obfs_20161011_194834.jar')
    //阿里云手机号认证
    implementation files('libs/crashshield-2.0.0-release.aar')
    implementation files('libs/logger-2.0.0-release.aar')
    implementation files('libs/main-2.0.0-release.aar')
    implementation files('libs/phoneNumber-L-AuthSDK-2.12.0.aar')
    //    //fastjson (以使用方接入版本为准)
    //    implementation(name: 'fastjson-1.2.9', ext: 'jar')
app/libs/crashshield-2.0.0-release.aar
Binary files differ
app/libs/logger-2.0.0-release.aar
Binary files differ
app/libs/main-2.0.0-release.aar
Binary files differ
app/libs/phoneNumber-L-AuthSDK-2.12.0.aar
Binary files differ
app/src/main/java/com/tejia/lijin/app/ui/dialog/CopyLinkDialog.java
@@ -23,6 +23,10 @@
import com.app.hubert.guide.util.ScreenUtils;
import com.bumptech.glide.Glide;
import com.bumptech.glide.load.engine.DiskCacheStrategy;
import com.bumptech.glide.request.RequestOptions;
import com.tejia.lijin.app.util.goods.GoodsDetailListUtil;
import com.tejia.lijin.app.util.ui.GoodsDetailUtil;
import com.tejia.lijin.app.util.ui.GoodsRightViewHolder;
import com.wpc.library.util.SystemCommon;
import com.wpc.library.util.common.DimenUtils;
import com.tejia.lijin.app.R;
@@ -32,6 +36,8 @@
import com.tejia.lijin.app.util.ImageUtil;
import com.tejia.lijin.app.util.JumpActivityUtil;
import com.tejia.lijin.app.util.clipboard.ClipboardUtil;
import static com.bumptech.glide.load.resource.drawable.DrawableTransitionOptions.withCrossFade;
/**
 * 猜你喜欢dialog
@@ -120,22 +126,13 @@
            dialog.addContentView(layout, new FrameLayout.LayoutParams(
                    FrameLayout.LayoutParams.MATCH_PARENT, FrameLayout.LayoutParams.WRAP_CONTENT));
            LinearLayout ll_item1 = layout.findViewById(R.id.ll_horizontal_item);//商品详情布局
            LinearLayout ll_goods_detail = layout.findViewById(R.id.ll_goods_detail);//商品详情布局
            RelativeLayout ll_not_item = layout.findViewById(R.id.ll_not_item);//未加入淘宝联盟布局
            TextView tv_go = layout.findViewById(R.id.tv_go);
            TextView tv_left = layout.findViewById(R.id.tv_left);
            GradientDrawable gradientDrawable = new GradientDrawable();
            gradientDrawable.setCornerRadius(DimenUtils.dip2px(context, 40));
            gradientDrawable.setStroke(DimenUtils.dip2px(context, 1), context.getResources().getColor(R.color.theme));
            gradientDrawable.setColor(context.getResources().getColor(R.color.white));
            tv_left.setBackgroundDrawable(gradientDrawable);
            tv_left.setVisibility(View.GONE);
            if (type == 4) {/**兼容未加入淘宝联盟的情况*/
                ll_item1.setVisibility(View.GONE);//商品详情
                ll_goods_detail.setVisibility(View.GONE);//商品详情
                ll_not_item.setVisibility(View.VISIBLE);//未加入淘宝联盟
                tv_go.setText("查看相似");
                tv_left.setText("查看相似");
                ImageView ll_not_img = layout.findViewById(R.id.ll_not_img);
                TextView ll_not_title1 = layout.findViewById(R.id.ll_not_title1);
                // 图片
@@ -146,7 +143,7 @@
                        .into(ll_not_img);
                ll_not_title1.setText(info.getGoods().getTitle());//纯标题
                if (positiveButtonClickListener != null) {
                    tv_go.setOnClickListener(new View.OnClickListener() {
                    tv_left.setOnClickListener(new View.OnClickListener() {
                        public void onClick(View v) {
                            positiveButtonClickListener.onClick(dialog, DialogInterface.BUTTON_POSITIVE);
                            ClipboardUtil.emptyClipboard(context);
@@ -154,160 +151,25 @@
                    });
                }
            } else {/**商品详情布局*/
                ll_item1.setVisibility(View.VISIBLE);//商品详情
                ll_goods_detail.setVisibility(View.VISIBLE);//商品详情
                ll_not_item.setVisibility(View.GONE);//未加入淘宝联盟
                if (info.getLeft() != null) {
                    tv_left.setVisibility(View.VISIBLE);
                    tv_left.setText(info.getLeft().getName());
                if (positiveButtonClickListener != null) {
                    tv_left.setOnClickListener(new View.OnClickListener() {
                        @Override
                        public void onClick(View v) {
                            JumpActivityUtil.jumpPage(context, info.getLeft().getJumpDetail(), info.getLeft().getParams());
                            ClipboardUtil.emptyClipboard(context);
                            if (dialog.isShowing())
                                dialog.dismiss();
                        }
                    });
                } else
                    tv_left.setVisibility(View.GONE);
                if (info.getRight() != null) {
                    tv_go.setText(info.getRight().getName());
                    tv_go.setOnClickListener(new View.OnClickListener() {
                        @Override
                        public void onClick(View v) {
                            JumpActivityUtil.jumpPage(context, info.getRight().getJumpDetail(), info.getRight().getParams());
                            positiveButtonClickListener.onClick(dialog, DialogInterface.BUTTON_POSITIVE);
                            ClipboardUtil.emptyClipboard(context);
                        }
                    });
                } else {
                    tv_go.setText("去看看");
                    if (positiveButtonClickListener != null) {
                        tv_go.setOnClickListener(new View.OnClickListener() {
                            public void onClick(View v) {
                                positiveButtonClickListener.onClick(dialog, DialogInterface.BUTTON_POSITIVE);
                                ClipboardUtil.emptyClipboard(context);
                            }
                        });
                    }
                }
                LinearLayout ll_coupon_bg1 = layout.findViewById(R.id.ll_coupon_bg1);
                ImageView iv_pic1 = layout.findViewById(R.id.iv_movie_cover1);
                TextView tv_normal_price1 = layout.findViewById(R.id.tv_normal_price1);
                TextView tv_shop_name1 = layout.findViewById(R.id.tv_shop_name1);
                TextView tv_name1 = layout.findViewById(R.id.tv_movie_title1);
                TextView tv_price1 = layout.findViewById(R.id.tv_price1);
                TextView tv_coupon_price1 = layout.findViewById(R.id.tv_coupon_price1);
                TextView tv_favourable1 = layout.findViewById(R.id.tv_favourable1);
                TextView tv_rate_info = layout.findViewById(R.id.tv_rate_info);
                LinearLayout ll_discount_new = layout.findViewById(R.id.ll_discount_new);
                TextView tv_discount_new = layout.findViewById(R.id.tv_discount_new);
                TextView tv_sale_num1 = layout.findViewById(R.id.tv_sale_num1);
                TextView tv_sale_num2 = layout.findViewById(R.id.tv_sale_num2);
                LinearLayout ll_shop1 = layout.findViewById(R.id.ll_shop1);
                //不加商品类型图标(淘宝联盟不允许用链接搜索)
                ImageUtil.showImageFaceDialog(context, info.getGoods().getTitle(), info.getGoods().getShopType(), tv_name1);
//                tv_name1.setText(taoBaoGoodsBrief.getTitle());//纯标题
                tv_normal_price1.setText("¥" + info.getGoods().getZkPrice());
                tv_normal_price1.setPaintFlags(tv_normal_price1.getPaintFlags() | Paint.STRIKE_THRU_TEXT_FLAG);
                // 图片
                Glide.with(context).load(info.getGoods().getPicUrl()).
                        placeholder(R.drawable.ic_goods_default).error(R.drawable.ic_goods_default).
                        transform(new GlideRoundTransform(context, 5))
                        .diskCacheStrategy(DiskCacheStrategy.ALL)
                        .into(iv_pic1);
//            ImageLoader.getInstance().displayImage(taoBaoGoodsBrief.getPicUrl(), iv_pic1, options);
                if (info.getGoods().getShopInfo() != null && info.getGoods().getShopInfo().getShopName() != null) {
                    ll_shop1.setVisibility(View.VISIBLE);
                    tv_shop_name1.setText(info.getGoods().getShopInfo().getShopName());
                    Drawable drawable = context.getResources().getDrawable(R.drawable.ic_shopci);
                    drawable.setBounds(0, 0, 27 * tv_shop_name1.getLineHeight() / 24, tv_shop_name1.getLineHeight());//第一0是距左边距离,第二0是距上边距离,30、35分别是长宽
                    tv_shop_name1.setCompoundDrawables(drawable, null, null, null);//只放左边
                } else {
                    ll_shop1.setVisibility(View.GONE);
//                v_top.setVisibility(position == 0 ? View.VISIBLE : View.GONE);
                ImageView iv_pic = layout.findViewById(R.id.iv_pic);
                try {
                    Glide.with(context).load(info.getGoods().getPicUrl()).apply(new RequestOptions().centerCrop()).transform(new GlideRoundTransform(context, 5)).transition(withCrossFade()).placeholder(R.drawable.ic_goods_default).diskCacheStrategy(DiskCacheStrategy.ALL).into(iv_pic);
                } catch (IllegalArgumentException e) {
                }
                tv_price1.setTextColor(context.getResources().getColor(R.color.theme));
                if (info.getGoods().getMoneyInfo() != null && info.getGoods().getMoneyInfo().getRateInfo() != null)
                    tv_rate_info.setText(info.getGoods().getMoneyInfo().getRateInfo());
                if (info.getGoods().getMoneyInfo().getMoneyType() == 1) {
                    tv_favourable1.setBackgroundResource(R.drawable.shape_goods_list_price_fan);
                    tv_favourable1.setText("返 " + info.getGoods().getMoneyInfo().getFanliMoney());
                } else {
                    tv_favourable1.setBackgroundResource(R.drawable.shape_goods_list_price_fan);
                    tv_favourable1.setText("奖 " + info.getGoods().getMoneyInfo().getFanliMoney());
                }
                String disCount;
                if (!info.getGoods().isHasCoupon()) {
                    ll_coupon_bg1.setVisibility(View.GONE);
                    disCount = "¥ " + info.getGoods().getZkPrice();
                    if (info.getGoods().getGoodsType() == Constant.GOODS_TYPE_VIP) {
                        disCount = "¥ " + info.getGoods().getCouponPrice();
                    }
                } else {
                    ll_coupon_bg1.setVisibility(View.VISIBLE);
                    disCount = "¥ " + info.getGoods().getCouponPrice();
                    tv_coupon_price1.setVisibility(View.VISIBLE);
                    tv_coupon_price1.setText("¥ " + info.getGoods().getCouponInfo().getAmount());
                }
                tv_sale_num1.setTextColor((info.getGoods().getSalesType() == 1 || info.getGoods().getSalesType() == 4) ?
                        context.getResources().getColor(R.color.gray5) : info.getGoods().getSalesType() == 2 ?
                        context.getResources().getColor(R.color.goods_sale_num_text_color_orange) :
                        context.getResources().getColor(R.color.goods_sale_num_text_color_blue));
                tv_sale_num1.setText(info.getGoods().getSalesType() == 1 ? "月销 " + info.getGoods().getSalesCount() :
                        info.getGoods().getSalesType() == 2 ? "2小时销量 " + info.getGoods().getSalesCount() : info.getGoods().getSalesType() == 3 ?
                                "今日销量 " + info.getGoods().getSalesCount() : "总销量 " + info.getGoods().getSalesCount());
                tv_sale_num2.setTextColor((info.getGoods().getSalesType() == 1 || info.getGoods().getSalesType() == 4) ?
                        context.getResources().getColor(R.color.gray5) : info.getGoods().getSalesType() == 2 ?
                        context.getResources().getColor(R.color.goods_sale_num_text_color_orange) :
                        context.getResources().getColor(R.color.goods_sale_num_text_color_blue));
                tv_sale_num2.setText(info.getGoods().getSalesType() == 1 ? "月销 " + info.getGoods().getSalesCount() :
                        info.getGoods().getSalesType() == 2 ? "2小时销量 " + info.getGoods().getSalesCount() : info.getGoods().getSalesType() == 3 ?
                                "今日销量 " + info.getGoods().getSalesCount() : "总销量 " + info.getGoods().getSalesCount());
                tv_sale_num2.setVisibility(View.GONE);
                if (info.getGoods().getGoodsType() == Constant.GOODS_TYPE_VIP) {
                    tv_sale_num1.setVisibility(View.GONE);
                    ll_discount_new.setVisibility(View.VISIBLE);
                    tv_discount_new.setText(info.getGoods().getDiscount());
                } else {
                    ll_discount_new.setVisibility(View.GONE);
                    tv_sale_num1.setVisibility(View.VISIBLE);
                }
                int pos = disCount.indexOf(".");
                Spannable span = new SpannableString(disCount);
                span.setSpan(new RelativeSizeSpan(1.2f), 1, pos > 1 ? pos : disCount.length(),
                        Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
                //span.setSpan(new StyleSpan(Typeface.BOLD), 1, disCount.length(), Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
                tv_price1.setText(span);
                //商品详情填充
                GoodsDetailListUtil.setGoodsDetail(context, info.getGoods(), new GoodsRightViewHolder(ll_goods_detail));
            }
            // set the confirm button
            final ClipboardManager clipboard = (ClipboardManager) context.getSystemService(Context.CLIPBOARD_SERVICE);
            //动态改变shape
            GradientDrawable shape = new GradientDrawable();
            shape.setCornerRadius(ScreenUtils.dp2px(context, 100));
            //设置颜色
            shape.setColor(context.getResources().getColor(R.color.theme));
            //设置大小
            tv_go.setBackground(shape);
            if (negativeButtonClickListener != null) {
@@ -321,7 +183,7 @@
            dialog.setContentView(layout);
            android.view.WindowManager.LayoutParams params = dialog.getWindow().getAttributes();
            params.width = (int) ((SystemCommon.getScreenWidth(context) * 19) / 23);
            params.width = (int) ((SystemCommon.getScreenWidth(context) * 4) / 5);
            params.height = android.view.WindowManager.LayoutParams.WRAP_CONTENT;
            dialog.getWindow().setAttributes(params);
            dialog.setCanceledOnTouchOutside(false);
app/src/main/java/com/tejia/lijin/app/ui/mine/LoginSelectActivity.java
@@ -4,6 +4,7 @@
import android.content.DialogInterface;
import android.content.Intent;
import android.content.SharedPreferences;
import android.graphics.Color;
import android.os.Bundle;
import android.text.Editable;
import android.text.TextWatcher;
@@ -15,8 +16,14 @@
import android.widget.TextView;
import android.widget.Toast;
import com.androidquery.AQuery;
import com.mobile.auth.gatewayauth.AuthUIConfig;
import com.mobile.auth.gatewayauth.PhoneNumberAuthHelper;
import com.mobile.auth.gatewayauth.TokenResultListener;
import com.tejia.lijin.app.util.user.AliyunSmsOneKeyLoginManager;
import com.tencent.mm.opensdk.modelmsg.SendAuth;
import com.umeng.analytics.MobclickAgent;
import com.wpc.library.util.common.DimenUtils;
import com.wpc.library.util.common.StringUtils;
import com.wpc.library.widget.PhoneNumberClearEditText;
import com.tejia.lijin.app.BasicTextHttpResponseHandler;
@@ -47,13 +54,12 @@
    public final static int TYPE_LOGIN = 1;//登录
    public final static int TYPE_BIND = 2;//绑定
    public final static int TYPE_BIND_WITHOUT_LOGINED = 3;//未登录绑定
    private ImageView iv_close, iv_contact_kefu, iv_login_wechat;
    private TextView tv_user_agreement, tv_other_login, tv_mobile_hint, tv_privacy_policies,
            tv_login_top_hint, tv_mobile_type;
    FrameLayout fl_login_gain_sms;
    private TextView tv_login_gain_sms, tv_user_agreement, tv_other_login, tv_privacy_policies,
            tv_mobile_type;
    private PhoneNumberClearEditText et_mobile_num;
    LinearLayout ll_user_agreement;
    private ImageView et_mobile_numimg;
    private AQuery mAquery;
    String uid;
    boolean isWXLogin = false;
@@ -61,22 +67,81 @@
    int type;
    String key;//微信登录尚未绑定手机时回传的标识
    private static String TAG="LoginSelectActivity";
    private static String TAG = "LoginSelectActivity";
    private AliyunSmsOneKeyLoginManager aliyunSmsOneKeyLoginManager;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_login_select);
        mAquery = new AQuery(this);
        TopStatusSettings.setStatusViewAndDeepColorNoView(this);
//        tv_user_agreement.getPaint().setFlags(Paint.UNDERLINE_TEXT_FLAG);
        initData(getIntent());
        String from = getIntent().getStringExtra("from");
        UserCustomEvent.userLogin(this, StringUtils.isEmpty(from) ? "其它" : from);
        EventBus.getDefault().register(this);
        aliyunSmsOneKeyLoginManager = new AliyunSmsOneKeyLoginManager(this, null);
        aliyunSmsOneKeyLoginManager.init(new AliyunSmsOneKeyLoginManager.IOneKeyLoginListener() {
            @Override
            public void onFail(String st) {
            }
            @Override
            public void onCancel() {
            }
            @Override
            public void onEnvCheckSuccess() {
            }
            @Override
            public void onStartAuthPageSuccess() {
            }
            @Override
            public void onToken(String token) {
            }
        });
    }
    private synchronized void openOneKeyLogin(final boolean notify) {
        ShoppingApi.allowOneKeyLogin(this, UserUtil.getLoginUid(this), new BasicTextHttpResponseHandler() {
            @Override
            public void onStart() {
                DialogUtil.show(loadingDialog);
            }
            @Override
            public void onSuccessPerfect(int statusCode, Header[] headers, JSONObject jsonObject) throws Exception {
                if (jsonObject.optBoolean("IsPost")) {
                    aliyunSmsOneKeyLoginManager.checkEnv();
                } else {
                    if (notify) {
                        Toast.makeText(PhoneLoginActivity.this, jsonObject.optString("Error"), Toast.LENGTH_SHORT).show();
                    }
                }
            }
            @Override
            public void onFinish() {
                DialogUtil.dismiss(loadingDialog);
            }
        });
    }
    private void initData(Intent intent) {
        type =intent.getIntExtra("type", TYPE_LOGIN);
        type = intent.getIntExtra("type", TYPE_LOGIN);
        init(intent);
        addListener();
    }
@@ -84,7 +149,7 @@
    @Override
    protected void onNewIntent(Intent intent) {
        super.onNewIntent(intent);
        Log.i(TAG,"onNewIntent");
        Log.i(TAG, "onNewIntent");
        initData(intent);
    }
@@ -92,30 +157,19 @@
        初始化控件
         */
    private void init(Intent intent) {
        iv_close = findViewById(R.id.iv_close);
        iv_contact_kefu = findViewById(R.id.iv_contact_kefu);
        tv_mobile_hint = findViewById(R.id.tv_mobile_hint);
        tv_user_agreement = findViewById(R.id.tv_user_agreement);
        iv_login_wechat = findViewById(R.id.iv_login_wechat);
        fl_login_gain_sms = findViewById(R.id.fl_login_gain_sms);
        tv_login_gain_sms = findViewById(R.id.tv_login_gain_sms);
        et_mobile_num = findViewById(R.id.et_mobile_num);
        tv_other_login = findViewById(R.id.tv_other_login);
        tv_privacy_policies = findViewById(R.id.tv_privacy_policies);
        tv_login_top_hint = findViewById(R.id.tv_login_top_hint);
        tv_mobile_type = findViewById(R.id.tv_mobile_type);
        ll_user_agreement = findViewById(R.id.ll_user_agreement);
        et_mobile_numimg = findViewById(R.id.et_mobile_numimg);
        et_mobile_numimg.setColorFilter(getResources().getColor(R.color.black));
        tv_mobile_hint.setTextColor(getResources().getColor(R.color.gray));
        tv_mobile_hint.setText(String.format("新的手机号必须没有绑定过其他%s帐号",getResources().getString(R.string.app_name)));
        fl_login_gain_sms.setEnabled(false);
        fl_login_gain_sms.setBackgroundResource(R.drawable.shape_login_gain_sms);
        SharedPreferences sp = getSharedPreferences("user", MODE_PRIVATE);
        sp.edit().putBoolean("first", true).commit();
        uid = intent.getStringExtra("uid");
        key =intent.getStringExtra("key");
        key = intent.getStringExtra("key");
        getUserConfig();
    }
@@ -124,10 +178,6 @@
     */
    private void addListener() {
        tv_user_agreement.setOnClickListener(this);
        iv_close.setOnClickListener(this);
        iv_contact_kefu.setOnClickListener(this);
        fl_login_gain_sms.setOnClickListener(this);
        iv_login_wechat.setOnClickListener(this);
        tv_other_login.setOnClickListener(this);
        tv_privacy_policies.setOnClickListener(this);
        et_mobile_num.addTextChangedListener(new TextWatcher() {
@@ -145,10 +195,6 @@
                        canSend = true;
                    }
                }
                fl_login_gain_sms.setEnabled(canSend);
                fl_login_gain_sms.setBackgroundResource(canSend ?
                        R.drawable.shape_mobile_login_light : R.drawable.shape_login_gain_sms);
            }
            @Override
@@ -163,37 +209,42 @@
    @Override
    protected void onResume() {
        super.onResume();
        Log.i(TAG,"onResume");
        Log.i(TAG, "onResume");
        MobclickAgent.onResume(this);
        SharedPreferences sp = getSharedPreferences("user", MODE_PRIVATE);
        boolean isLogin = sp.getBoolean("isLogin", false);
        boolean isLogin = UserUtil.isLogin(getApplicationContext());
        if (isLogin) {//用户已经登录
            if (isWXLogin) {
                finish();
                return;
            }
            tv_login_top_hint.setText("请绑定你的常用手机号");
//            tv_login_top_hint.setVisibility(View.INVISIBLE);
            ll_user_agreement.setVisibility(View.INVISIBLE);
            tv_other_login.setVisibility(View.INVISIBLE);
            iv_login_wechat.setVisibility(View.INVISIBLE);
            tv_mobile_type.setText("绑定"+getResources().getString(R.string.app_name));
            tv_mobile_hint.setText(String.format("新的手机号必须没有绑定过其他%s帐号",getResources().getString(R.string.app_name)));
            tv_mobile_hint.setVisibility(View.INVISIBLE);
        } else {
            if (type == TYPE_BIND_WITHOUT_LOGINED) {//用户尚未登录绑定电话号码
                tv_login_top_hint.setText("请绑定你的常用手机号");
//                tv_login_top_hint.setVisibility(View.INVISIBLE);
//                ll_user_agreement.setVisibility(View.INVISIBLE);
                tv_other_login.setVisibility(View.INVISIBLE);
                iv_login_wechat.setVisibility(View.INVISIBLE);
                ll_user_agreement.setVisibility(View.INVISIBLE);
                tv_mobile_type.setText("绑定"+getResources().getString(R.string.app_name));
                tv_mobile_hint.setText(String.format("新的手机号必须没有绑定过其他%s帐号",getResources().getString(R.string.app_name)));
                tv_mobile_hint.setVisibility(View.INVISIBLE);
            }
        }
        initView(type);
    }
    private void initView(int type) {
        switch (type) {
            case TYPE_LOGIN:
                mAquery.id(R.id.iv_login_mark).visibility(View.VISIBLE);
                mAquery.id(R.id.tv_bind_mark).visibility(View.GONE);
                mAquery.id(R.id.tv_other_login).visibility(View.VISIBLE);
                mAquery.id(R.id.ll_other_login).visibility(View.VISIBLE);
                mAquery.id(R.id.tv_login_onekey).text("本机号码一键登录");
                mAquery.id(R.id.tv_mobile_hint).text(String.format("新的手机号必须没有绑定过其他%s帐号", getResources().getString(R.string.app_name)));
                break;
            case TYPE_BIND:
            case TYPE_BIND_WITHOUT_LOGINED:
                mAquery.id(R.id.iv_login_mark).visibility(View.GONE);
                mAquery.id(R.id.tv_bind_mark).visibility(View.VISIBLE);
                mAquery.id(R.id.tv_other_login).visibility(View.GONE);
                mAquery.id(R.id.ll_other_login).visibility(View.GONE);
                mAquery.id(R.id.tv_login_onekey).text("本机号码一键绑定");
                mAquery.id(R.id.tv_mobile_hint).text(String.format("新的手机号必须没有绑定过其他%s帐号", getResources().getString(R.string.app_name)));
                break;
        }
    }
    @Override
    public void onClick(View view) {
@@ -204,14 +255,7 @@
            case R.id.iv_contact_kefu:
                KeFuUtil.jumpKeFu(LoginSelectActivity.this, "登录");
                break;
            case R.id.tv_other_login:
                tv_other_login.setCompoundDrawablesWithIntrinsicBounds(0, 0,
                        iv_login_wechat.getVisibility() == View.VISIBLE ?
                                R.drawable.ic_other_login_close :
                                R.drawable.ic_other_login_open, 0);
                iv_login_wechat.setVisibility(iv_login_wechat.getVisibility() == View.VISIBLE
                        ? View.INVISIBLE : View.VISIBLE);
                break;
            case R.id.tv_user_agreement:
                UserCustomEvent.userLoginProtocol(LoginSelectActivity.this);
                if (StringUtils.isEmpty(serviceProtocolLink))
@@ -220,9 +264,6 @@
                intent.putExtra("url", serviceProtocolLink);
                startActivity(intent);
                break;
            //隐私政策
//            serviceProtocolLink = jsonObject.optJSONObject("data").optString("serviceProtocolLink");
//            privacyProtocolLink = jsonObject.optJSONObject("data").optString("privacyProtocolLink");
            case R.id.tv_privacy_policies:
                UserCustomEvent.userLoginProtocol(LoginSelectActivity.this);
                if (StringUtils.isEmpty(privacyProtocolLink))
@@ -231,7 +272,7 @@
                intent1.putExtra("url", privacyProtocolLink);
                startActivity(intent1);
                break;
            case R.id.iv_login_wechat:
            case R.id.tv_login_wx:
                UserCustomEvent.userLoginWeixin(LoginSelectActivity.this);
                if (ShoppingApplication.application.mWxApi.isWXAppInstalled()) {
                    isWXLogin = true;
@@ -243,8 +284,12 @@
                    Toast.makeText(LoginSelectActivity.this, "请先安装微信客户端", Toast.LENGTH_SHORT).show();
                }
                break;
            case R.id.fl_login_gain_sms:
                fl_login_gain_sms.setEnabled(false);
            case R.id.tv_login_qq:
                //TODO QQ登录
                break;
            case R.id.tv_login_gain_sms:
                tv_login_gain_sms.setEnabled(false);
                UserCustomEvent.userLoginSms(LoginSelectActivity.this);
                isWXLogin = false;
                if (type == TYPE_BIND || type == TYPE_BIND_WITHOUT_LOGINED) {
@@ -252,6 +297,10 @@
                } else if (type == TYPE_LOGIN) {
                    getVerificationCode();
                }
                break;
            case R.id.tv_login_onekey:
                //TODO 一键登录
                break;
        }
    }
@@ -287,8 +336,8 @@
            @Override
            public void onSuccessPerfect(int statusCode, Header[] headers, JSONObject jsonObject) throws Exception {
                if (jsonObject.optString("code").equalsIgnoreCase("0")) {
                    tv_mobile_hint.setTextColor(getResources().getColor(R.color.gray));
                    tv_mobile_hint.setText(String.format("新的手机号必须没有绑定过其他%s帐号",getResources().getString(R.string.app_name)));
                    mAquery.id(R.id.tv_mobile_hint).textColorId(R.color.gray);
                    mAquery.id(R.id.tv_mobile_hint).text(String.format("新的手机号必须没有绑定过其他%s帐号", getResources().getString(R.string.app_name)));
                    Intent intent = new Intent(LoginSelectActivity.this, LoginVerifyCodeActivity.class);
                    intent.putExtra("title", "登录");
@@ -320,8 +369,8 @@
                        }
                    }).create().show();
                } else {
                    tv_mobile_hint.setTextColor(getResources().getColor(R.color.detail_sharelist_reward_num));
                    tv_mobile_hint.setText(jsonObject.optString("msg"));
                    mAquery.id(R.id.tv_mobile_hint).textColorId(R.color.detail_sharelist_reward_num);
                    mAquery.id(R.id.tv_mobile_hint).text(jsonObject.optString("msg"));
                    Toast.makeText(LoginSelectActivity.this, jsonObject.optString("msg"), Toast.LENGTH_SHORT).show();
                }
            }
@@ -329,7 +378,7 @@
            @Override
            public void onFinish() {
                super.onFinish();
                fl_login_gain_sms.setEnabled(true);
                tv_login_gain_sms.setEnabled(true);
                pd.dismiss();
            }
        });
@@ -344,12 +393,12 @@
        }
        pd.show();
        final String mobileNum = et_mobile_num.getText().toString().trim();
        ShoppingApi.sendMSMBind(LoginSelectActivity.this, slideVerify + "", mobileNum,UserUtil.getUid(getApplicationContext()), new BasicTextHttpResponseHandler() {
        ShoppingApi.sendMSMBind(LoginSelectActivity.this, slideVerify + "", mobileNum, UserUtil.getUid(getApplicationContext()), new BasicTextHttpResponseHandler() {
            @Override
            public void onSuccessPerfect(int statusCode, Header[] headers, JSONObject jsonObject) throws Exception {
                if (jsonObject.optString("code").equalsIgnoreCase("0")) {
                    tv_mobile_hint.setTextColor(getResources().getColor(R.color.gray));
                    tv_mobile_hint.setText(String.format("新的手机号必须没有绑定过其他%s帐号",getResources().getString(R.string.app_name)));
                    mAquery.id(R.id.tv_mobile_hint).textColorId(R.color.gray);
                    mAquery.id(R.id.tv_mobile_hint).text(String.format("新的手机号必须没有绑定过其他%s帐号", getResources().getString(R.string.app_name)));
                    Intent intent = new Intent(LoginSelectActivity.this, LoginVerifyCodeActivity.class);
                    intent.putExtra("title", "绑定");
                    intent.putExtra("uid", uid);
@@ -392,8 +441,8 @@
                                }
                            }).create().show();
                } else {
                    tv_mobile_hint.setTextColor(getResources().getColor(R.color.detail_sharelist_reward_num));
                    tv_mobile_hint.setText(jsonObject.optString("msg"));
                    mAquery.id(R.id.tv_mobile_hint).textColorId(R.color.detail_sharelist_reward_num);
                    mAquery.id(R.id.tv_mobile_hint).text(jsonObject.optString("msg"));
                    Toast.makeText(LoginSelectActivity.this, jsonObject.optString("msg"), Toast.LENGTH_SHORT).show();
                }
            }
@@ -401,7 +450,7 @@
            @Override
            public void onFinish() {
                super.onFinish();
                fl_login_gain_sms.setEnabled(true);
                tv_login_gain_sms.setEnabled(true);
                if (pd.isShowing())
                    pd.dismiss();
            }
app/src/main/java/com/tejia/lijin/app/ui/recommend/GoodsDetailActivity.java
New file
@@ -0,0 +1,2513 @@
package com.tejia.lijin.app.ui.recommend;
import android.content.Context;
import android.content.DialogInterface;
import android.content.Intent;
import android.content.SharedPreferences;
import android.graphics.Bitmap;
import android.graphics.Color;
import android.graphics.Typeface;
import android.graphics.drawable.AnimationDrawable;
import android.os.Bundle;
import android.os.Handler;
import android.os.Message;
import android.provider.Settings;
import android.text.SpannableStringBuilder;
import android.text.Spanned;
import android.text.TextUtils;
import android.text.style.ForegroundColorSpan;
import android.util.Log;
import android.view.Gravity;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.view.ViewTreeObserver;
import android.view.animation.AccelerateInterpolator;
import android.view.animation.Animation;
import android.view.animation.AnimationUtils;
import android.view.animation.DecelerateInterpolator;
import android.webkit.WebChromeClient;
import android.webkit.WebSettings;
import android.webkit.WebView;
import android.webkit.WebViewClient;
import android.widget.AbsListView;
import android.widget.AdapterView;
import android.widget.BaseAdapter;
import android.widget.FrameLayout;
import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.ListView;
import android.widget.PopupWindow;
import android.widget.TextView;
import android.widget.Toast;
import com.alibaba.baichuan.android.trade.AlibcTrade;
import com.alibaba.baichuan.android.trade.AlibcTradeSDK;
import com.alibaba.baichuan.android.trade.model.AlibcShowParams;
import com.alibaba.baichuan.android.trade.model.OpenType;
import com.alibaba.baichuan.android.trade.page.AlibcBasePage;
import com.alibaba.baichuan.android.trade.page.AlibcDetailPage;
import com.alibaba.baichuan.trade.biz.AlibcConstants;
import com.alibaba.baichuan.trade.biz.applink.adapter.AlibcFailModeType;
import com.alibaba.baichuan.trade.biz.core.taoke.AlibcTaokeParams;
import com.alibaba.baichuan.trade.biz.login.AlibcLogin;
import com.alibaba.baichuan.trade.biz.login.AlibcLoginCallback;
import com.bumptech.glide.Glide;
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
import com.google.gson.reflect.TypeToken;
import com.nostra13.universalimageloader.core.DisplayImageOptions;
import com.nostra13.universalimageloader.core.ImageLoader;
import com.nostra13.universalimageloader.core.assist.ImageScaleType;
import com.nostra13.universalimageloader.core.display.FadeInBitmapDisplayer;
import com.sina.weibo.sdk.share.WbShareCallback;
import com.tejia.lijin.app.BasicTextHttpResponseHandler;
import com.tejia.lijin.app.BuXinConstant;
import com.tejia.lijin.app.R;
import com.tejia.lijin.app.ShoppingApi;
import com.tejia.lijin.app.callBack.DragFloatActionInterface;
import com.tejia.lijin.app.callBack.LonginTaobaoCallback;
import com.tejia.lijin.app.callBack.MiDuoTradeCallback;
import com.tejia.lijin.app.entity.CouponInfo;
import com.tejia.lijin.app.entity.CouponUser;
import com.tejia.lijin.app.entity.FreeSingleTicket;
import com.tejia.lijin.app.entity.GoodsDetail;
import com.tejia.lijin.app.entity.PushEventData;
import com.tejia.lijin.app.entity.ShareUser;
import com.tejia.lijin.app.entity.TaoBaoGoodsBrief;
import com.tejia.lijin.app.entity.TbPidInfo;
import com.tejia.lijin.app.entity.TopMenuRightPopContent;
import com.tejia.lijin.app.entity.UserInfo;
import com.tejia.lijin.app.entity.common.ImageShowEntity;
import com.tejia.lijin.app.entity.share.SingleGoodsShareInfo;
import com.tejia.lijin.app.ui.BaseActivity;
import com.tejia.lijin.app.ui.dialog.JumpTaoBaoDialog;
import com.tejia.lijin.app.ui.dialog.ReceiveCouponHintDialog;
import com.tejia.lijin.app.ui.dialog.ShapeLoadingDialog;
import com.tejia.lijin.app.ui.invite.ShareBrowserActivity;
import com.tejia.lijin.app.ui.mine.Collect28Activity;
import com.tejia.lijin.app.ui.mine.FreeSingleTicketAdapter;
import com.tejia.lijin.app.ui.mine.LoginSelectActivity;
import com.tejia.lijin.app.ui.mine.MyFootmarkActivity;
import com.tejia.lijin.app.ui.mine.ShoppingTrolleyActivity;
import com.tejia.lijin.app.ui.trends.BigImageActivity;
import com.tejia.lijin.app.util.ApkUtil;
import com.tejia.lijin.app.util.Constant;
import com.tejia.lijin.app.util.DragFloatActionButton;
import com.tejia.lijin.app.util.GlideCircleTransform;
import com.tejia.lijin.app.util.GlideRoundTransform;
import com.tejia.lijin.app.util.ImageUtil;
import com.tejia.lijin.app.util.InitAlibcSdk;
import com.tejia.lijin.app.util.KeFuUtil;
import com.tejia.lijin.app.util.LoginTaobao;
import com.tejia.lijin.app.util.RecordImageTextVideo;
import com.tejia.lijin.app.util.SetLabels;
import com.tejia.lijin.app.util.Toast_Dialog;
import com.tejia.lijin.app.util.baichuan.AlibcTradeUtil;
import com.tejia.lijin.app.util.clipboard.ClipboardUtil;
import com.tejia.lijin.app.util.ui.GoodsDetailUtil;
import com.tejia.lijin.app.util.umengCustomEvent.GoodsCustomEvent;
import com.tejia.lijin.app.util.user.LoginAndInviteStatusUtil;
import com.tejia.lijin.app.util.user.UserUtil;
import com.umeng.analytics.MobclickAgent;
import com.wang.avi.AVLoadingIndicatorView;
import com.wpc.library.content.ConnectivityChangeHelper;
import com.wpc.library.recyclerviewhelper.DividerItemDecoration;
import com.wpc.library.util.NetUtils;
import com.wpc.library.util.SystemCommon;
import com.wpc.library.util.common.DimenUtils;
import com.wpc.library.util.common.StringUtils;
import com.wpc.library.widget.MyGridView;
import com.wpc.library.widget.MyListView;
import com.wpc.library.widget.MyScrollView;
import org.apache.http.Header;
import org.json.JSONObject;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import java.util.Timer;
import java.util.TimerTask;
import androidx.recyclerview.widget.LinearLayoutManager;
import androidx.recyclerview.widget.RecyclerView;
import androidx.viewpager.widget.PagerAdapter;
import androidx.viewpager.widget.ViewPager;
/**
 * Created by weikou2015 on 2018/5/11.
 * 商品详情过渡页--可跳转手淘原生,自我网页
 */
public class GoodsDetailActivity extends BaseActivity implements View.OnClickListener, WbShareCallback, DragFloatActionInterface {
    private ImageView iv_top_left, iv_back, iv_shop_img, iv_shop_type, iv_notif_portrait,
            iv_imgtext_status, iv_share, iv_top_right, iv_like_state, iv_loading, iv_footermark, iv_rate;
    private TextView tv_top_title1, tv_top_title2, tv_top_title3, tv_top_title4, tv_shop_name,
            tv_shop_des, tv_shop_service, tv_shop_logistics, tv_shop_des_grade, tv_shop_logistics_grade,
            tv_shop_service_grade, tv_notif_name, tv_notif_des, tv_shop_see, tv_goods_des,
            tv_currunt_page, tv_goods_price_before, tv_sales_num, tv_coupon_show, tv_goods_price_coupon,
            tv_rebate_num, tv_coupon_num, tv_command_num, tv_coupon_date, tv_loading,
            tv_share_money_num, tv_buy, tv_rate, tv_like;
    private FrameLayout fl_back_face, fl_content, fl_receive_coupon,
            fl_command_copy;
    private LinearLayout fl_buy, ll_share_gain, ll_goods_detail_transition_top, ll_guess_like,
            ll_send_order, ll_add_collect, ll_labels, ll_no_net, ll_no_data, ll_request_failture,
            ll_notification, ll_loading, ll_coupon, ll_top_title, ll_command_copy;
    //发货地,相似搜索
    private LinearLayout ll_address, ll_same;
    private TextView tv_address;
    //佣金构成信息
    TextView tv_fanli_composition;
    LinearLayout ll_fanli_composition;
    private View v_1, v_2, v_3, v_4, v_cover, v_cover1, v_cover2;
    private MyGridView gv_guess, gv_relative;
    private MyScrollView lv_goods_pic;
    private WebView webView;
    private ViewPager vp_goods_detail;
    private ConnectivityChangeHelper mChangeHelper;
    private ImageAdapter bannerAdapter;
    private List<String> mBanners = new ArrayList<>();
    private int picNum = 1;
    String goodsId;
    String goodsTaoBaoId;
    private DisplayImageOptions options = new DisplayImageOptions.Builder()
            .showImageForEmptyUri(R.drawable.ic_goods_default)
            .showImageOnFail(R.drawable.ic_goods_default)
            .showImageOnLoading(R.drawable.ic_goods_default)
            .resetViewBeforeLoading(true).cacheInMemory(true)
            .cacheOnDisk(true).imageScaleType(ImageScaleType.EXACTLY)
            .considerExifParams(true)
            .displayer(new FadeInBitmapDisplayer(300)).build();
    private Map<String, String> exParams;//yhhpass参数
    AlibcShowParams alibcShowParams;
    AlibcTaokeParams alibcTaokeParams;
    private String TYPE = "goodsDetail";
    private TextView tv_notice_content;
    private LinearLayout ll_notice;
    private ImageView iv_close;
    AVLoadingIndicatorView avLoadingIndicatorView;
    //推荐语
    private LinearLayout ll_recommend;
    private TextView tv_recommend;
    //口令复制
    private TextView tv_copy_link;
    Animation inAnima;
    Animation outAnima;
    int index = 1;
    ListView lv_share_des;
    PopupWindow mTopRightPopupWindow;
    private List<TopMenuRightPopContent> mulList = new ArrayList<>();
    TopMenuRightPopContentAdapter shareFromAdapter;
    private Toast_Dialog toast_dialog;
    boolean isScroll = false;
    boolean isVisible = false;
    long inputTime = 0;
    //底部按钮
    private LinearLayout ll_coupon_container;
    /**
     * 免单开始
     */
    //免单
    private TextView tv_coupon_date_miandan, tv_coupon_num_miandan;
    private FrameLayout fl_coupon_miandan;
    private TextView tv_big_btn;
    private LinearLayout ll_bottom;
    /*
    商品详情免单券弹框接口
 */
    private void getGoodsMianDanCouponList() {
        if (pd == null)
            pd = new ShapeLoadingDialog.Builder(this).build();
        if (!pd.isShowing())
            pd.show();
        String uid = getSharedPreferences("user", MODE_PRIVATE)
                .getString("uid", "");
        ShoppingApi.getGoodsCouponList(this, uid, Constant.GOODS_TYPE_TB, goodsId, new BasicTextHttpResponseHandler() {
            @Override
            public void onSuccessPerfect(int statusCode, Header[] headers, JSONObject jsonObject) throws Exception {
                if (jsonObject.optString("code").equalsIgnoreCase("0")) {
                    initPopubWindow(jsonObject.optJSONObject("data"));
                } else {
                    Toast.makeText(GoodsDetailActivity.this,
                            jsonObject.optString("msg"), Toast.LENGTH_LONG).show();
                }
            }
            @Override
            public void onFinish() {
                super.onFinish();
                pd.dismiss();
            }
        });
    }
    private View view_share_buy_divider;
    private void initShareAndBuyBtn(boolean shareValid, boolean fanliValid) {
        if (view_share_buy_divider == null)
            view_share_buy_divider = findViewById(R.id.view_share_buy_divider);
        if (shareValid && fanliValid) {
            fl_buy.setVisibility(View.VISIBLE);
            ll_share_gain.setVisibility(View.VISIBLE);
            view_share_buy_divider.setVisibility(View.GONE);
        } else if (shareValid) {
            ll_share_gain.setVisibility(View.VISIBLE);
            ll_share_gain.setBackgroundResource(R.drawable.shape_go_share_full);
            fl_buy.setVisibility(View.GONE);
            view_share_buy_divider.setVisibility(View.VISIBLE);
        } else if (fanliValid) {
            fl_buy.setVisibility(View.VISIBLE);
            fl_buy.setBackgroundResource(R.drawable.shape_go_fanli_full);
            ll_share_gain.setVisibility(View.GONE);
            view_share_buy_divider.setVisibility(View.VISIBLE);
        } else {
            fl_buy.setVisibility(View.GONE);
            ll_share_gain.setVisibility(View.GONE);
        }
    }
    /**
     * 免单结束
     */
    @Override
    protected void onCreate(Bundle arg0) {
        super.onCreate(arg0);
        setContentView(R.layout.activity_goods_detail_transition);
        TopStatusSettings.setStatusViewAndDeepColor2(this);
        from = getIntent().getStringExtra("from");
        if (StringUtils.isEmpty(from))
            from = "";
        GoodsCustomEvent.goodsDetail(this, from);
        inputTime = System.currentTimeMillis();
        //推荐语
        ll_recommend = findViewById(R.id.ll_recommend);
        tv_recommend = findViewById(R.id.tv_recommend);
        //复制链接
        findViewById(R.id.ll_copy_link).setOnClickListener(this);
        tv_copy_link = findViewById(R.id.tv_copy_link);
        tv_copy_link.setText("复制口令");
        ll_coupon_container = findViewById(R.id.ll_coupon_container);
        lv_goods_pic = findViewById(R.id.lv_goods_pic);
        tv_top_title1 = findViewById(R.id.tv_top_title1);
        tv_top_title2 = findViewById(R.id.tv_top_title2);
        tv_top_title3 = findViewById(R.id.tv_top_title3);
        tv_top_title4 = findViewById(R.id.tv_top_title4);
        iv_like_state = findViewById(R.id.iv_like_state);
        tv_like = findViewById(R.id.tv_like);
        ll_add_collect = findViewById(R.id.ll_add_collect);
        ll_labels = findViewById(R.id.ll_labels);
        ll_send_order = findViewById(R.id.ll_send_order);
        tv_share_money_num = findViewById(R.id.tv_share_money_num);
        tv_buy = findViewById(R.id.tv_buy);
        ll_top_title = findViewById(R.id.ll_top_title);
        iv_shop_img = findViewById(R.id.iv_shop_img);
        iv_shop_type = findViewById(R.id.iv_shop_type);
        tv_shop_see = findViewById(R.id.tv_shop_see);
        tv_shop_name = findViewById(R.id.tv_shop_name);
        tv_shop_des = findViewById(R.id.tv_shop_des);
        tv_shop_service = findViewById(R.id.tv_shop_service);
        tv_shop_logistics = findViewById(R.id.tv_shop_logistics);
        tv_shop_des_grade = findViewById(R.id.tv_shop_des_grade);
        tv_shop_logistics_grade = findViewById(R.id.tv_shop_logistics_grade);
        tv_shop_service_grade = findViewById(R.id.tv_shop_service_grade);
        iv_footermark = findViewById(R.id.iv_footermark);
//        iv_like = findViewById(R.id.iv_like);
        v_cover = findViewById(R.id.v_cover);
        v_cover1 = findViewById(R.id.v_cover1);
        v_cover2 = findViewById(R.id.v_cover2);
        ll_goods_detail_transition_top = findViewById(R.id.ll_goods_detail_transition_top);
        v_1 = findViewById(R.id.v_1);
        v_2 = findViewById(R.id.v_2);
        v_3 = findViewById(R.id.v_3);
        v_4 = findViewById(R.id.v_4);
        avLoadingIndicatorView = findViewById(R.id.avi);
        ll_share_gain = findViewById(R.id.ll_share_gain);
        ll_guess_like = findViewById(R.id.ll_guess_like);
        fl_buy = findViewById(R.id.fl_buy);
        iv_imgtext_status = findViewById(R.id.iv_imgtext_status);
        iv_share = findViewById(R.id.iv_share);
        iv_top_right = findViewById(R.id.iv_top_bar_right);
        ll_loading = findViewById(R.id.ll_loading);
        tv_loading = findViewById(R.id.tv_loading);
        iv_loading = findViewById(R.id.iv_loading);
        tv_loading.setText("宝贝详情页加载中...");
        AnimationDrawable animationDrawable = (AnimationDrawable) getResources().getDrawable(
                R.drawable.anim_list_loading);
        iv_loading.setImageDrawable(animationDrawable);
        animationDrawable.start();
        webView = findViewById(R.id.webView);
        webView.setWebViewClient(new MWebviewClient());
        WebSettings settings = webView.getSettings();
        settings.setJavaScriptEnabled(true);
        webView.setInitialScale(100);
        ll_loading.setVisibility(View.VISIBLE);
        avLoadingIndicatorView.setVisibility(View.VISIBLE);
        Animation ani = AnimationUtils.loadAnimation(this, R.anim.touming); //申明一个动画
        avLoadingIndicatorView.setAnimation(ani);//为图片绑定动画
        vp_goods_detail = findViewById(R.id.vp_goods_img);
        tv_currunt_page = findViewById(R.id.tv_page_num);
        tv_goods_price_before = findViewById(R.id.tv_goods_price_before);
        tv_sales_num = findViewById(R.id.tv_sales_num);
        tv_coupon_show = findViewById(R.id.tv_coupon_show);
        tv_goods_price_coupon = findViewById(R.id.tv_goods_price_coupon);
        tv_rebate_num = findViewById(R.id.tv_rebate_num);
        tv_coupon_num = findViewById(R.id.tv_coupon_num);
        tv_command_num = findViewById(R.id.tv_command_num);
        tv_coupon_date = findViewById(R.id.tv_coupon_date);
        fl_receive_coupon = findViewById(R.id.fl_receive_coupon);
        fl_command_copy = findViewById(R.id.fl_command_copy);
        ll_coupon = findViewById(R.id.ll_coupon);
        //发货地,相似搜索
        ll_same = findViewById(R.id.ll_same);
        ll_address = findViewById(R.id.ll_address);
        tv_address = findViewById(R.id.tv_address);
        ll_command_copy = findViewById(R.id.ll_command_copy);
        gv_relative = findViewById(R.id.gv_relative);
        gv_guess = findViewById(R.id.gv_guess_like);
        fl_back_face = findViewById(R.id.fl_back_face);
        findViewById(R.id.fl_face).setVisibility(View.VISIBLE);
        iv_notif_portrait = findViewById(R.id.iv_notif_portrait);
        tv_notif_name = findViewById(R.id.tv_notif_name);
        tv_notif_des = findViewById(R.id.tv_notif_des);
        lv_share_des = findViewById(R.id.lv_share_des);
        lv_share_des.setClickable(false);
        //返利比例信息
        tv_rate = findViewById(R.id.tv_rate);
        iv_rate = findViewById(R.id.iv_rate);
        ll_fanli_composition = findViewById(R.id.ll_fanli_composition);
        tv_fanli_composition = findViewById(R.id.tv_fanli_composition);
        bannerAdapter = new ImageAdapter(mBanners, this);
        vp_goods_detail.setAdapter(bannerAdapter);
        vp_goods_detail.setCurrentItem(0, true);
        iv_top_left = findViewById(R.id.iv_top_bar_left1);
        iv_back = findViewById(R.id.iv_back);
        tv_goods_des = findViewById(R.id.tv_goods_des);
        ll_bottom = findViewById(R.id.ll_bottom);
        tv_big_btn = findViewById(R.id.tv_big_btn);
        goodsId = getIntent().getExtras().getString("id");
        rAdapter = new RelativeGoodsAdapter(this, rList, "相关推荐");
        gv_relative.setAdapter(rAdapter);
        gAdapter = new RelativeGoodsAdapter(this, gList, "猜你喜欢");
        gv_guess.setAdapter(gAdapter);
        ll_notification = findViewById(R.id.ll_notification);
        inAnima = AnimationUtils.loadAnimation(this, R.anim.goods_detail_notify_input);
        outAnima = AnimationUtils
                .loadAnimation(this, R.anim.goods_detail_notify_out);
//        ll_notification.startAnimation(inAnima);
//        inAnima.start();
        inAnima.setAnimationListener(new Animation.AnimationListener() {
            @Override
            public void onAnimationStart(Animation animation) {
                if (couponUsers != null && couponUsers.size() > 0) {
                    CouponUser info = couponUsers.get(0);
                    ll_notification.setVisibility(View.VISIBLE);
                    Glide.with(GoodsDetailActivity.this).load(info.getPicUrl())
                            .placeholder(R.drawable.ic_default_portrait_light).error(R.drawable.ic_default_portrait_light)
                            .transform(new GlideCircleTransform(GoodsDetailActivity.this)).into(iv_notif_portrait);
                    tv_notif_name.setText(info.getName());//info.getName()
                    tv_notif_des.setText(info.getMsg());
                }
            }
            @Override
            public void onAnimationEnd(Animation animation) {
                ll_notification.postDelayed(new Runnable() {
                    @Override
                    public void run() {
                        handler.sendEmptyMessage(0);
                    }
                }, 3000);
            }
            @Override
            public void onAnimationRepeat(Animation animation) {
            }
        });
        outAnima.setAnimationListener(new Animation.AnimationListener() {
            @Override
            public void onAnimationStart(Animation animation) {
                ll_notification.setVisibility(View.VISIBLE);
            }
            @Override
            public void onAnimationEnd(Animation animation) {
                ll_notification.setVisibility(View.GONE);
                if (couponUsers.size() > 0)
                    couponUsers.remove(0);
                if (couponUsers.size() > 0) {
                    ll_notification.postDelayed(new Runnable() {
                        @Override
                        public void run() {
                            handler.sendEmptyMessage(1);
                        }
                    }, 1000);
                }
            }
            @Override
            public void onAnimationRepeat(Animation animation) {
            }
        });
        tv_notice_content = findViewById(R.id.tv_notice_content);
        ll_notice = findViewById(R.id.ll_notice);
        iv_close = findViewById(R.id.iv_close);
        getAppPageNotification();
        fl_content = findViewById(R.id.fl_content);
        ll_no_net = findViewById(R.id.ll_no_net);
        ll_no_data = findViewById(R.id.ll_no_data);
        ll_request_failture = findViewById(R.id.ll_request_failture);
        findViewById(R.id.tv_net_setting).setOnClickListener(this);
        findViewById(R.id.tv_refresh).setOnClickListener(this);
        findViewById(R.id.fl_goods_detail).setOnClickListener(this);
        iv_top_left.setOnClickListener(this);
        iv_back.setOnClickListener(this);
        tv_top_title1.setOnClickListener(this);
        tv_top_title2.setOnClickListener(this);
        tv_top_title3.setOnClickListener(this);
        tv_top_title4.setOnClickListener(this);
        ll_add_collect.setOnClickListener(this);
        ll_send_order.setOnClickListener(this);
        ll_share_gain.setOnClickListener(this);
        fl_receive_coupon.setOnClickListener(this);
        fl_back_face.setOnClickListener(this);
        fl_buy.setOnClickListener(this);
        iv_footermark.setOnClickListener(this);
//        iv_like.setOnClickListener(this);
        ll_top_title.setVisibility(View.GONE);
        iv_share.setOnClickListener(this);
        iv_top_right.setOnClickListener(this);
        tv_shop_see.setOnClickListener(this);
        fl_command_copy.setOnClickListener(this);
        v_cover2.setOnClickListener(this);
        //相似搜索点击
        ll_same.setOnClickListener(this);
        iv_rate.setOnClickListener(this);
        tv_big_btn.setOnClickListener(this);
        if (getSharedPreferences("user", MODE_PRIVATE).getString("is_goods_web_detail", "0").equalsIgnoreCase("1")) {
            Intent intent = new Intent(GoodsDetailActivity.this, GoodsDetailBrowerActivity.class);
            intent.putExtra("id", goodsId);
            startActivity(intent);
            finish();
        }
        vp_goods_detail.addOnPageChangeListener(new ViewPager.OnPageChangeListener() {
            @Override
            public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) {
            }
            @Override
            public void onPageSelected(int position) {
                tv_currunt_page.setText((position + 1) + "/" + picNum);
            }
            @Override
            public void onPageScrollStateChanged(int state) {
            }
        });
        lv_goods_pic.setOnScrollListener(new MyScrollView.OnScrollListener() {
            @Override
            public void onScroll(int scrollY) {
                int titleHeight = DimenUtils.dip2px(GoodsDetailActivity.this, 48);
                int marginTopHeight = DimenUtils.dip2px(GoodsDetailActivity.this, 8);
                if (scrollY < (ll_goods_detail_transition_top.getHeight() - titleHeight * 2)) {//头部
                    setPosition(1);
                } else if (scrollY >= ll_goods_detail_transition_top.getHeight() - titleHeight * 2
                        && scrollY < (ll_goods_detail_transition_top.getHeight() + webView.getHeight() - titleHeight)
                        && webView.getVisibility() != View.GONE) {//详情图片
                    setPosition(2);
                } else if (scrollY >= (ll_goods_detail_transition_top.getHeight()
                        + webView.getHeight() - titleHeight + marginTopHeight) && scrollY < (ll_goods_detail_transition_top.getHeight()
                        + webView.getHeight() + ll_guess_like.getHeight() - titleHeight + marginTopHeight)
                        && webView.getVisibility() != View.GONE) {//猜你喜欢
                    setPosition(3);
                } else if (scrollY >= (ll_goods_detail_transition_top.getHeight() + webView.getHeight()
                        + ll_guess_like.getHeight() - titleHeight + marginTopHeight)) {//推荐
                    setPosition(4);
                } else {
                    setPosition(4);
                }
                float baseHeight = ll_goods_detail_transition_top.getHeight() / 4;
                if (scrollY >= 1
                        && scrollY < baseHeight) {
                    if (scrollY / baseHeight < 0.1) {
                        ll_top_title.setVisibility(View.GONE);
                        iv_back.setVisibility(View.VISIBLE);
                    } else if (baseHeight / scrollY < 0.1) {
                        ll_top_title.setVisibility(View.VISIBLE);
                        iv_back.setVisibility(View.GONE);
                    } else {
                        ll_top_title.setVisibility(View.VISIBLE);
                        iv_back.setVisibility(View.VISIBLE);
                    }
                    ll_top_title.setAlpha(scrollY / baseHeight);
                    iv_back.setAlpha(baseHeight / scrollY);
                    isScroll = true;
                    Log.i("mResult", "沿Y轴滑动的距离" + scrollY);
                } else if (scrollY > baseHeight) {
                    ll_top_title.setVisibility(View.VISIBLE);
                    iv_back.setVisibility(View.GONE);
                    ll_top_title.setAlpha(1.0f);
                    isScroll = true;
                } else if (scrollY < 1) {
                    ll_top_title.setVisibility(View.GONE);
                    iv_back.setVisibility(View.VISIBLE);
                    iv_back.setAlpha(1.0f);
                }
            }
        });
        gv_relative.setOnItemClickListener(new AdapterView.OnItemClickListener() {
            @Override
            public void onItemClick(AdapterView<?> adapterView, View view, int position, long id) {
                TaoBaoGoodsBrief info = (TaoBaoGoodsBrief) adapterView.getAdapter().getItem(position);
                goodsId = info.getGoodsId();
                getGoodsDetail();
            }
        });
        gv_guess.setOnItemClickListener(new AdapterView.OnItemClickListener() {
            @Override
            public void onItemClick(AdapterView<?> adapterView, View view, int position, long id) {
                TaoBaoGoodsBrief info = (TaoBaoGoodsBrief) adapterView.getAdapter().getItem(position);
                goodsId = info.getGoodsId();
                getGoodsDetail();
            }
        });
        initMianDanView();
        initTopRightPopupWindow();
        toast_dialog = new Toast_Dialog(this);
        tv_goods_des.setOnLongClickListener(new View.OnLongClickListener() {
            @Override
            public boolean onLongClick(View v) {
                if (tv_goods_des.getText() != null && !StringUtils.isEmpty(tv_goods_des.getText().toString())) {
                    String str1 = tv_goods_des.getText().toString();
                    String substr1 = str1.replaceFirst("## ", "");
                    ClipboardUtil.copy(getApplicationContext(), substr1);
//                    SingleToast.showToast(ll_novice.getContext(), "复制成功");
                    toast_dialog.MyDialog("标题复制成功", false);
                }
                return false;
            }
        });
        acbutton = findViewById(R.id.actionButton);
        acbutton.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                //登陆
                if (getSharedPreferences("user", MODE_PRIVATE).getBoolean("isLogin", false)) {
                    LoginTaobao.getLoginTaobao(GoodsDetailActivity.this, new LonginTaobaoCallback() {
                        @Override
                        public void onSuccess() {
                            startActivity(new Intent(GoodsDetailActivity.this, ShoppingTrolleyActivity.class));
                        }
                        @Override
                        public void onError() {
                            Toast.makeText(GoodsDetailActivity.this, "登陆淘宝失败", Toast.LENGTH_SHORT).show();
                        }
                    });
                } else {
                    Intent intent = new Intent(GoodsDetailActivity.this, LoginSelectActivity.class);
                    intent.putExtra("from", "淘宝");
                    startActivity(intent);
                }
            }
        });
        img = findViewById(R.id.actionButton_img);
        //获取 取消悬浮控件的宽高
        ViewTreeObserver vto2 = img.getViewTreeObserver();
        vto2.addOnGlobalLayoutListener(new ViewTreeObserver.OnGlobalLayoutListener() {
            @Override
            public void onGlobalLayout() {
                img.getViewTreeObserver().removeGlobalOnLayoutListener(this);
                //传入 主界面 指定控件的宽高
                if (acbutton != null) {
                    acbutton.setWidthHeight((int) (img.getWidth() * 0.77), (int) (img.getHeight() * 0.77));
                }
                img.setVisibility(View.GONE);//隐藏
            }
        });
        //  购物车显示
        RecordImageTextVideo textVideo = new RecordImageTextVideo(this);
        //服务器让显示 购物车&&本地也让显示
        if (textVideo.getCart_float().equals("1") && textVideo.getLocalCart_float() != 1 && getSharedPreferences("user", MODE_PRIVATE).getBoolean("isLogin", false)) {
            acbutton.setVisibility(View.VISIBLE);
        } else {//隐藏购物车
            acbutton.setVisibility(View.GONE);
        }
        mChangeHelper = new ConnectivityChangeHelper(this,
                new ConnectivityChangeHelper.OnConnectivityChangeListener() {
                    @Override
                    public void onNetworkUnAvailable() {
                        if (mInfo == null)
                            requestState(3);
                    }
                    @Override
                    public void onNetworkAvailable() {
                        requestState(0);
                        if (mInfo == null) {
                            getGoodsDetail();
                        }
                    }
                });
        tv_buy.postDelayed(new Runnable() {
            @Override
            public void run() {
                if ((!isDestroyed()) && isVisible && isScroll) {
                    PushEventData info = new PushEventData();
                    info.setGoodsId(goodsId);
                    info.setGoodsType("2");
                    Gson gson = new GsonBuilder().serializeNulls().create();
                    String data = gson.toJson(info);
                    GoldPushEventRequest.request(GoodsDetailActivity.this, "scanGoods", data);
                }
            }
        }, 15 * 1000);
    }
    private ImageView img;
    private DragFloatActionButton acbutton;
    /**
     * 初始化右上角提示
     */
    private void initTopRightPopupWindow() {
        View view = getLayoutInflater().inflate(R.layout.item_share_from_filter,
                null, false);
        // 创建PopupWindow实例,200,150分别是宽度和高度
        mTopRightPopupWindow = new PopupWindow(view, (int) (SystemCommon.getScreenWidth(this) / 2), ViewGroup.LayoutParams.WRAP_CONTENT, true);
        // 设置动画效果 [R.style.AnimationFade 是自己事先定义好的]
//        pw_filter.setAnimationStyle(R.style.pop_multiple);
        mTopRightPopupWindow.setTouchable(true);
        mTopRightPopupWindow.setOutsideTouchable(false);
        mTopRightPopupWindow.setFocusable(false);
        ListView lv = view.findViewById(R.id.lv_filter_pw);
//        mulList.add(new TopMenuRightPopContent("复制链接", R.drawable.ic_goods_detail_copy_link));
        mulList.add(new TopMenuRightPopContent("帮助中心", R.drawable.ic_goods_detail_help_center));
        mulList.add(new TopMenuRightPopContent("新手攻略", R.drawable.ic_goods_detail_novice));
        mulList.add(new TopMenuRightPopContent("联系客服", R.drawable.ic_goods_detail_contact_kefu));
        mulList.add(new TopMenuRightPopContent("我要吐槽", R.drawable.ic_goods_detail_criticism));
        shareFromAdapter = new TopMenuRightPopContentAdapter(this, mulList);
        lv.setAdapter(shareFromAdapter);
        lv.setOnItemClickListener(new AdapterView.OnItemClickListener() {
            @Override
            public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
                mTopRightPopupWindow.dismiss();
                v_cover.setVisibility(View.GONE);
                GoodsCustomEvent
                        .goodsDetailMoreBtn(GoodsDetailActivity.this, mulList.get(position).getName());
                SharedPreferences sp = getSharedPreferences("user", MODE_PRIVATE);
//                if (position == 0) {
//                    ClipboardManager manager = (ClipboardManager) getSystemService(Context.CLIPBOARD_SERVICE);
//                    ClipData myClip = ClipData.newPlainText("text", h5Url);
//                    manager.setPrimaryClip(myClip);
//                    Toast.makeText(GoodsDetailActivity.this, "链接复制成功", Toast.LENGTH_LONG).show();
//                } else
                if (position == 0) {
                    Intent intent1 = new Intent(GoodsDetailActivity.this, ShareBrowserActivity.class);
                    intent1.putExtra("title", "帮助中心");
                    intent1.putExtra("url", sp.getString("help", ""));
                    startActivity(intent1);
                } else if (position == 1) {
                    RecordImageTextVideo textVideo = new RecordImageTextVideo(GoodsDetailActivity.this);
                    String url = textVideo.getvideoMoreUrl();
                    if (StringUtils.isEmpty(url)) {
                        url = textVideo.gettxtImgUtl();
                    }
                    Intent intent = new Intent(GoodsDetailActivity.this, ShareBrowserActivity.class);
                    intent.putExtra("url", url);
                    startActivity(intent);
                } else if (position == 2) {
//                    startActivity(new Intent(GoodsDetailActivity.this, ContactUsActivity.class));
                    KeFuUtil.jumpKeFu(GoodsDetailActivity.this, "商品详情");
                } else if (position == 3) {
                    startActivity(new Intent(GoodsDetailActivity.this, GoComplainActivity.class));
                }
            }
        });
        mTopRightPopupWindow.setOnDismissListener(new PopupWindow.OnDismissListener() {
            @Override
            public void onDismiss() {
                v_cover2.setVisibility(View.GONE);
            }
        });
    }
    Handler handler = new Handler() {
        @Override
        public void handleMessage(Message msg) {
            super.handleMessage(msg);
            if (msg.what == 0) {
                outAnima.setInterpolator(new AccelerateInterpolator());
                ll_notification.setAnimation(outAnima);
                ll_notification.startAnimation(outAnima);
            } else if (msg.what == 1) {
                inAnima.setInterpolator(new DecelerateInterpolator());
                ll_notification.setAnimation(inAnima);
                ll_notification.startAnimation(inAnima);
//                inAnima.start();
            } else if (msg.what == 2) {
                lv_share_des.setSelection(0);
            } else if (msg.what == 3) {//关闭弹窗
                if (dialog != null && dialog.isShowing())
                    dialog.dismiss();
            }
        }
    };
    class MWebviewClient extends WebViewClient {
        @Override
        public boolean shouldOverrideUrlLoading(WebView view, String url) {
            if (null != url && url.startsWith("yestv://webviewHeight#")) {
                int height = Integer.parseInt(url.replace("yestv://webviewHeight#", ""));
                Log.i("mResult", "webView的高度为:" + height + "");
                webView.setLayoutParams(new LinearLayout.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, height));
                return true;
            }
            return super.shouldOverrideUrlLoading(view, url);
        }
        @Override
        public void onPageStarted(WebView view, String url, Bitmap favicon) {
            super.onPageStarted(view, url, favicon);
            webView.postDelayed(new Runnable() {
                @Override
                public void run() {
                    ll_loading.setVisibility(View.GONE);
                }
            }, 3000);
        }
    }
    private void getAppPageNotification() {
        ShoppingApi.getAppPageNotification(this, TYPE, new BasicTextHttpResponseHandler() {
            @Override
            public void onSuccessPerfect(int statusCode, Header[] headers, JSONObject jsonObject) throws Exception {
                if (jsonObject.optInt("code") == 0) {
                    boolean isClose = jsonObject.optJSONObject("data").optBoolean("canClose");
                    String content = jsonObject.optJSONObject("data").optString("content");
                    final String contentUrl = jsonObject.optJSONObject("data").optString("contentUrl");
                    final String md5 = jsonObject.optJSONObject("data").optString("md5");
                    tv_notice_content.setText(content);
                    final SharedPreferences sp = getSharedPreferences("notice", Context.MODE_PRIVATE);
                    if (!sp.getBoolean(md5, false)) {//false 展示,true不展示
                        ll_notice.setVisibility(View.VISIBLE);
                    } else {
                        ll_notice.setVisibility(View.GONE);
                    }
                    if (isClose) {
                        iv_close.setImageDrawable(getResources().getDrawable(R.drawable.ic_notice_close));
                        iv_close.setOnClickListener(new View.OnClickListener() {
                            @Override
                            public void onClick(View v) {
                                ll_notice.setVisibility(View.GONE);
                                SharedPreferences.Editor editor = sp.edit();
                                editor.putBoolean(md5, true);
                                editor.commit();
                            }
                        });
                    } else {
                        iv_close.setImageDrawable(getResources().getDrawable(R.drawable.ic_notice_input));
                    }
                    ll_notice.setOnClickListener(new View.OnClickListener() {
                        @Override
                        public void onClick(View v) {
                            Intent intent = new Intent(GoodsDetailActivity.this, ShareBrowserActivity.class);
                            intent.putExtra("url", contentUrl);
                            startActivity(intent);
                        }
                    });
                }
            }
            @Override
            public void onFinish() {
                super.onFinish();
                if (!isQuestDetail && avLoadingIndicatorView.isShown()) {
                    avLoadingIndicatorView.hide();
                }
            }
        });
    }
    GoodsDetail mInfo;
    boolean isNative = true;
    TbPidInfo tInfo;
    List<CouponUser> couponUsers;
    List<ShareUser> sList;
    ShareExampleAdapter shareAdapter;
    //    ProgressDialog pd;
    String from;
    String noRebateHelpLink;
    boolean isQuestDetail;
    private void getGoodsDetail() {
        isQuestDetail = true;
        String uid = getSharedPreferences("user", MODE_PRIVATE).getString("uid", "0");
        ShoppingApi.getGoodsInfoTB(this, goodsId, uid, from, new BasicTextHttpResponseHandler() {
            @Override
            public void onSuccessPerfect(int statusCode, Header[] headers, JSONObject jsonObject) throws Exception {
//                findViewById(R.id.fl_face).setVisibility(View.GONE);
//                findViewById(R.id.ll_goods_nothing).setVisibility(View.GONE);
//                fl_content.setVisibility(View.VISIBLE);
                if (jsonObject.optString("code").equalsIgnoreCase("0")) {
                    FrameLayout.LayoutParams params = new FrameLayout.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.MATCH_PARENT);
                    params.bottomMargin = DimenUtils.dip2px(GoodsDetailActivity.this, 50);
                    lv_goods_pic.setLayoutParams(params);
                    Gson gson = new GsonBuilder().serializeNulls().create();
                    mInfo = gson.fromJson(jsonObject.optJSONObject("data").toString(), GoodsDetail.class);
                    getGoodsRecommend();
                    h5Url = mInfo.getExtra().getH5Url();//产品h5 链接
                    couponUsers = mInfo.getExtra().getListCouponUser();
                    sList = mInfo.getExtra().getListShareUser();
                    noRebateHelpLink = mInfo.getExtra().getShare().getHelpLink();
                    if (mInfo.getGoods() != null && mInfo.getGoods().getLabels() != null && mInfo.getGoods().getLabels().size() > 0) {
                        SetLabels.addLabel(GoodsDetailActivity.this, ll_labels, mInfo.getGoods().getLabels());
                        ll_labels.setVisibility(View.VISIBLE);
                    } else {
                        ll_labels.setVisibility(View.GONE);
                    }
                    if (sList.size() <= 0) {
                        lv_share_des.setVisibility(View.GONE);
                    } else {
                        lv_share_des.setVisibility(View.VISIBLE);
                    }
                    shareAdapter = new ShareExampleAdapter(sList);
                    lv_share_des.setAdapter(shareAdapter);
                    if (timer != null) {
                        timer.cancel();
                        timer = null;
                        index = 1;
                    }
                    startTimer(sList.size());
                    goodsTaoBaoId = mInfo.getGoods().getGoodsId();
                    isCollect = mInfo.getExtra().isCollected();
                    if (couponUsers != null && couponUsers.size() > 0) {
                        inAnima.setInterpolator(new DecelerateInterpolator());
                        ll_notification.setAnimation(inAnima);
                        ll_notification.startAnimation(inAnima);
                    }
                    ImageUtil.showImageFace(GoodsDetailActivity.this, mInfo.getGoods().getTitle(), mInfo.getGoods().getShopType(), tv_goods_des);
                    tv_goods_price_before.setText(mInfo.getGoods().getPriceName() + "  ¥" + mInfo.getGoods().getZkPrice());
                    webView.loadUrl(mInfo.getExtra().getDetailUrl());
                    tv_sales_num.setText("月销 " + mInfo.getGoods().getSalesCount());
                    tv_rebate_num.setText(" 返" + mInfo.getGoods().getMoneyInfo().getFanliMoney());
                    tv_share_money_num.setText(mInfo.getGoods().getMoneyInfo().getShareMoney());
                    //设置比例信息
                    if (!StringUtils.isEmpty(mInfo.getGoods().getMoneyInfo().getRateInfo())) {
                        tv_rate.setVisibility(View.VISIBLE);
                        tv_rate.setText(mInfo.getGoods().getMoneyInfo().getRateInfo());
                    } else {
                        tv_rate.setVisibility(View.GONE);
                    }
                    if (!StringUtils.isEmpty(mInfo.getGoods().getMoneyInfo().getRateInfoHelpUrl())) {
                        iv_rate.setVisibility(View.VISIBLE);
                    } else {
                        iv_rate.setVisibility(View.GONE);
                    }
                    //设置推荐信息
                    if (StringUtils.isEmpty(mInfo.getGoods().getDescription())) {
                        ll_recommend.setVisibility(View.GONE);
                    } else {
                        ll_recommend.setVisibility(View.VISIBLE);
                        tv_recommend.setText(mInfo.getGoods().getDescription());
                    }
                    //设置补贴信息
                    if (!StringUtils.isBlank(mInfo.getGoods().getMoneyInfo().getCompositionInfo())) {
                        tv_fanli_composition.setText(mInfo.getGoods().getMoneyInfo().getCompositionInfo());
                    }
                    Glide.with(GoodsDetailActivity.this).load(mInfo.getGoods().getShopInfo().getShopIcon())
                            .placeholder(R.drawable.ic_goods_default)
                            .error(R.drawable.ic_goods_default)
                            .transform(new GlideRoundTransform(GoodsDetailActivity.this,
                                    5)).into(iv_shop_img);
                    tv_shop_name.setText(mInfo.getGoods().getShopInfo().getShopName());
                    iv_shop_type.setImageDrawable(mInfo.getGoods().getShopInfo().getUserType() == 0 ?
                            getResources().getDrawable(R.drawable.ic_shop_type_taobao) :
                            getResources().getDrawable(R.drawable.ic_shop_type_tmall));
                    tv_shop_des.setText("宝贝描述: " + mInfo.getGoods().getShopInfo().getScoreGoods());
                    tv_shop_service.setText("卖家服务: " + mInfo.getGoods().getShopInfo().getScoreSeller());
                    tv_shop_logistics.setText("物流服务: " + mInfo.getGoods().getShopInfo().getScoreLogistics());
                    tv_shop_des_grade.setText(mInfo.getGoods().getShopInfo().getScoreGoodsD() == 0 ? "平" :
                            mInfo.getGoods().getShopInfo().getScoreGoodsD() == 1 ? "高" : "低");
                    tv_shop_service_grade.setText(mInfo.getGoods().getShopInfo().getScoreSellerD() == 0 ? "平" :
                            mInfo.getGoods().getShopInfo().getScoreSellerD() == 1 ? "高" : "低");
                    tv_shop_logistics_grade.setText(mInfo.getGoods().getShopInfo().getScoreLogisticsD() == 0 ? "平" :
                            mInfo.getGoods().getShopInfo().getScoreLogisticsD() == 1 ? "高" : "低");
                    if (mInfo.getGoods().getOtherInfo().getRewardCoupon() != null) {
                        tv_reward_money.setText(mInfo.getGoods().getOtherInfo().getRewardCoupon().getMaxMoney());
                        tv_reward_hint.setText(mInfo.getGoods().getOtherInfo().getRewardCoupon().getDesc());
                    }
                    if (mInfo.getExtra().isCollected()) {
                        setCollectionData(true);
                    } else {
                        setCollectionData(false);
                    }
                    if (mInfo.getGoods().isHasCoupon()) {
                        if (mInfo.getGoods().getCouponInfoList() == null) {
                            List<CouponInfo> couponInfoList = new ArrayList<>();
                            couponInfoList.add(mInfo.getGoods().getCouponInfo());
                            mInfo.getGoods().setCouponInfoList(couponInfoList);
                        }
                        if (mInfo.getGoods().getCouponInfoList().size() > 3)
                            initCouponInfo(mInfo.getGoods().getCouponInfoList().subList(0, 3));
                        else
                            initCouponInfo(mInfo.getGoods().getCouponInfoList());
                        if (StringUtils.isEmpty(mInfo.getGoods().getCouponInfo().getToken())) {
                            ll_command_copy.setVisibility(View.GONE);
                        } else {
                            ll_command_copy.setVisibility(View.VISIBLE);
                            tv_command_num.setText(mInfo.getGoods().getCouponInfo().getToken());
                        }
                        tv_buy.setText(mInfo.getGoods().getMoneyInfo().getFanliMoney());
                        tv_coupon_num.setText("¥ " + mInfo.getGoods().getCouponInfo().getAmount());
                        String couponDate = StringUtils.isEmpty(mInfo.getGoods().getCouponInfo().getStartTime()) ? "" :
                                mInfo.getGoods().getCouponInfo().getStartTime() + "-" + mInfo.getGoods().getCouponInfo().getEndTime();
                        tv_coupon_date.setText("使用期限:" + couponDate);
                        tv_goods_price_coupon.setText(mInfo.getGoods().getCouponPrice());
//                        NewbieGuide.with(GoodsDetailActivity.this)
//                                .setLabel("guideDetail")
////                                .alwaysShow(true)//总是显示,调试时可以打开
//                                .addGuidePage(GuidePage.newInstance()
//                                        .addHighLight(fl_buy, HighLight.Shape.ROUND_RECTANGLE,
//                                                20, 20, null)
//                                        .setLayoutRes(R.layout.item_guide_detail2, R.id.iv_next)
//                                        .setEverywhereCancelable(false)
//                                ).show();
                    } else {
                        ll_command_copy.setVisibility(View.GONE);
                        tv_buy.setText(mInfo.getGoods().getMoneyInfo().getFanliMoney());
                        tv_coupon_show.setVisibility(View.GONE);
                        ll_coupon.setVisibility(View.GONE);
                        tv_goods_price_coupon.setText(mInfo.getGoods().getZkPrice());
                    }
                    //发货地设置
                    if (!StringUtils.isBlank(mInfo.getGoods().getProvCity())) {
                        ll_address.setVisibility(View.VISIBLE);
                        tv_address.setText(mInfo.getGoods().getProvCity());
                    }
                    //一键发单设置
                    GoodsDetailUtil.initSendOrderView(GoodsDetailActivity.this, mInfo.getExtra());
                    fl_buy.setVisibility(mInfo.getExtra().isFanliValid() ? View.VISIBLE : View.GONE);
                    tv_rebate_num.setVisibility(mInfo.getExtra().isFanliValid() ? View.VISIBLE : View.GONE);
                    Log.i("mResult", "isLike的值为" + mInfo.getGoods().getGoodsId());
                    picNum = mInfo.getGoods().getImgList().size();
                    tv_currunt_page.setText("1/" + picNum);
                    mBanners.clear();
                    mBanners.addAll(mInfo.getGoods().getImgList());
                    bannerAdapter.notifyDataSetChanged();
                    vp_goods_detail.setCurrentItem(0);
                    isNative = mInfo.getExtra().isNative();
                    setMianDanData();
                    initShareAndBuyBtn(mInfo.getExtra().isShareValid(), mInfo.getExtra().isFanliValid());
                    requestState(0);
                } else if (jsonObject.optString("code").equalsIgnoreCase("2")) {
                    fl_content.setVisibility(View.GONE);
                    findViewById(R.id.ll_goods_nothing).setVisibility(View.VISIBLE);
                    findViewById(R.id.fl_face).setVisibility(View.VISIBLE);
                }
            }
            @Override
            public void onFailure(int statusCode, Header[] headers, String responseString, Throwable throwable) {
                super.onFailure(statusCode, headers, responseString, throwable);
                if (NetUtils.getNetworkState(GoodsDetailActivity.this).equalsIgnoreCase(NetUtils.NETWORK_NONE)) {
                    requestState(3);
                } else {
                    requestState(2);
                    if (mInfo == null) {
                        Toast.makeText(GoodsDetailActivity.this, "获取商品详情失败,请稍后再试", Toast.LENGTH_SHORT).show();
                        GoodsDetailActivity.this.finish();
                    }
                }
            }
            @Override
            public void onFinish() {
                super.onFinish();
                Log.e("mResult", "goodsdetail---onFinish()");
                lv_goods_pic.scrollTo(0, 0);
                avLoadingIndicatorView.hide();
                findViewById(R.id.fl_face).setVisibility(View.GONE);
                fl_content.setVisibility(View.VISIBLE);
            }
        });
    }
    Timer timer;
    /**
     * 启动分享提示栏timer
     */
    private void startTimer(final int length) {
        timer = new Timer();
        timer.schedule(new TimerTask() {
            @Override
            public void run() {
                if (index <= length) {
                    lv_share_des.smoothScrollBy(DimenUtils.dip2px(GoodsDetailActivity.this, 62), 1000);
                    index++;
                } else {
                    index = 1;
                    handler.sendEmptyMessage(2);
                }
            }
        }, 2000, 3000);
    }
    private void getGoodsRecommend() {
        ShoppingApi.getGuessAndRecommend(this, goodsId, mInfo.getGoods().getGoodsType() + "", new BasicTextHttpResponseHandler() {
            @Override
            public void onSuccessPerfect(int statusCode, Header[] headers, JSONObject jsonObject) throws Exception {
                if (jsonObject.optString("code").equalsIgnoreCase("0")) {
                    gList.clear();
                    Gson gson = new GsonBuilder().serializeNulls().create();
                    List<TaoBaoGoodsBrief> list1 = gson.fromJson(
                            jsonObject.optJSONObject("data").optJSONArray("listGuess").toString(),
                            new TypeToken<List<TaoBaoGoodsBrief>>() {
                            }.getType());
                    List<TaoBaoGoodsBrief> list2 = gson.fromJson(
                            jsonObject.optJSONObject("data").optJSONArray("listQuality").toString(),
                            new TypeToken<List<TaoBaoGoodsBrief>>() {
                            }.getType());
                    if (list1 != null && list1.size() > 0) {
                        gList.addAll(list1);
                        gAdapter.notifyDataSetChanged();
                    }
                    if (list2 != null && list2.size() > 0) {
                        rList.addAll(list2);
                        rAdapter.notifyDataSetChanged();
                    }
                    if (gList.size() == 0) {
                        findViewById(R.id.fl_top_title3).setVisibility(View.GONE);
                        ll_guess_like.setVisibility(View.GONE);
                    }
                    if (rList.size() == 0) {
                        findViewById(R.id.fl_top_title4).setVisibility(View.GONE);
                        findViewById(R.id.ll_relative_goods).setVisibility(View.GONE);
                    }
                }
            }
        });
    }
    JumpTaoBaoDialog dialog;
    boolean isFirst = true;
    List<CouponInfo> couponInfoList = new ArrayList<>();
    GoodsDetailCouponAdapter couponAdapter = null;
    CouponInfo tempCouponInfo;
    MyListView couponListView;
    private void initCouponInfo(List<CouponInfo> couponList) {
        if (couponList != null && couponList.size() > 0) {
            couponInfoList.clear();
            couponInfoList.addAll(couponList);
            if (couponAdapter == null) {
                couponAdapter = new GoodsDetailCouponAdapter(this, couponInfoList, new GoodsDetailCouponAdapter.IRecieveCoupon() {
                    @Override
                    public void recieve(CouponInfo info) {
                        tempCouponInfo = info;
                        recieveCoupon(info);
                    }
                });
            }
            if (couponListView == null) {
                couponListView = new MyListView(this);
                couponListView.setDivider(null);
                couponListView.setDividerHeight(DimenUtils.dip2px(this, 3));
                ll_coupon_container.removeAllViews();
                ViewGroup.LayoutParams params = new ViewGroup.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.WRAP_CONTENT);
                couponListView.setLayoutParams(params);
                ll_coupon_container.addView(couponListView, params);
                final LinearLayout footerView = new LinearLayout(this);
                footerView.setGravity(Gravity.CENTER_HORIZONTAL | Gravity.CENTER_VERTICAL);
                footerView.setLayoutParams(new AbsListView.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.WRAP_CONTENT));
                TextView textView = new TextView(this);
                textView.setText("点击查看更多 ");
                textView.setTextSize(11);
                textView.setTextColor(Color.rgb(102, 102, 102));
                footerView.addView(textView);
                footerView.setBackground(null);
                ImageView imageView = new ImageView(this);
                imageView.setImageResource(R.drawable.ic_arrow_down);
                footerView.addView(imageView);
                footerView.setOnClickListener(new View.OnClickListener() {
                    @Override
                    public void onClick(View v) {
                        initCouponInfo(mInfo.getGoods().getCouponInfoList());
                        couponListView.removeFooterView(footerView);
                    }
                });
                if (mInfo.getGoods().getCouponInfoList() != null && mInfo.getGoods().getCouponInfoList().size() > 3)
                    couponListView.addFooterView(footerView);
                couponListView.setAdapter(couponAdapter);
            }
            couponAdapter.notifyDataSetChanged();
        }
    }
    @Override
    protected void onResume() {
        super.onResume();
        isVisible = true;
        mChangeHelper.registerReceiver();
//        vp_goods_detail.postDelayed(mAutoScroller, 5000);
        SharedPreferences sp = getSharedPreferences("user", MODE_PRIVATE);
        boolean isLogin = sp.getBoolean("isLogin", false);
        //VIP不在展示超级会员
        UserInfo user = UserUtil.getUserInfo(this);
        if (user != null && user.isVip()) {
            ll_reward_coupon.setVisibility(View.GONE);
        } else
            ll_reward_coupon.setVisibility(View.VISIBLE);
        setMianDanData();
        if (isLogin) {
            if (isClick == 1 && !isTBStartBind) {
                if (isFirst) {
                    getTaoBaoH5AuthInfo("zigou");
                } else {
                    getTaoBaoH5AuthInfo2("zigou");
                }
            } else if (isClick == 2 && !isTBStartBind) {
                if (mInfo != null) {
                    if (isFirst) {
                        getTaoBaoH5AuthInfo("share");
                    } else {
                        getTaoBaoH5AuthInfo2("share");
                        isClick = 0;
                    }
                } else {
                    Toast.makeText(GoodsDetailActivity.this, "暂未获取到分享返利,请稍等", Toast.LENGTH_LONG).show();
                    isClick = 0;
                }
            } else if (isClick == 3) {
                if (isCollect) {
                    setCollectionData(true);
                } else {
                    collection();
                }
                isClick = 0;
            } else if (isClick == 4) {
                if (AlibcLogin.getInstance().isLogin()) {
                    isClick = 0;
                    startActivity(new Intent(GoodsDetailActivity.this, ShoppingTrolleyActivity.class));
                }
//            else {
//                tbLogin();
//            }
            } else if (isClick == 5) {
                isClick = 0;
                startActivity(new Intent(GoodsDetailActivity.this, Collect28Activity.class));
            } else if (isClick == 7) {
                sendOrder();
                isClick = 0;
            } else if (isClick == 8) {//复制淘口令
                commandCopy();
                isClick = 0;
            } else if (isClick == 9) {//跳转奖励券获取
                jumpDetail();
                isClick = 0;
            }
        }
    }
    @Override
    protected void onPause() {
        super.onPause();
        isVisible = false;
        mChangeHelper.unregisterReceiver();
        timer();
    }
    String clickUrl = "";
    String couponUrl = "";
    private String h5Url = "";//产品链接
    int type = 0;
    /**
     * 获取PID 信息
     */
    private void getTBLinkInfo(String uid) {
        if (pd == null)
            pd = new ShapeLoadingDialog.Builder(this).build();
        if (!pd.isShowing())
            pd.show();
        ShoppingApi.getTBLinkInfo(this, uid, goodsId, "goodsDetail", from, new BasicTextHttpResponseHandler() {
            @Override
            public void onSuccessPerfect(int statusCode, Header[] headers, JSONObject jsonObject) throws Exception {
                if (jsonObject.optString("code").equalsIgnoreCase("0")) {
                    Gson gson = new GsonBuilder().serializeNulls().create();
                    isNative = jsonObject.optJSONObject("data").optBoolean("native");
                    type = Integer.parseInt(jsonObject.optJSONObject("data").optString("type"));
                    if (jsonObject.optJSONObject("data").optJSONObject("tbPidInfo") != null)
                        tInfo = gson.fromJson(jsonObject.optJSONObject("data").optJSONObject("tbPidInfo").toString(), TbPidInfo.class);
                    JSONObject object = jsonObject.optJSONObject("data").optJSONObject("link");
                    if (object != null) {
                        clickUrl = object.optString("clickUrl");
                        couponUrl = object.optString("couponUrl");
                    }
                    Log.e("mResult", "getTBLinkInfo():type---" + type + "---isLogin---" + AlibcLogin.getInstance().isLogin());
                    if ((!StringUtils.isEmpty(from)) && from.equalsIgnoreCase("miandan")) {
                        getGoodsMianDanCouponList();
                    } else {
                        goBuy();
                        pd.dismiss();
                    }
                }
            }
            @Override
            public void onFailure(int statusCode, Header[] headers, String jsonObject, Throwable e) {
                super.onFailure(statusCode, headers, jsonObject, e);
                pd.dismiss();
            }
        });
    }
    private boolean isCollect = false;
    private int isClick = 0;
    private boolean isSpread = false;//图文是否展开
    List<TaoBaoGoodsBrief> gList = new ArrayList<>();
    RelativeGoodsAdapter gAdapter;
    List<TaoBaoGoodsBrief> rList = new ArrayList<>();
    RelativeGoodsAdapter rAdapter;
    long lastShareTimeClick = 0;
    long lastBuyTimeClick = 0;
    //是否为复制链接按钮
    boolean copyLink = false;
    //开始分享
    private void startShare(boolean isLogin) {
        if (mInfo == null || mInfo.getGoods() == null)
            return;
        long cTime = System.currentTimeMillis();
        if (cTime - lastShareTimeClick < 500) {
            lastShareTimeClick = cTime;
            return;
        }
        lastShareTimeClick = cTime;
        isTBStartBind = false;
        GoodsCustomEvent.goodsDetailShare(GoodsDetailActivity.this);
        if (isLogin) {
            if (mInfo != null) {
                getTaoBaoH5AuthInfo("share");
            } else {
                Toast.makeText(GoodsDetailActivity.this, "暂未获取到分享返利,请稍等", Toast.LENGTH_LONG).show();
            }
        } else {
            isClick = 2;
            Toast.makeText(GoodsDetailActivity.this, "请先登录板栗快省账号", Toast.LENGTH_LONG).show();
            Intent intent = new Intent(GoodsDetailActivity.this, LoginSelectActivity.class);
            intent.putExtra("from", "淘宝");
            startActivity(intent);
        }
    }
    @Override
    public void onClick(View v) {
        int titleHeight = DimenUtils.dip2px(GoodsDetailActivity.this, 48);
        int marginTopHeight = DimenUtils.dip2px(GoodsDetailActivity.this, 8);
        boolean isLogin = getSharedPreferences("user", MODE_PRIVATE).getBoolean("isLogin", false);
        switch (v.getId()) {
            case R.id.iv_back:
                finish();
                break;
            case R.id.iv_top_bar_left1:
                finish();
                break;
            case R.id.iv_share:
            case R.id.iv_top_bar_right:
                if (mTopRightPopupWindow.isShowing()) {
                    mTopRightPopupWindow.dismiss();
                } else {
                    v_cover2.setVisibility(View.VISIBLE);
                    mTopRightPopupWindow.showAsDropDown(iv_share);
                }
                break;
            case R.id.v_cover2:
                mTopRightPopupWindow.dismiss();
                break;
            case R.id.tv_top_title1:
                lv_goods_pic.scrollTo(0, 0);
                setPosition(1);
                break;
            case R.id.tv_top_title2:
                lv_goods_pic.scrollTo(0, ll_goods_detail_transition_top.getHeight() - titleHeight * 2);
                setPosition(2);
                break;
            case R.id.tv_top_title3:
                lv_goods_pic.scrollTo(0, ll_goods_detail_transition_top.getHeight() + webView.getHeight() - titleHeight + marginTopHeight);
                setPosition(3);
                break;
            case R.id.tv_top_title4:
                lv_goods_pic.scrollTo(0, ll_goods_detail_transition_top.getHeight() + webView.getHeight() + ll_guess_like.getHeight() - titleHeight + marginTopHeight);
                setPosition(4);
                break;
            case R.id.ll_add_collect:
                if (!LoginAndInviteStatusUtil.acessNext(getApplicationContext(), UserUtil.getUid(getApplicationContext()) + "", true))
                    return;
                ll_add_collect.setEnabled(false);
                if (mInfo == null) {
//                    SingleToast.showToast(GoodsDetailActivity.this, "没有获取到商品收藏状态,请稍等!");
                    Toast.makeText(GoodsDetailActivity.this, "没有获取到商品收藏状态,请稍等", Toast.LENGTH_SHORT).show();
                    ll_add_collect.setEnabled(true);
                    break;
                }
                if (isLogin) {
                    collection();
                } else {
                    ll_add_collect.setEnabled(true);
                    isClick = 3;
                    Intent intent = new Intent(GoodsDetailActivity.this, LoginSelectActivity.class);
                    intent.putExtra("from", "淘宝");
                    startActivity(intent);
                    Toast.makeText(GoodsDetailActivity.this, "请先登录板栗快省账号", Toast.LENGTH_SHORT).show();
                }
                break;
            case R.id.ll_copy_link:
                if (!LoginAndInviteStatusUtil.acessNext(getApplicationContext(), UserUtil.getUid(getApplicationContext()) + "", true))
                    return;
                copyLink = true;
                startShare(isLogin);
                break;
            //分享奖金
            case R.id.ll_share_gain:
                if (!LoginAndInviteStatusUtil.acessNext(getApplicationContext(), UserUtil.getUid(getApplicationContext()) + "", true))
                    return;
                copyLink = false;
                startShare(isLogin);
                break;
            //领券
            case R.id.fl_receive_coupon:
                if (mInfo == null || mInfo.getGoods() == null)
                    return;
                long cTime1 = System.currentTimeMillis();
                if (cTime1 - lastBuyTimeClick < 500) {
                    lastBuyTimeClick = cTime1;
                    break;
                }
                lastBuyTimeClick = cTime1;
                GoodsCustomEvent.goodsDetailCouponClick(this);
                break;
            case R.id.tv_big_btn:
            case R.id.fl_buy:
                if (!LoginAndInviteStatusUtil.acessNext(getApplicationContext(), UserUtil.getUid(getApplicationContext()) + "", true))
                    return;
                if (mInfo == null || mInfo.getGoods() == null)
                    return;
                long cTime2 = System.currentTimeMillis();
                if (cTime2 - lastBuyTimeClick < 500) {
                    lastBuyTimeClick = cTime2;
                    break;
                }
                lastBuyTimeClick = cTime2;
                GoodsCustomEvent.goodsDetailBuyCommon(this);
                buyOrGainCoupon(isLogin);
                break;
            case R.id.fl_back_face:
                finish();
                break;
            case R.id.tv_net_setting:
                startActivity(new Intent(Settings.ACTION_SETTINGS));
                break;
            case R.id.tv_refresh:
                startActivity(new Intent(Settings.ACTION_SETTINGS));
                break;
            //查看宝贝详情
            case R.id.fl_goods_detail:
                if (mInfo == null || mInfo.getGoods() == null)
                    return;
                if (isSpread) {
                    webView.setVisibility(View.GONE);
//                    ll_imgs.removeAllViews();
                    iv_imgtext_status.setImageDrawable(getResources().getDrawable(R.drawable.ic_detail_img_close));
                } else {
                    webView.setVisibility(View.VISIBLE);
                    iv_imgtext_status.setImageDrawable(getResources().getDrawable(R.drawable.ic_detail_img_open));
//                    getImgText();
                }
                isSpread = !isSpread;
                break;
            case R.id.tv_shop_see:
                if (mInfo == null || mInfo.getGoods() == null)
                    return;
                GoodsCustomEvent.goodsDetailShopDetail(GoodsDetailActivity.this);
                if (mInfo != null && (!StringUtils.isEmpty(mInfo.getGoods().getShopInfo().getShopLink()))) {
                    Intent intent = new Intent(GoodsDetailActivity.this, ShareBrowserActivity.class);
                    intent.putExtra("url", mInfo.getGoods().getShopInfo().getShopLink());
                    intent.putExtra("title", mInfo.getGoods().getShopInfo().getShopName());
                    startActivity(intent);
                }
                PushEventData info = new PushEventData();
                info.setShopUrl(mInfo.getGoods().getShopInfo().getShopLink());
                Gson gson = new GsonBuilder().serializeNulls().create();
                String data = gson.toJson(info);
                GoldPushEventRequest.request(GoodsDetailActivity.this, "inShop", data);
                break;
            case R.id.fl_command_copy:
                if (isLogin)
                    commandCopy();
                else
                    commandCopyHint();
                break;
            case R.id.iv_footermark:
                startActivity(new Intent(GoodsDetailActivity.this, MyFootmarkActivity.class));
                break;
            case R.id.ll_same:
                if (mInfo == null || mInfo.getGoods() == null)
                    return;
                Intent intent = new Intent(this, SearchResultActivity.class);
                intent.putExtra("content", mInfo.getGoods().getTitle());
                startActivity(intent);
                break;
        }
    }
    private void jumpDetail() {
        Intent intent;
        if ((!StringUtils.isEmpty(mInfo.getGoods().getOtherInfo().getRewardCoupon().getJumpDetail().getActivity()))) {
            try {
                intent = new Intent(this, Class.forName(mInfo.getGoods().getOtherInfo().getRewardCoupon().getJumpDetail().getActivity()));
            } catch (Exception e) {
                e.printStackTrace();
                return;
            }
            if (mInfo.getGoods().getOtherInfo().getRewardCoupon().getParams() != null) {
                @SuppressWarnings("unchecked")
                Iterator<String> its = mInfo.getGoods().getOtherInfo().getRewardCoupon().getParams().keySet().iterator();
                while (its.hasNext()) {
                    String key = its.next();
                    String value = mInfo.getGoods().getOtherInfo().getRewardCoupon().getParams().getString(key);
                    intent.putExtra(key, value);
                }
            }
            startActivity(intent);
        }
    }
    /*
     *领券提示
     */
    private void receiveCouponHint(final String couponUrl) {
        final SharedPreferences sp = getSharedPreferences("user", MODE_PRIVATE);
        boolean receiveCouponHint = sp.getBoolean("receiveCouponHint", true);
        if (!receiveCouponHint) {
            receiveCoupon(couponUrl);
        } else {
            ReceiveCouponHintDialog.Builder builder = new ReceiveCouponHintDialog.Builder(GoodsDetailActivity.this);
            builder.setMessage("未登录无返利,确定免费领券?").setTitle("温馨提示")
                    .setPositiveButton("去领券", new DialogInterface.OnClickListener() {
                        @Override
                        public void onClick(DialogInterface cDialog, int which) {
                            cDialog.dismiss();
                            SharedPreferences.Editor editor = sp.edit();
                            editor.putBoolean("receiveCouponHint", false);
                            editor.commit();
                            receiveCoupon(couponUrl);
                        }
                    })
                    .setNegativeButton("去登录", new DialogInterface.OnClickListener() {
                        @Override
                        public void onClick(DialogInterface dialog, int which) {
                            Intent intent = new Intent(GoodsDetailActivity.this, LoginSelectActivity.class);
                            intent.putExtra("from", "淘宝");
                            startActivity(intent);
                            isClick = 1;
                            dialog.dismiss();
                        }
                    }).create().show();
        }
    }
    private void receiveCoupon(String couponUrl) {
        if (ApkUtil.checkAPP(GoodsDetailActivity.this, "com.taobao.taobao")) {
            alibcShowParams = new AlibcShowParams();
            alibcShowParams.setOpenType(OpenType.Native);
        } else {
            alibcShowParams = new AlibcShowParams();
            alibcShowParams.setOpenType(OpenType.Auto);
        }
        alibcTaokeParams = new AlibcTaokeParams("", "", "");
        alibcTaokeParams.setPid(BuXinConstant.BAICHUAN_PID);
        alibcTaokeParams.setAdzoneid(BuXinConstant.BAICHUAN_ADZONE_ID);
        alibcTaokeParams.pid = BuXinConstant.BAICHUAN_PID;
        alibcTaokeParams.adzoneid = BuXinConstant.BAICHUAN_ADZONE_ID;
        alibcTaokeParams.extraParams = new HashMap<>();
        alibcTaokeParams.extraParams.put("taokeAppkey", BuXinConstant.TAO_BAO_KE_KEY);
        exParams = new HashMap<>();
        exParams.put(AlibcConstants.ISV_CODE, "appisvcode");
        exParams.put("alibaba", "阿里巴巴");//自定义参数部分,可任意增删改
        if (!StringUtils.isEmpty(couponUrl)) {
            jumpWeb(couponUrl);
        } else {
            AlibcDetailPage basePage = new AlibcDetailPage(goodsId);
            jumpNative(basePage);
        }
        boolean isLogin = getSharedPreferences("user", MODE_PRIVATE)
                .getBoolean("isLogin", false);
        String msg = "购买后有返利,分享后有奖金";
        if (!isLogin) {
            msg = "未登录,无返利";
        }
        if (dialog == null) {
            JumpTaoBaoDialog.Builder builder1 = new JumpTaoBaoDialog.Builder(GoodsDetailActivity.this);
            builder1.setMessage(msg);
            builder1.setPlatform(1);
            dialog = builder1.create();
        } else {
            if (dialog != null && dialog.isShowing())
                dialog.dismiss();
        }
        dialog.show();
        isClick = 0;
        timer();//5秒超时关闭 弹窗
    }
    private void recieveCoupon(CouponInfo couponInfo) {
        if (couponInfo == null)
            return;
        boolean isLogin = getSharedPreferences("user", MODE_PRIVATE)
                .getBoolean("isLogin", false);
        if (!isLogin) {
            receiveCouponHint(couponInfo.getLink());
        } else {
            if (!LoginAndInviteStatusUtil.acessNext(getApplicationContext(), UserUtil.getUid(getApplicationContext()) + "", true))
                return;
            if (couponInfo.isShopCoupon()) {
                receiveCoupon(couponInfo.getLink());
            } else
                buyOrGainCoupon(isLogin);
        }
    }
    /*
     *领券提示
     */
    private void commandCopyHint() {
        final SharedPreferences sp = getSharedPreferences("user", MODE_PRIVATE);
        boolean commandHint = sp.getBoolean("receiveCouponHint", true);
        if (!commandHint) {
            commandCopy();
        } else {
            ReceiveCouponHintDialog.Builder builder = new ReceiveCouponHintDialog.Builder(GoodsDetailActivity.this);
            builder.setMessage("未登录无返利,确定免费领券?").setTitle("温馨提示")
                    .setPositiveButton("去领券", new DialogInterface.OnClickListener() {
                        @Override
                        public void onClick(DialogInterface cDialog, int which) {
                            cDialog.dismiss();
                            SharedPreferences.Editor editor = sp.edit();
                            editor.putBoolean("receiveCouponHint", false);
                            editor.commit();
                            commandCopy();
                        }
                    })
                    .setNegativeButton("去登录", new DialogInterface.OnClickListener() {
                        @Override
                        public void onClick(DialogInterface dialog, int which) {
                            Intent intent = new Intent(GoodsDetailActivity.this, LoginSelectActivity.class);
                            intent.putExtra("from", "淘宝");
                            startActivity(intent);
                            dialog.dismiss();
                            isClick = 8;
                        }
                    }).create().show();
        }
    }
    private void commandCopy() {
        ClipboardUtil.copy(getApplicationContext(), mInfo.getGoods().getCouponInfo().getToken());
        Toast.makeText(GoodsDetailActivity.this, "淘口令复制成功",
                Toast.LENGTH_SHORT).show();
    }
    private void setPosition(int position) {
        tv_top_title1.setTextColor(position == 1 ? getResources().getColor(R.color.main_text_color) : getResources().getColor(R.color.black2));
        tv_top_title1.setTypeface(position == 1 ? Typeface.defaultFromStyle(Typeface.BOLD) : Typeface.defaultFromStyle(Typeface.NORMAL));
        v_1.setVisibility(position == 1 ? View.VISIBLE : View.GONE);
        tv_top_title2.setTextColor(position == 2 ? getResources().getColor(R.color.main_text_color) : getResources().getColor(R.color.black2));
        tv_top_title2.setTypeface(position == 2 ? Typeface.defaultFromStyle(Typeface.BOLD) : Typeface.defaultFromStyle(Typeface.NORMAL));
        v_2.setVisibility(position == 2 ? View.VISIBLE : View.GONE);
        tv_top_title3.setTextColor(position == 3 ? getResources().getColor(R.color.main_text_color) : getResources().getColor(R.color.black2));
        tv_top_title3.setTypeface(position == 3 ? Typeface.defaultFromStyle(Typeface.BOLD) : Typeface.defaultFromStyle(Typeface.NORMAL));
        v_3.setVisibility(position == 3 ? View.VISIBLE : View.GONE);
        tv_top_title4.setTextColor(position == 4 ? getResources().getColor(R.color.main_text_color) : getResources().getColor(R.color.black2));
        tv_top_title4.setTypeface(position == 4 ? Typeface.defaultFromStyle(Typeface.BOLD) : Typeface.defaultFromStyle(Typeface.NORMAL));
        v_4.setVisibility(position == 4 ? View.VISIBLE : View.GONE);
    }
    private void buyOrGainCoupon(boolean isLogin) {
        isClick = 1;
        isTBStartBind = false;
        if (!isLogin) {
            Toast.makeText(GoodsDetailActivity.this, "请先登录板栗快省账号", Toast.LENGTH_LONG).show();
            Intent intent = new Intent(GoodsDetailActivity.this, LoginSelectActivity.class);
            intent.putExtra("from", "淘宝");
            startActivity(intent);
            return;
        }
//        if (!AlibcLogin.getInstance().isLogin()) {
//            tbLogin();
//            return;
//        }
        getTaoBaoH5AuthInfo("zigou");
//        getTBLinkInfo(getSharedPreferences("user", MODE_PRIVATE).getString("uid", ""));
    }
    private void goBuy() {
        Log.e("mResult", "goBuy():type---" + type);
        Log.e("mResult", "isNative:" + isNative);
        isClick = 0;
        if (mInfo != null && mInfo.getGoods() != null) {
            GoodsCustomEvent.goodsDetailBuyToTaobao(GoodsDetailActivity.this, mInfo.getGoods().getCouponInfo() == null ? "无券" : "有券");
            if (mInfo.getGoods().isHasCoupon()) {
                mInfo.getGoods().getCouponInfo().setToken(couponUrl);
            }
            showGoods();
        }
    }
    /**
     * 打开指定链接
     */
    public void showGoods() {
//        Log.e("mResult", "showGoods():type---" + type);
        if (TextUtils.isEmpty(goodsId)) {
            Toast.makeText(GoodsDetailActivity.this, "暂未获取到商品信息",
                    Toast.LENGTH_SHORT).show();
            return;
        }
        alibcShowParams = new AlibcShowParams();
        if (!isNative) {
            alibcShowParams.setOpenType(OpenType.Auto);
        } else if (ApkUtil.checkAPP(GoodsDetailActivity.this, "com.taobao.taobao")) {
            alibcShowParams.setOpenType(OpenType.Native);
        } else {
            alibcShowParams.setOpenType(OpenType.Auto);
        }
        alibcShowParams.setBackUrl("alisdk://");
        alibcTaokeParams = new AlibcTaokeParams("", "", "");
        if (tInfo != null) {
            alibcTaokeParams = new AlibcTaokeParams("", "", "");
            alibcTaokeParams.setPid(tInfo.getPid());
            alibcTaokeParams.setAdzoneid(tInfo.getAdZoneId());
            alibcTaokeParams.pid = tInfo.getPid();
            alibcTaokeParams.adzoneid = tInfo.getAdZoneId();
            alibcTaokeParams.extraParams = new HashMap<>();
            alibcTaokeParams.extraParams.put("taokeAppkey", tInfo.getAppKey());
        }
        exParams = new HashMap<>();
        exParams.put(AlibcConstants.ISV_CODE, "appisvcode");
        exParams.put("alibaba", "阿里巴巴");//自定义参数部分,可任意增删改
        if (type == 1) {
//            Log.e("mResult", (!StringUtils.isEmpty(couponUrl)) ? couponUrl : clickUrl);
            if (!StringUtils.isEmpty(clickUrl) || !StringUtils.isEmpty(couponUrl)) {
                String url = (!StringUtils.isEmpty(couponUrl)) ? couponUrl : clickUrl;
                jumpWeb(url);
            }
        } else {
            if (!StringUtils.isEmpty(clickUrl) || !StringUtils.isEmpty(couponUrl)) {
                String url = (!StringUtils.isEmpty(couponUrl)) ? couponUrl : clickUrl;
                jumpWeb(url);
            } else {
                Toast.makeText(GoodsDetailActivity.this, "进入详情", Toast.LENGTH_LONG).show();
                AlibcDetailPage basePage = new AlibcDetailPage(goodsId);
//                AlibcTrade.openByBizCode(GoodsDetailActivity.this, basePage, alibcShowParams, alibcTaokeParams, exParams, new MiDuoTradeCallback(""));
                jumpNative(basePage);
            }
        }
        boolean isLogin = getSharedPreferences("user", MODE_PRIVATE)
                .getBoolean("isLogin", false);
        String msg = "购买后有返利,分享后有奖金";
        if (!isLogin) {
            msg = "未登录,无返利";
        }
        if (dialog == null) {
            JumpTaoBaoDialog.Builder builder = new JumpTaoBaoDialog.Builder(GoodsDetailActivity.this);
            builder.setPlatform(1).setMessage(msg);
            dialog = builder.create();
        } else {
            if (dialog != null && dialog.isShowing())
                dialog.dismiss();
        }
        dialog.show();
        isClick = 0;
        timer();//5秒超时关闭 弹窗
    }
    /**
     * 主要是用于 弹窗拉起淘宝弹窗卡死延时关闭 5秒超时
     */
    private void timer() {
        new Thread(new Runnable() {
            public void run() {
                try {
                    Thread.sleep(5000);
                    handler1.sendEmptyMessage(0);
                } catch (InterruptedException e) {
                    e.printStackTrace();
                }
            }
        }).start();
    }
    Handler handler1 = new Handler() {
        @Override
        public void handleMessage(Message msg) {
            super.handleMessage(msg);
            if (dialog != null) {
                if (dialog.isShowing()) {
                    dialog.dismiss();
                } else {
                    dialog.cancel();
                    dialog = null;
                }
            } else {
                dialog = null;
            }
        }
    };
    private void getTaobaoShareLink() {
        final ShapeLoadingDialog pb = new ShapeLoadingDialog.Builder(this).build();
        pb.show();
        Log.e("mResult", "getTaobaoShareLink()");
        String uid = getSharedPreferences("user", MODE_PRIVATE).getString("uid", "0");
        ShoppingApi.createShareLink(this, uid, mInfo.getGoods().getGoodsId(), mInfo.getGoods().getGoodsType() + "", from, null, null, new BasicTextHttpResponseHandler() {
            @Override
            public void onSuccessPerfect(int statusCode, Header[] headers, JSONObject jsonObject) throws Exception {
                if (jsonObject.optString("code").equalsIgnoreCase("0")) {
                    JSONObject data = jsonObject.optJSONObject("data");
                    SingleGoodsShareInfo shareInfo = new Gson().fromJson(data.toString(), SingleGoodsShareInfo.class);
                    shareInfo.setGoodsInfo(mInfo.getGoods());
                    Intent intent = new Intent(GoodsDetailActivity.this, ShareGoodsImageActivity31.class);
                    intent.putExtra("shareInfo", shareInfo);
                    if (copyLink) {
                        ClipboardUtil.copy(getApplicationContext(), shareInfo.getCommentText());
                        Toast.makeText(GoodsDetailActivity.this, "复制成功", Toast.LENGTH_SHORT).show();
                    } else
                        startActivity(intent);
                }
            }
            @Override
            public void onFinish() {
                super.onFinish();
                pb.dismiss();
            }
        });
    }
    /**
     * 添加到收藏
     */
    private void collection() {
        String uid = getSharedPreferences("user", MODE_PRIVATE).getString("uid", "0");
        ShoppingApi.collectionGoods(GoodsDetailActivity.this, goodsId, uid, isCollect ? "2" : "1",
                mInfo.getGoods().getGoodsType() + "", new BasicTextHttpResponseHandler() {
                    @Override
                    public void onSuccessPerfect(int statusCode, Header[] headers, JSONObject jsonObject) throws Exception {
                        if (jsonObject.optString("code").equalsIgnoreCase("0")) {
                            isCollect = !isCollect;
                            if (isCollect) {
                                GoodsCustomEvent.goodsDetailCollect(GoodsDetailActivity.this);
                                setCollectionData(true);
                            } else {
                                GoodsCustomEvent.goodsDetailCollectCancel(GoodsDetailActivity.this);
                                setCollectionData(false);
                            }
//                    SingleToast.showToast(GoodsDetailActivity.this, jsonObject.optString("data"));
                            Toast.makeText(GoodsDetailActivity.this, jsonObject.optString("data"), Toast.LENGTH_SHORT).show();
                        } else {
//                    SingleToast.showToast(GoodsDetailActivity.this, jsonObject.optString("msg"));
                            Toast.makeText(GoodsDetailActivity.this, jsonObject.optString("msg"), Toast.LENGTH_SHORT).show();
                        }
                    }
                    @Override
                    public void onFinish() {
                        super.onFinish();
                        ll_add_collect.setEnabled(true);
                    }
                });
    }
    /**
     * 一键发单
     */
    private void sendOrder() {
        GoodsDetailUtil.sendOrder(this, mInfo, goodsId, ll_send_order);
    }
    private boolean isFirstLogin = true;
    private void tbLogin() {
        final AlibcLogin alibcLogin = AlibcLogin.getInstance();
        Log.e("detail", "tbLogin--" + alibcLogin.isLogin());
//        if (!alnibcLogin.isLogin()) {
        isTBStartBind = true;
        alibcLogin.showLogin(new AlibcLoginCallback() {
            @Override
            public void onSuccess(int i, String s, String s1) {
                SharedPreferences sp = getSharedPreferences("user", MODE_PRIVATE);
                SharedPreferences.Editor editor = sp.edit();
                editor.putString("TrolleyTransformationLink", "");
                editor.commit();
//                boolean isLogin = sp.getBoolean("isLogin", false);
//                if (isLogin) {
//                    if (AlibcLogin.getInstance().isLogin()) {
//                        TrolleyTransformationLink transformationLink = new TrolleyTransformationLink(GoodsDetailActivity.this);
//                        transformationLink.getTaoBaoCartConfig("login");
//                    }
//                }
                if (isClick == 4) {
                    startActivity(new Intent(GoodsDetailActivity.this, ShoppingTrolleyActivity.class));
                    isClick = 0;
                }
                bindInfo();
            }
            @Override
            public void onFailure(int code, String msg) {
                if (isFirstLogin) {
                    InitAlibcSdk.init();
                    isFirstLogin = false;
                }
                isTBStartBind = false;
                isClick = 0;
                Toast.makeText(GoodsDetailActivity.this, "登录失败,请稍候再试",
                        Toast.LENGTH_LONG).show();
                MobclickAgent.reportError(GoodsDetailActivity.this, "GoodsDetailActivity---code:" + code + "---msg:" + msg);
            }
        });
//        }
    }
    /**
     * 绑定淘宝账号
     *
     * @param uid
     */
    boolean isTBStartBind = false;
    private void bindInfo() {
        if (isClick == 1 || isClick == 2) {
            Log.e("detail", authLink);
            if (!StringUtils.isEmpty(authLink)) {
                GoodsCustomEvent.goodsDetailTaobaoAuth(GoodsDetailActivity.this, isClick == 1 ? "购买" : "分享");
//                AlibcTrade.openByUrl(GoodsDetailActivity.this, "", authLink, null, new WebViewClient(),
//                        new WebChromeClient(), alibcShowParams, null, null,
//                        new MiDuoTradeCallback(""));
//                AlibcTradeUtil.openByUrl(GoodsDetailActivity.this, authLink, null, new WebViewClient(),
//                        new WebChromeClient(), alibcShowParams, null, null);
                AlibcTradeUtil.openAuthLink(GoodsDetailActivity.this, authLink);
            }
            isFirst = false;
        }
        Log.e("detail", "bindInfo--isClick---" + isClick);
        isTBStartBind = false;
    }
    private void bindInfo2() {
        SharedPreferences sp = getSharedPreferences("user", MODE_PRIVATE);
        String uid = sp.getString("uid", "");
        getTBLinkInfo(uid);
        isTBStartBind = false;
    }
    /**
     * 是否需要淘宝授权
     *
     * @param source
     */
    String authLink;
    String orderJS;
    String orderUrl;
    ShapeLoadingDialog pd;
    private void getTaoBaoH5AuthInfo(final String source) {
        if (pd == null)
            pd = new ShapeLoadingDialog.Builder(this).build();
        if (!pd.isShowing())
            pd.show();
        Log.e("detail", "getTaoBaoH5AuthInfo--" + source);
        String uid = getSharedPreferences("user", MODE_PRIVATE).getString("uid", null);
        ShoppingApi.getTaoBaoAuthInfo(GoodsDetailActivity.this, uid, goodsId, source, true, new BasicTextHttpResponseHandler() {
            @Override
            public void onSuccessPerfect(int statusCode, Header[] headers, JSONObject jsonObject) throws Exception {
                if (jsonObject.optInt("code") == 0) {
                    isClick = source.equalsIgnoreCase("share") ? 2
                            : source.equalsIgnoreCase("zigou") ? 1 : 0;
                    authLink = jsonObject.optJSONObject("data").getString("authLink");
                    orderJS = jsonObject.optJSONObject("data").getString("orderJS");
                    orderUrl = jsonObject.optJSONObject("data").getString("orderUrl");
                    Log.e("detail", "authLink--" + authLink);
                    if (!StringUtils.isEmpty(authLink)) {
                        if (AlibcLogin.getInstance().isLogin()) {
                            bindInfo();
                        } else {
                            tbLogin();
                        }
                    }
                    pd.dismiss();
                } else if (jsonObject.optInt("code") == 1) {
                    if (source.equalsIgnoreCase("share")) {
                        getTaobaoShareLink();
                        pd.dismiss();
                    } else if (source.equalsIgnoreCase("zigou")) {
                        getTBLinkInfo(getSharedPreferences("user", MODE_PRIVATE).getString("uid", ""));
                    }
                } else {
                    pd.dismiss();
                }
            }
            @Override
            public void onFinish() {
                super.onFinish();
                isFirst = false;
            }
            @Override
            public void onFailure(int statusCode, Header[] headers, String responseString, Throwable throwable) {
                super.onFailure(statusCode, headers, responseString, throwable);
//                SingleToast.showToast(GoodsDetailActivity.this, "请求失败");
                pd.dismiss();
                Toast.makeText(GoodsDetailActivity.this, "请求失败", Toast.LENGTH_SHORT).show();
            }
        });
    }
    private void getTaoBaoH5AuthInfo2(final String source) {
        String uid = getSharedPreferences("user", MODE_PRIVATE).getString("uid", null);
        ShoppingApi.getTaoBaoAuthInfo(GoodsDetailActivity.this, uid, goodsId, source, false, new BasicTextHttpResponseHandler() {
            @Override
            public void onSuccessPerfect(int statusCode, Header[] headers, final JSONObject jsonObject) throws Exception {
//                Log.e("mResult", "getTaoBaoH5AuthInfo2:code:" + jsonObject.optInt("code"));
                if (jsonObject.optInt("code") == 1) {
                    if (source.equalsIgnoreCase("share")) {
                        getTaobaoShareLink();
                    } else if (source.equalsIgnoreCase("zigou")) {
//                        Log.e("mResult", "getTaoBaoH5AuthInfo2():isLogin---" + AlibcLogin.getInstance().isLogin());
                        if (AlibcLogin.getInstance().isLogin()) {
                            getTBLinkInfo(getSharedPreferences("user", MODE_PRIVATE).getString("uid", ""));
                        } else {
                            tbBuyLogin();
                        }
                    }
                } else {
//                    Log.e("mResult", "getTaoBaoH5AuthInfo2:" + jsonObject.optString("msg"));
                    runOnUiThread(new Runnable() {
                        @Override
                        public void run() {
                            String msg = jsonObject.optString("msg");
                            if (!StringUtils.isEmpty(msg)) {
//                                SingleToast.showToast(GoodsDetailActivity.this, msg);
                                Toast.makeText(GoodsDetailActivity.this, msg, Toast.LENGTH_SHORT).show();
                            }
                        }
                    });
                }
            }
            @Override
            public void onFinish() {
                super.onFinish();
                if (source.equalsIgnoreCase("share")) {
                    isClick = 0;
                }
                isFirst = true;
            }
        });
    }
    private void tbBuyLogin() {
        isTBStartBind = true;
//        Log.e("mResult", "开始登录");
        AlibcLogin.getInstance().showLogin(new AlibcLoginCallback() {
            @Override
            public void onSuccess(int i, String s, String s1) {
                bindInfo2();
            }
            @Override
            public void onFailure(int i, String s) {
                isClick = 0;
//                Log.e("mResult", "登录失败");
                runOnUiThread(new Runnable() {
                    @Override
                    public void run() {
                        Toast.makeText(GoodsDetailActivity.this, "登录失败,请稍候再试",
                                Toast.LENGTH_LONG).show();
                    }
                });
            }
        });
    }
    class ImageAdapter extends PagerAdapter {
        private List<String> cList;
        public ImageAdapter(List<String> list, Context context) {
            super();
            this.cList = list;
        }
        @Override
        public int getCount() {
            return cList == null ? 0 : cList.size();
        }
        @Override
        public Object instantiateItem(ViewGroup container, final int position) {
            View view = LayoutInflater.from(GoodsDetailActivity.this)
                    .inflate(R.layout.item_goods_detail_top_img, null);
            ImageView iv = view.findViewById(R.id.iv_goods_img);
//            Glide.with(mContext).load(cList.get(position)).error(R.drawable.ic_goods_default).placeholder(R.drawable.ic_goods_default).into(iv);
            ImageLoader.getInstance().displayImage(cList.get(position), iv, options);//暂时注释
            iv.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View v) {
                    GoodsCustomEvent.goodsDetailDetailImgs(GoodsDetailActivity.this);
                    enlargeImage(position, cList);
                }
            });
            container.addView(view);
            return view;
        }
        @Override
        public void destroyItem(ViewGroup container, int position, Object object) {
            container.removeView((View) object);
        }
        @Override
        public boolean isViewFromObject(View view, Object object) {
            return view == object;
        }
        @Override
        public CharSequence getPageTitle(int position) {
            return cList.get(position) + "";
        }
        private void enlargeImage(int position, final List<String> list) {
            ArrayList<String> cList = (ArrayList<String>) list;
            Intent intent = new Intent(GoodsDetailActivity.this, BigImageActivity.class);
            intent.putExtra("position", position);
            intent.putExtra("imgList", new Gson().toJson(ImageShowEntity.create(cList)));
            startActivityForResult(intent, 0);
//            v_cover.setVisibility(View.VISIBLE);
//            //透明动画
//            ObjectAnimator animator = ObjectAnimator.ofFloat(v_cover, "alpha", 0F, 1F);
//            animator.setDuration(150);//400
//            //为动画设置监听
//            animator.addListener(new AnimatorListenerAdapter() {
//                @Override
//                public void onAnimationEnd(Animator animation) {
//                    super.onAnimationEnd(animation);
//                    v_cover.setVisibility(View.GONE);
//                }
//            });
//            animator.start();
        }
    }
    private void setCollectionData(boolean collected) {
        if (collected) {
            iv_like_state.setImageResource(R.drawable.icon_collected);
            tv_like.setText("收藏");
//            tv_like.setTextColor(Color.parseColor("#E5005C"));
        } else {
            iv_like_state.setImageResource(R.drawable.icon_un_collected);
            tv_like.setText("收藏");
            tv_like.setTextColor(Color.parseColor("#333333"));
        }
    }
    /**
     * 请求状态 0 数据正常展示;1 返回数据为空;2 网络请求失败;3 没有连接网络
     *
     * @param state
     */
    private void requestState(int state) {
        fl_content.setVisibility(state == 0 ? View.VISIBLE : View.GONE);
        ll_no_data.setVisibility(state == 1 ? View.VISIBLE : View.GONE);
        ll_request_failture.setVisibility(state == 2 ? View.VISIBLE : View.GONE);
        ll_no_net.setVisibility(state == 3 ? View.VISIBLE : View.GONE);
    }
    class ShareExampleAdapter extends BaseAdapter {
        List<ShareUser> mList;
        public ShareExampleAdapter(List<ShareUser> list) {
            mList = list;
        }
        @Override
        public int getCount() {
            return mList == null ? 0 : mList.size();
        }
        @Override
        public Object getItem(int position) {
            return mList.get(position);
        }
        @Override
        public long getItemId(int position) {
            return position;
        }
        @Override
        public View getView(int position, View view, ViewGroup parent) {
            Holder holder = null;
            if (view == null) {
                holder = new Holder();
                view = LayoutInflater.from(GoodsDetailActivity.this).inflate(R.layout.item_share_example, null);
                holder.iv_portrait = view.findViewById(R.id.iv_portrait);
                holder.tv_name = view.findViewById(R.id.tv_name);
                holder.tv_des = view.findViewById(R.id.tv_des);
                holder.iv_gift_img = view.findViewById(R.id.iv_gift_img);
                view.setTag(holder);
            } else {
                holder = (Holder) view.getTag();
            }
            Glide.with(GoodsDetailActivity.this).load(mList.get(position).getPicUrl()).placeholder(R.drawable.ic_default_portrait_light)
                    .error(R.drawable.ic_default_portrait_light)
                    .transform(new GlideCircleTransform(GoodsDetailActivity.this)).into(holder.iv_portrait);
            Glide.with(GoodsDetailActivity.this).load(mList.get(position).getShareBonusPic()).into(holder.iv_gift_img);
            holder.tv_name.setText(mList.get(position).getName());
            String str = mList.get(position).getMsg();
            int count = str.indexOf("奖金");
            SpannableStringBuilder builder = new SpannableStringBuilder(str);
            builder.setSpan(new ForegroundColorSpan(getResources().getColor(R.color.detail_sharelist_reward_num))
                    , count, str.length(), Spanned.SPAN_EXCLUSIVE_INCLUSIVE);
            holder.tv_des.setText(builder);
            return view;
        }
        class Holder {
            ImageView iv_portrait;
            TextView tv_name;
            TextView tv_des;
            ImageView iv_gift_img;
        }
    }
    private void initPopubWindow(JSONObject jsonObject) {
        final String helpLink = jsonObject.optString("helpLink");
        View customView = getLayoutInflater().inflate(R.layout.item_show_free_single_coupon,
                null, false);
        // 创建PopupWindow实例,200,150分别是宽度和高度
        float height = SystemCommon.getScreenHeight(this);
        final PopupWindow pw_free_single_ticket = new PopupWindow(customView, ViewGroup.LayoutParams.MATCH_PARENT, (int) (height * 0.75), true);
        // 设置动画效果 [R.style.AnimationFade 是自己事先定义好的]
//        pw_filter.setAnimationStyle(R.style.pop_multiple);
        pw_free_single_ticket.setTouchable(true);
        pw_free_single_ticket.setOutsideTouchable(true);
        pw_free_single_ticket.setFocusable(false);
        pw_free_single_ticket.setAnimationStyle(R.style.bottomstyle);
        TextView tv_free_single_coupon_num = customView.findViewById(R.id.tv_free_single_ticket_num);
        LinearLayout ll_no_ticket = customView.findViewById(R.id.ll_no_ticket);
        TextView tv_confirm = customView.findViewById(R.id.tv_confirm);
        RecyclerView rv_free_single_ticket = customView.findViewById(R.id.rv_free_single_ticket);
        TextView tv_limit = new TextView(this);
        FrameLayout.LayoutParams params = new FrameLayout.LayoutParams(FrameLayout.LayoutParams.MATCH_PARENT,
                FrameLayout.LayoutParams.WRAP_CONTENT);
        tv_limit.setLayoutParams(params);
        tv_limit.setTextColor(Color.parseColor(jsonObject.optJSONObject("tip").optString("fontColor")));
        tv_limit.setTextSize(14);
        tv_limit.setGravity(Gravity.CENTER);
        tv_limit.setText(jsonObject.optJSONObject("tip").optString("content"));
        tv_limit.setPadding(0, DimenUtils.dip2px(this, 16), 0, 0);
        tv_free_single_coupon_num.setText("剩余" + jsonObject.optString("count") + "张免单券");
        LinearLayoutManager manager = new LinearLayoutManager(this);
        rv_free_single_ticket.setLayoutManager(manager);
        DividerItemDecoration decoration = new DividerItemDecoration();
        decoration.setSize(DimenUtils.dip2px(this, 8));
        rv_free_single_ticket.addItemDecoration(decoration);
        Gson gson = new GsonBuilder().serializeNulls().create();
        final List<FreeSingleTicket> fList = gson.fromJson(jsonObject.optJSONArray(
                "list").toString(),
                new TypeToken<List<FreeSingleTicket>>() {
                }.getType());
        if (fList == null || fList.size() == 0) {
            rv_free_single_ticket.setVisibility(View.GONE);
            ll_no_ticket.setVisibility(View.VISIBLE);
        } else {
            rv_free_single_ticket.setVisibility(View.VISIBLE);
            ll_no_ticket.setVisibility(View.GONE);
        }
        final FreeSingleTicketAdapter adapter = new FreeSingleTicketAdapter(this, fList, helpLink);
        rv_free_single_ticket.setAdapter(adapter);
        adapter.addHeaderView(tv_limit);
        tv_confirm.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                pw_free_single_ticket.dismiss();
                v_cover1.setVisibility(View.GONE);
                FreeSingleTicket info = null;//选中的免单券
                for (int i = 0; i < adapter.mCBFlag.size(); i++) {
                    if (adapter.mCBFlag.get(i)) {
                        info = fList.get(i);
                    }
                }
                if (info != null) {
                    useFreeSingleTicket(info);
                }
            }
        });
        pw_free_single_ticket.setOnDismissListener(new PopupWindow.OnDismissListener() {
            @Override
            public void onDismiss() {
                v_cover1.setVisibility(View.GONE);
            }
        });
        v_cover1.setOnClickListener(new View.OnClickListener() {//设置背景空点击事件
            @Override
            public void onClick(View v) {
                v_cover1.setVisibility(View.GONE);
            }
        });
        pw_free_single_ticket.showAtLocation(getWindow().getDecorView(), Gravity.BOTTOM, 0, 0);
        v_cover1.setVisibility(View.VISIBLE);
        isClick = 0;
    }
    @Override
    protected void onDestroy() {
        super.onDestroy();
        if (timer != null) {
            timer.cancel();
            timer = null;
        }
        handler1.sendEmptyMessage(0);
        toast_dialog.dialog_dismiss();
    }
    @Override
    protected void onNewIntent(Intent intent) {
        super.onNewIntent(intent);
    }
    @Override
    public void onWbShareCancel() {
        Toast.makeText(this, "分享取消", Toast.LENGTH_LONG).show();
    }
    @Override
    public void onWbShareFail() {
        Toast.makeText(this, "分享失败", Toast.LENGTH_LONG).show();
    }
    @Override
    public void onWbShareSuccess() {
        Toast.makeText(this, "分享成功", Toast.LENGTH_LONG).show();
    }
    /**
     * 返回 是否进入 删除区域
     *
     * @param Width 宽度距离判断(购物车到达指定宽度 true,否则false)
     * @param Heigh 高度距离判断(购物车到达指定高度 true,否则false)
     */
    @Override
    public void isReturn(boolean Width, boolean Heigh) {
        if (Width && Heigh) {
            acbutton.setVisibility(View.GONE);
//            img.setVisibility(View.GONE);
            if (acbutton.getVisibility() == View.GONE) {
                acbutton.postDelayed(new Runnable() {
                    @Override
                    public void run() {
                        img.setVisibility(View.GONE);
                        //  购物车隐藏
                        RecordImageTextVideo textVideo = new RecordImageTextVideo(GoodsDetailActivity.this);
                        textVideo.setLocalCart_float(1);//不在显示购物车
                    }
                }, 200);
            }
        }
    }
    /**
     * 显示状态
     *
     * @param isDrag  移动状态(购物车移动true,停止false)
     * @param display 是否显示(购物车显示true,隐藏 false)
     */
    @Override
    public void isDrag(boolean isDrag, boolean display) {
        //移动中
        if (isDrag) {
            img.setVisibility(View.VISIBLE);
        } else {//停止移动
            if (display) {//显示
                img.setVisibility(View.VISIBLE);
            } else {//隐藏
                img.setVisibility(View.GONE);
            }
        }
    }
    /**
     * 百川详情页跳转网页
     */
    private void jumpWeb(String url) {
        alibcShowParams.setNativeOpenFailedMode(AlibcFailModeType.AlibcNativeFailModeJumpBROWER);
//        AlibcTrade.openByUrl(GoodsDetailActivity.this, "",
//                url, null, new WebViewClient(), new WebChromeClient(),
//                alibcShowParams, alibcTaokeParams, exParams, new MiDuoTradeCallback(""));
        AlibcTradeSDK.setTaokeParams(alibcTaokeParams);
        AlibcTradeUtil.openByUrl(GoodsDetailActivity.this,
                url, null, new WebViewClient(), new WebChromeClient(),
                alibcShowParams, alibcTaokeParams, null);
    }
    /**
     * 百川详情页跳转原生
     */
    private void jumpNative(AlibcBasePage basePage) {
        AlibcTrade.openByBizCode(GoodsDetailActivity.this, basePage, null,
                new WebViewClient(), new WebChromeClient(), "", alibcShowParams,
                alibcTaokeParams, exParams, new MiDuoTradeCallback(""));
    }
}
app/src/main/java/com/tejia/lijin/app/util/ui/VIPUIUtil.java
New file
@@ -0,0 +1,38 @@
package com.tejia.lijin.app.util.ui;
import android.graphics.Color;
import android.graphics.drawable.GradientDrawable;
import android.widget.TextView;
import com.app.hubert.guide.util.ScreenUtils;
import com.wpc.library.util.common.DimenUtils;
public class VIPUIUtil {
    public static void setGoodsDetialUserLevelIcon(TextView tv, int level) {
        //动态改变shape
        GradientDrawable shape = new GradientDrawable();
        int redius = DimenUtils.dip2px(tv.getContext(), 8);
        shape.setCornerRadii(new float[]{redius, redius, 0, 0, redius, redius, 0, 0});
        shape.setOrientation(GradientDrawable.Orientation.BR_TL);
        switch (level) {
            case 0:
                tv.setTextColor(Color.parseColor("#BE4C00"));
                shape.setColors(new int[]{Color.parseColor("#FFD783")});
                break;
            case 1:
                tv.setTextColor(Color.parseColor("#FFD6DC"));
                shape.setColors(new int[]{Color.parseColor("#C3BC51"), Color.parseColor("#FBBF68"), Color.parseColor("#D4B57F")});
                break;
            case 2:
                tv.setTextColor(Color.parseColor("#949494"));
                shape.setColors(new int[]{Color.parseColor("#DFDFDF"), Color.parseColor("#F6F6F6"), Color.parseColor("#DFDFDF")});
                break;
            case 3:
                tv.setTextColor(Color.parseColor("#FFD6DC"));
                shape.setColors(new int[]{Color.parseColor("#C3F3FF"), Color.parseColor("#F6F6F6"), Color.parseColor("#FFD1D8")});
                break;
        }
    }
}
app/src/main/java/com/tejia/lijin/app/util/user/AliyunSmsOneKeyLoginManager.java
New file
@@ -0,0 +1,196 @@
package com.tejia.lijin.app.util.user;
import android.app.Activity;
import android.app.Dialog;
import android.content.Context;
import android.graphics.Color;
import android.util.Log;
import android.widget.ImageView;
import android.widget.Toast;
import com.mobile.auth.gatewayauth.AuthUIConfig;
import com.mobile.auth.gatewayauth.PhoneNumberAuthHelper;
import com.mobile.auth.gatewayauth.ResultCode;
import com.mobile.auth.gatewayauth.TokenResultListener;
import com.mobile.auth.gatewayauth.model.TokenRet;
import com.wpc.library.util.common.DimenUtils;
import org.apache.http.Header;
import org.json.JSONObject;
public class AliyunSmsOneKeyLoginManager {
    static final String TAG = "AliyunSmsOneKeyLogin";
    private Activity activity;
    private PhoneNumberAuthHelper mPhoneNumberAuthHelper;
    private String secretInfo;
    private IOneKeyLoginListener tokenResultListener;
    public AliyunSmsOneKeyLoginManager(Activity context, String secretInfo) {
        this.activity = context;
        this.secretInfo = secretInfo;
    }
    private void sdkInit() {
        mPhoneNumberAuthHelper = PhoneNumberAuthHelper.getInstance(activity, new TokenResultListener() {
            @Override
            public void onTokenSuccess(String s) {
                Log.i(TAG, "onTokenSuccess:" + s);
                TokenRet tokenRet = null;
                try {
                    tokenRet = TokenRet.fromJson(s);
                    switch (tokenRet.getCode()) {
                        case ResultCode.CODE_ERROR_ENV_CHECK_SUCCESS:
                            Log.i(TAG, "终端环境校验成功:" + s);
                            tokenResultListener.onEnvCheckSuccess();
                            break;
                        case ResultCode.CODE_START_AUTHPAGE_SUCCESS:
                            Log.i(TAG, "唤起授权页成功:" + s);
                            tokenResultListener.onStartAuthPageSuccess();
                            break;
                        case ResultCode.CODE_SUCCESS:
                            Log.i(TAG, "获取token成功:" + s);
                            tokenResultListener.onToken(tokenRet.getToken());
                            mPhoneNumberAuthHelper.setAuthListener(null);
                            break;
                    }
                } catch (Exception e) {
                    e.printStackTrace();
                }
            }
            @Override
            public void onTokenFailed(String s) {
                Log.i(TAG, "onTokenFailed:" + s);
                TokenRet tokenRet = null;
                try {
                    tokenRet = TokenRet.fromJson(s);
                    switch (tokenRet.getCode()) {
                        //用户主动取消
                        case ResultCode.CODE_ERROR_USER_CANCEL:
                            tokenResultListener.onCancel();
                            break;
                        case ResultCode.CODE_ERROR_NO_SIM_FAIL:
                        case ResultCode.CODE_ERROR_NO_MOBILE_NETWORK_FAIL:
                            tokenResultListener.onFail("请打开移动网络");
                            break;
                        default:
                            tokenResultListener.onFail("暂无法使用手机号一键登录");
                            break;
                    }
                } catch (Exception e) {
                    e.printStackTrace();
                }
                mPhoneNumberAuthHelper.setAuthListener(null);
            }
        });
        mPhoneNumberAuthHelper.getReporter().setLoggerEnable(true);
        mPhoneNumberAuthHelper.setAuthSDKInfo(secretInfo);
    }
    /**
     * 开始获取token
     */
    public void startGetLoginToken() {
        mPhoneNumberAuthHelper.getLoginToken(activity, 5000);
    }
    public void quitLoginPage() {
        mPhoneNumberAuthHelper.quitLoginPage();
    }
    private void initUI(Activity activity) {
        int width = DimenUtils.getScreenWidth(activity);
        int widthDP = DimenUtils.px2dip(activity, width);
        AuthUIConfig uiCOnfig = new AuthUIConfig.Builder()
                .setPageBackgroundPath("shape_login_onkey_bg")
                .setNavText("")
                .setNavColor(Color.WHITE)
                .setNavHidden(false)
                .setNavReturnImgPath("ic_login_close")
                .setNavReturnImgWidth(22)
                .setNavReturnImgHeight(22)
                .setNavReturnScaleType(ImageView.ScaleType.FIT_XY)
                .setWebNavColor(Color.BLACK)
                .setWebNavReturnImgPath("ic_back_two")
                .setWebViewStatusBarColor(Color.WHITE)
                .setStatusBarColor(Color.WHITE)
                .setLogoWidth(147)
                .setLogoHeight(36)
                .setLogoImgPath("ic_login_logo")
                .setLogoOffsetY(24 - 10)
                .setSloganOffsetY(171 - 10)
                .setSloganTextSize(12)
                .setSloganTextColor(Color.parseColor("#F804F5"))
                .setLogBtnText("⼀键登录")
                .setLogBtnTextSize(17)
                .setLogBtnTextColor(Color.parseColor("#F4DE4A"))
                .setLogBtnBackgroundPath("shape_login_btn")
                .setLogBtnOffsetY(229 - 10)
                .setLogBtnHeight(44)
                .setDialogWidth(305 * widthDP / 375)
                .setDialogHeight(454)
                .setNavColor(Color.RED)
                .setSwitchAccHidden(true)
                .setNumberColor(Color.parseColor("#0052F6"))
                .setNumberSize(36)
                .setNumFieldOffsetY(128 - 10)
                .setAppPrivacyOne("《用户服务协议》", BeibeiConstant.USER_AGREEMENT)
                .setAppPrivacyTwo("《隐私政策》", BeibeiConstant.PRIVACY_POLICY)
                .setAppPrivacyColor(Color.parseColor("#B3B8D3"), Color.parseColor("#51B3FF"))
                .setPrivacyBefore("登录即表示同意")
                .setPrivacyEnd("")
                .setCheckedImgPath("ic_login_privacy_checked")
                .setPrivacyTextSize(11)
                .setPrivacyState(true)
                .setVendorPrivacyPrefix("《")
                .setVendorPrivacySuffix("》")
                .create();
        mPhoneNumberAuthHelper.setAuthUIConfig(uiCOnfig);
    }
    public void init(IOneKeyLoginListener tokenResultListener) {
        this.tokenResultListener = tokenResultListener;
        sdkInit();
        initUI(activity);
    }
    public void checkEnv() {
        //检测环境
        mPhoneNumberAuthHelper.checkEnvAvailable(2);
    }
    public interface IOneKeyLoginListener {
        public void onFail(String st);
        public void onCancel();
        public void onEnvCheckSuccess();
        public void onStartAuthPageSuccess();
        public void onToken(String token);
    }
}
app/src/main/res/drawable-xhdpi/ic_close_login.png
app/src/main/res/drawable-xhdpi/ic_login_logo.png
app/src/main/res/drawable-xhdpi/icon_login_qq.png
app/src/main/res/drawable-xhdpi/icon_login_wx.png
app/src/main/res/drawable/selector_login_btn.xml
New file
@@ -0,0 +1,7 @@
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:drawable="@drawable/shape_login_gain_sms" android:state_enabled="true"></item>
    <item android:drawable="@drawable/shape_login_gain_sms_invalid" android:state_enabled="false"></item>
</selector>
app/src/main/res/drawable/shape_convert_link_btn.xml
@@ -1,6 +1,8 @@
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
    <solid android:color="@color/theme" />
    <corners android:radius="100dp"></corners>
    <solid android:color="#fff10865" />
    <gradient android:type="linear" android:useLevel="true" android:startColor="#e0ff2a3e" android:endColor="#e0ff227b" android:angle="180" />
    <corners android:topLeftRadius="18dp" android:topRightRadius="18dp" android:bottomLeftRadius="18dp" android:bottomRightRadius="18dp" />
</shape>
app/src/main/res/drawable/shape_copy_link_btn.xml
New file
@@ -0,0 +1,16 @@
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
    <gradient
        android:angle="0"
        android:endColor="#e0ff227b"
        android:startColor="#e0ff2a3e"
        android:type="linear"
        android:useLevel="true" />
    <corners
        android:bottomLeftRadius="18dp"
        android:bottomRightRadius="18dp"
        android:topLeftRadius="18dp"
        android:topRightRadius="18dp" />
</shape>
app/src/main/res/drawable/shape_copy_link_content_bg.xml
New file
@@ -0,0 +1,12 @@
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
    <solid android:color="#ffffffff" />
    <corners
        android:bottomLeftRadius="13dp"
        android:bottomRightRadius="13dp"
        android:topLeftRadius="13dp"
        android:topRightRadius="13dp" />
</shape>
app/src/main/res/drawable/shape_go_buy.xml
New file
@@ -0,0 +1,10 @@
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
    <padding
        android:bottom="2dp"
        android:top="2dp"></padding>
    <corners
        android:bottomRightRadius="40dp"
        android:topRightRadius="40dp" />
    <solid android:color="#FF2C4A" />
</shape>
app/src/main/res/drawable/shape_go_fanli.xml
@@ -2,10 +2,10 @@
<shape xmlns:android="http://schemas.android.com/apk/res/android">
    <corners
        android:bottomRightRadius="40dp"
        android:topRightRadius="40dp" />
        android:bottomLeftRadius="40dp"
        android:topLeftRadius="40dp" />
    <padding
        android:bottom="2dp"
        android:top="2dp"></padding>
    <solid android:color="@color/theme" />
    <solid android:color="#55B00B" />
</shape>
app/src/main/res/drawable/shape_goods_detail_hongbao_bg.xml
New file
@@ -0,0 +1,9 @@
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
    <solid android:color="#55B00B" />
    <corners
        android:bottomLeftRadius="8dp"
        android:bottomRightRadius="8dp"
        android:topLeftRadius="8dp"
        android:topRightRadius="8dp" />
</shape>
app/src/main/res/drawable/shape_goods_detail_hongbao_detail_bg.xml
New file
@@ -0,0 +1,50 @@
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
    <!--    <item android:width="327dp" android:height="33dp">-->
    <!--        <shape android:shape="rectangle">-->
    <!--            <gradient-->
    <!--                android:angle="90"-->
    <!--                android:endColor="#469D00"-->
    <!--                android:startColor="#5FD400" />-->
    <!--            <corners android:radius="7dp" />-->
    <!--        </shape>-->
    <!--    </item>-->
    <!--    <item-->
    <!--        android:bottom="1dp"-->
    <!--        android:left="0.5dp"-->
    <!--        android:right="0.5dp"-->
    <!--        android:top="1dp">-->
    <!--        <shape android:shape="rectangle">-->
    <!--            <gradient-->
    <!--                android:angle="270"-->
    <!--                android:endColor="#55B00B"-->
    <!--                android:startColor="#55B00B" />-->
    <!--            <corners android:radius="7dp" />-->
    <!--        </shape>-->
    <!--    </item>-->
    <item>
        <shape android:shape="rectangle">
            <gradient
                android:angle="45"
                android:endColor="#55B00B"
                android:shadowColor="#000000"
                android:shadowDx="-0"
                android:shadowDy="-1"
                android:startColor="#55B00B" />
            <corners android:radius="7dp" />
        </shape>
    </item>
</layer-list>
app/src/main/res/drawable/shape_goods_detail_hongbao_high_level_bg.xml
New file
@@ -0,0 +1,9 @@
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
    <solid android:color="#ffff415e" />
    <corners
        android:bottomLeftRadius="8dp"
        android:bottomRightRadius="8dp"
        android:topLeftRadius="8dp"
        android:topRightRadius="8dp" />
</shape>
app/src/main/res/drawable/shape_goods_detail_item_bg.xml
New file
@@ -0,0 +1,15 @@
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
    <solid android:color="#ffffffff" />
    <corners
        android:bottomLeftRadius="8dp"
        android:bottomRightRadius="8dp"
        android:topLeftRadius="8dp"
        android:topRightRadius="8dp" />
    <padding
        android:bottom="10dp"
        android:left="10dp"
        android:right="10dp"
        android:top="10dp"></padding>
</shape>
app/src/main/res/drawable/shape_goods_detail_rights_type_coupon_bg.xml
New file
@@ -0,0 +1,9 @@
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
    <solid android:color="#ffffef99" />
    <corners
        android:bottomLeftRadius="8dp"
        android:bottomRightRadius="8dp"
        android:topLeftRadius="8dp"
        android:topRightRadius="8dp" />
</shape>
app/src/main/res/drawable/shape_goods_detail_rights_type_coupon_bottom_bg.xml
New file
@@ -0,0 +1,7 @@
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
    <solid android:color="#FF8400" />
    <corners
        android:bottomLeftRadius="8dp"
        android:bottomRightRadius="8dp" />
</shape>
app/src/main/res/drawable/shape_goods_detail_rights_type_hongbao_bg.xml
New file
@@ -0,0 +1,9 @@
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
    <solid android:color="#FFDAE0" />
    <corners
        android:bottomLeftRadius="8dp"
        android:bottomRightRadius="8dp"
        android:topLeftRadius="8dp"
        android:topRightRadius="8dp" />
</shape>
app/src/main/res/drawable/shape_goods_detail_rights_type_hongbao_bottom_bg.xml
New file
@@ -0,0 +1,7 @@
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
    <solid android:color="#FF415E" />
    <corners
        android:bottomLeftRadius="8dp"
        android:bottomRightRadius="8dp" />
</shape>
app/src/main/res/drawable/shape_login_gain_sms_invalid.xml
New file
@@ -0,0 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
    <solid android:color="#CBCBCB" />
    <corners android:radius="30dp" />
</shape>
app/src/main/res/drawable/shape_smart_search_top.xml
@@ -1,15 +1,7 @@
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
    <solid android:color="#ffffffff" />
    <gradient
        android:angle="270"
        android:endColor="@color/theme"
        android:startColor="@color/theme"
        android:type="linear" />
    <corners
        android:bottomLeftRadius="0dp"
        android:bottomRightRadius="0dp"
        android:topLeftRadius="13dp"
        android:topRightRadius="13dp" />
    <gradient android:type="linear" android:useLevel="true" android:startColor="#e0ff2a3e" android:endColor="#e0ff227b" android:angle="180" />
    <corners android:topLeftRadius="13dp" android:topRightRadius="13dp" android:bottomLeftRadius="0dp" android:bottomRightRadius="0dp" />
</shape>
app/src/main/res/layout/activity_goods_detail_new.xml
New file
@@ -0,0 +1,1080 @@
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="@color/page_bg_color"
    android:orientation="vertical">
    <FrameLayout
        android:layout_width="match_parent"
        android:layout_height="0dp"
        android:layout_weight="1">
        <ScrollView
            android:layout_width="match_parent"
            android:layout_height="match_parent">
            <LinearLayout
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                android:orientation="vertical">
                <LinearLayout
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:orientation="vertical">
                    <com.wpc.library.widget.RatioLayout
                        android:layout_width="match_parent"
                        android:layout_height="match_parent"
                        android:background="@color/white"
                        app:ratio="1">
                        <FrameLayout
                            android:layout_width="match_parent"
                            android:layout_height="match_parent"
                            android:gravity="center">
                            <androidx.viewpager.widget.ViewPager
                                android:id="@+id/vp_goods_img"
                                android:layout_width="match_parent"
                                android:layout_height="match_parent"></androidx.viewpager.widget.ViewPager>
                            <TextView
                                android:id="@+id/tv_page_num"
                                android:layout_width="wrap_content"
                                android:layout_height="wrap_content"
                                android:layout_gravity="bottom|right"
                                android:layout_margin="20dp"
                                android:background="@drawable/shape_black_corner"
                                android:paddingLeft="10dp"
                                android:paddingTop="2dp"
                                android:paddingRight="10dp"
                                android:paddingBottom="2dp"
                                android:textColor="@color/white" />
                        </FrameLayout>
                    </com.wpc.library.widget.RatioLayout>
                    <include layout="@layout/item_yellow_notice" />
                </LinearLayout>
                <LinearLayout
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:layout_marginLeft="10dp"
                    android:layout_marginTop="12dp"
                    android:layout_marginRight="10dp"
                    android:background="@drawable/shape_goods_detail_item_bg"
                    android:orientation="vertical">
                    <FrameLayout
                        android:layout_width="match_parent"
                        android:layout_height="wrap_content">
                        <ImageView
                            android:id="@+id/iv_goods_type"
                            android:layout_width="wrap_content"
                            android:layout_height="15dp"
                            android:layout_gravity="left|center_vertical"
                            android:src="@drawable/ic_tmall"></ImageView>
                        <TextView
                            android:id="@+id/tv_sales_num"
                            android:layout_width="wrap_content"
                            android:layout_height="wrap_content"
                            android:layout_gravity="right|center_vertical"
                            android:text="月销 8569"
                            android:textColor="#ff888888"
                            android:textSize="13sp" />
                    </FrameLayout>
                    <TextView
                        android:id="@+id/tv_name"
                        android:layout_width="match_parent"
                        android:layout_height="wrap_content"
                        android:layout_marginTop="10dp"
                        android:text="春装2021年新款女中袖上衣v领洋气半袖针织衫不规则百搭打底毛衣"
                        android:textColor="#ff000000"
                        android:textSize="16sp" />
                </LinearLayout>
                <LinearLayout
                    android:id="@+id/ll_address"
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:layout_marginLeft="10dp"
                    android:layout_marginTop="12dp"
                    android:layout_marginRight="10dp"
                    android:background="@drawable/shape_goods_detail_item_bg">
                    <TextView
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:text="发货地"
                        android:textColor="#ff888888"
                        android:textSize="13sp" />
                    <TextView
                        android:id="@+id/tv_address"
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:layout_marginLeft="11dp"
                        android:text="重庆市·江北区"
                        android:textColor="#ff000000"
                        android:textSize="13sp" />
                </LinearLayout>
                <!-- 权益类型 -->
                <LinearLayout
                    android:id="@+id/ll_rights_type"
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:layout_marginLeft="10dp"
                    android:layout_marginTop="12dp"
                    android:layout_marginRight="10dp"
                    android:background="@drawable/shape_goods_detail_item_bg">
                    <com.wpc.library.widget.MyGridView
                        android:id="@+id/gv_rights_type"
                        android:layout_width="match_parent"
                        android:layout_height="wrap_content"
                        android:horizontalSpacing="10dp"
                        android:numColumns="3"
                        android:verticalSpacing="10dp"></com.wpc.library.widget.MyGridView>
                </LinearLayout>
                <!-- 价格信息 -->
                <LinearLayout
                    android:id="@+id/ll_price"
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:layout_marginLeft="10dp"
                    android:layout_marginTop="12dp"
                    android:layout_marginRight="10dp"
                    android:background="@drawable/shape_goods_detail_item_bg">
                    <FrameLayout
                        android:layout_width="match_parent"
                        android:layout_height="wrap_content"
                        android:background="@drawable/shape_goods_detail_hongbao_high_level_bg">
                        <LinearLayout
                            android:layout_width="match_parent"
                            android:layout_height="wrap_content"
                            android:orientation="vertical">
                            <FrameLayout
                                android:layout_width="match_parent"
                                android:layout_height="64dp">
                                <LinearLayout
                                    android:layout_width="match_parent"
                                    android:layout_height="wrap_content"
                                    android:layout_gravity="center_vertical"
                                    android:paddingLeft="12dp"
                                    android:paddingRight="12dp">
                                    <TextView
                                        android:id="@+id/tv_sub_money"
                                        android:layout_width="wrap_content"
                                        android:layout_height="wrap_content"
                                        android:layout_marginLeft="19dp"
                                        android:text="¥8.88"
                                        android:textColor="#ffffffff"
                                        android:textSize="12sp" />
                                    <View
                                        android:layout_width="0dp"
                                        android:layout_height="1px"
                                        android:layout_weight="1"></View>
                                    <TextView
                                        android:id="@+id/tv_final_money"
                                        android:layout_width="wrap_content"
                                        android:layout_height="wrap_content"
                                        android:text="¥28.9"
                                        android:textColor="#ffffffff"
                                        android:textSize="12sp" />
                                </LinearLayout>
                                <TextView
                                    android:id="@+id/tv_more"
                                    android:layout_width="wrap_content"
                                    android:layout_height="wrap_content"
                                    android:layout_gravity="bottom|center_horizontal"
                                    android:layout_marginBottom="3dp"
                                    android:text="更多">
                                </TextView>
                            </FrameLayout>
                            <LinearLayout
                                android:id="@+id/ll_hongbao_detail"
                                android:layout_width="match_parent"
                                android:layout_height="wrap_content"
                                android:layout_marginLeft="3.5dp"
                                android:layout_marginRight="3.5dp"
                                android:layout_marginBottom="3.5dp"
                                android:paddingLeft="20dp"
                                android:paddingRight="20dp">
                                <LinearLayout
                                    android:layout_width="0dp"
                                    android:layout_height="wrap_content"
                                    android:layout_weight="1">
                                    <LinearLayout
                                        android:id="@+id/ll_money_0"
                                        android:layout_width="wrap_content"
                                        android:layout_height="wrap_content"
                                        android:gravity="center_horizontal"
                                        android:orientation="vertical">
                                        <TextView
                                            android:id="@+id/tv_money_name_0"
                                            android:layout_width="wrap_content"
                                            android:layout_height="wrap_content"
                                            android:text="到手价"
                                            android:textColor="#FFFFFF"
                                            android:textSize="9sp" />
                                        <TextView
                                            android:id="@+id/tv_money_0"
                                            android:layout_width="wrap_content"
                                            android:layout_height="wrap_content"
                                            android:layout_marginTop="8dp"
                                            android:text="¥28.9"
                                            android:textColor="#FFFFFF"
                                            android:textSize="9sp" />
                                    </LinearLayout>
                                    <View
                                        android:id="@+id/v_hongbao_cut_0"
                                        android:layout_width="0dp"
                                        android:layout_height="1px"
                                        android:layout_weight="1"></View>
                                    <LinearLayout
                                        android:id="@+id/ll_money_1"
                                        android:layout_width="wrap_content"
                                        android:layout_height="wrap_content"
                                        android:gravity="center_horizontal"
                                        android:orientation="vertical">
                                        <TextView
                                            android:id="@+id/tv_money_name_1"
                                            android:layout_width="wrap_content"
                                            android:layout_height="wrap_content"
                                            android:text="到手价"
                                            android:textColor="#FFFFFF"
                                            android:textSize="9sp" />
                                        <TextView
                                            android:id="@+id/tv_money_1"
                                            android:layout_width="wrap_content"
                                            android:layout_height="wrap_content"
                                            android:layout_marginTop="8dp"
                                            android:text="¥28.9"
                                            android:textColor="#FFFFFF"
                                            android:textSize="9sp" />
                                    </LinearLayout>
                                    <View
                                        android:id="@+id/v_hongbao_cut_1"
                                        android:layout_width="0dp"
                                        android:layout_height="1px"
                                        android:layout_weight="1"></View>
                                    <LinearLayout
                                        android:id="@+id/ll_money_2"
                                        android:layout_width="wrap_content"
                                        android:layout_height="wrap_content"
                                        android:gravity="center_horizontal"
                                        android:orientation="vertical">
                                        <TextView
                                            android:id="@+id/tv_money_name_2"
                                            android:layout_width="wrap_content"
                                            android:layout_height="wrap_content"
                                            android:text="到手价"
                                            android:textColor="#FFFFFF"
                                            android:textSize="9sp" />
                                        <TextView
                                            android:id="@+id/tv_money_2"
                                            android:layout_width="wrap_content"
                                            android:layout_height="wrap_content"
                                            android:layout_marginTop="8dp"
                                            android:text="¥28.9"
                                            android:textColor="#FFFFFF"
                                            android:textSize="9sp" />
                                    </LinearLayout>
                                    <View
                                        android:id="@+id/v_hongbao_cut_2"
                                        android:layout_width="0dp"
                                        android:layout_height="1px"
                                        android:layout_weight="1"></View>
                                    <LinearLayout
                                        android:id="@+id/ll_money_3"
                                        android:layout_width="wrap_content"
                                        android:layout_height="wrap_content"
                                        android:gravity="center_horizontal"
                                        android:orientation="vertical">
                                        <TextView
                                            android:id="@+id/tv_money_name_3"
                                            android:layout_width="wrap_content"
                                            android:layout_height="wrap_content"
                                            android:text="到手价"
                                            android:textColor="#FFFFFF"
                                            android:textSize="9sp" />
                                        <TextView
                                            android:id="@+id/tv_money_3"
                                            android:layout_width="wrap_content"
                                            android:layout_height="wrap_content"
                                            android:layout_marginTop="8dp"
                                            android:text="¥28.9"
                                            android:textColor="#FFFFFF"
                                            android:textSize="9sp" />
                                    </LinearLayout>
                                </LinearLayout>
                                <LinearLayout
                                    android:layout_width="wrap_content"
                                    android:layout_height="wrap_content"
                                    android:layout_marginLeft="20dp"
                                    android:layout_marginRight="20dp"
                                    android:gravity="center_horizontal"
                                    android:orientation="vertical">
                                    <TextView
                                        android:layout_width="wrap_content"
                                        android:layout_height="wrap_content"
                                        android:text=""
                                        android:textColor="#FFFFFF"
                                        android:textSize="9sp" />
                                    <TextView
                                        android:layout_width="wrap_content"
                                        android:layout_height="wrap_content"
                                        android:layout_marginTop="8dp"
                                        android:text="="
                                        android:textColor="#FFFFFF"
                                        android:textSize="9sp" />
                                </LinearLayout>
                                <LinearLayout
                                    android:layout_width="wrap_content"
                                    android:layout_height="wrap_content"
                                    android:gravity="center_horizontal"
                                    android:orientation="vertical">
                                    <TextView
                                        android:layout_width="wrap_content"
                                        android:layout_height="wrap_content"
                                        android:text="到手价"
                                        android:textColor="#FFFFFF"
                                        android:textSize="9sp" />
                                    <TextView
                                        android:id="@+id/tv_actual_money"
                                        android:layout_width="wrap_content"
                                        android:layout_height="wrap_content"
                                        android:layout_marginTop="8dp"
                                        android:text="¥28.9"
                                        android:textColor="#FFFFFF"
                                        android:textSize="9sp" />
                                </LinearLayout>
                            </LinearLayout>
                        </LinearLayout>
                        <LinearLayout
                            android:layout_width="match_parent"
                            android:layout_height="wrap_content"
                            android:layout_gravity="left|top"
                            android:gravity="center_vertical">
                            <ImageView
                                android:id="@+id/iv_level"
                                android:layout_width="wrap_content"
                                android:layout_height="12.5dp"></ImageView>
                            <TextView
                                android:id="@+id/tv_level_desc"
                                android:layout_width="wrap_content"
                                android:layout_height="wrap_content"
                                android:layout_marginLeft="5dp"
                                android:text="升级为铂金会员红包可提高100%"
                                android:textColor="#ffffffff"
                                android:textSize="8sp" />
                        </LinearLayout>
                    </FrameLayout>
                </LinearLayout>
                <LinearLayout
                    android:id="@+id/ll_shop"
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:layout_gravity="center"
                    android:layout_marginLeft="10dp"
                    android:layout_marginTop="10dp"
                    android:layout_marginRight="10dp"
                    android:background="@drawable/shape_goods_detail_item_bg"
                    android:orientation="vertical">
                    <LinearLayout
                        android:layout_width="match_parent"
                        android:layout_height="50dp"
                        android:layout_gravity="center"
                        android:gravity="center_vertical"
                        android:orientation="horizontal">
                        <FrameLayout
                            android:layout_width="50dp"
                            android:layout_height="50dp"
                            android:layout_gravity="center_vertical"
                            android:layout_marginRight="10dp"
                            android:background="@drawable/shape_detail_shop_gray_corner">
                            <ImageView
                                android:id="@+id/iv_shop_img"
                                android:layout_width="match_parent"
                                android:layout_height="match_parent"
                                android:layout_gravity="center" />
                        </FrameLayout>
                        <LinearLayout
                            android:layout_width="0dp"
                            android:layout_height="match_parent"
                            android:layout_weight="1"
                            android:orientation="vertical">
                            <LinearLayout
                                android:layout_width="match_parent"
                                android:layout_height="wrap_content">
                                <TextView
                                    android:id="@+id/tv_shop_name"
                                    android:layout_width="0dp"
                                    android:layout_height="wrap_content"
                                    android:layout_gravity="center_vertical"
                                    android:layout_weight="1"
                                    android:gravity="center_vertical"
                                    android:textColor="@color/text_black_1"
                                    android:textSize="14sp" />
                                <TextView
                                    android:id="@+id/tv_shop_see"
                                    android:layout_width="wrap_content"
                                    android:layout_height="wrap_content"
                                    android:layout_marginRight="10dp"
                                    android:drawableRight="@drawable/ic_player_input"
                                    android:drawablePadding="8dp"
                                    android:text="查看店铺"
                                    android:textColor="@color/gray2"
                                    android:visibility="gone" />
                            </LinearLayout>
                        </LinearLayout>
                        <LinearLayout
                            android:layout_width="wrap_content"
                            android:layout_height="match_parent"
                            android:orientation="vertical">
                            <LinearLayout
                                android:layout_width="wrap_content"
                                android:layout_height="wrap_content"
                                android:orientation="horizontal">
                                <TextView
                                    android:id="@+id/tv_shop_des"
                                    android:layout_width="wrap_content"
                                    android:layout_height="wrap_content"
                                    android:layout_gravity="center_vertical"
                                    android:text="宝贝描述"
                                    android:textColor="@color/text_black_1"
                                    android:textSize="11sp" />
                                <TextView
                                    android:id="@+id/tv_shop_des_grade"
                                    android:layout_width="wrap_content"
                                    android:layout_height="wrap_content"
                                    android:layout_gravity="center_vertical"
                                    android:layout_marginLeft="5dp"
                                    android:background="@drawable/shape_shop_score_grade"
                                    android:paddingLeft="3dp"
                                    android:paddingRight="3dp"
                                    android:textColor="@color/white"
                                    android:textSize="10sp" />
                            </LinearLayout>
                            <View
                                android:layout_width="1px"
                                android:layout_height="0dp"
                                android:layout_weight="1"></View>
                            <LinearLayout
                                android:layout_width="wrap_content"
                                android:layout_height="wrap_content"
                                android:orientation="horizontal">
                                <TextView
                                    android:id="@+id/tv_shop_service"
                                    android:layout_width="wrap_content"
                                    android:layout_height="wrap_content"
                                    android:layout_gravity="center_vertical"
                                    android:text="卖家服务"
                                    android:textColor="@color/text_black_1"
                                    android:textSize="11sp" />
                                <TextView
                                    android:id="@+id/tv_shop_service_grade"
                                    android:layout_width="wrap_content"
                                    android:layout_height="wrap_content"
                                    android:layout_gravity="center_vertical"
                                    android:layout_marginLeft="5dp"
                                    android:background="@drawable/shape_shop_score_grade"
                                    android:paddingLeft="3dp"
                                    android:paddingRight="3dp"
                                    android:textColor="@color/white"
                                    android:textSize="10sp" />
                            </LinearLayout>
                            <View
                                android:layout_width="1px"
                                android:layout_height="0dp"
                                android:layout_weight="1"></View>
                            <LinearLayout
                                android:layout_width="wrap_content"
                                android:layout_height="wrap_content"
                                android:orientation="horizontal">
                                <TextView
                                    android:id="@+id/tv_shop_logistics"
                                    android:layout_width="wrap_content"
                                    android:layout_height="wrap_content"
                                    android:layout_gravity="center_vertical"
                                    android:text="物流服务"
                                    android:textColor="@color/text_black_1"
                                    android:textSize="11sp" />
                                <TextView
                                    android:id="@+id/tv_shop_logistics_grade"
                                    android:layout_width="wrap_content"
                                    android:layout_height="wrap_content"
                                    android:layout_gravity="center_vertical"
                                    android:layout_marginLeft="5dp"
                                    android:background="@drawable/shape_shop_score_grade"
                                    android:paddingLeft="3dp"
                                    android:paddingRight="3dp"
                                    android:textColor="@color/white"
                                    android:textSize="10sp" />
                            </LinearLayout>
                        </LinearLayout>
                    </LinearLayout>
                </LinearLayout>
                <FrameLayout
                    android:id="@+id/fl_goods_detail"
                    android:layout_width="match_parent"
                    android:layout_height="48dp"
                    android:layout_gravity="center"
                    android:layout_marginTop="10dp"
                    android:background="@color/white">
                    <TextView
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:layout_gravity="center_vertical|left"
                        android:layout_marginLeft="10dp"
                        android:gravity="center"
                        android:text="查看宝贝详情"
                        android:textColor="#444444"
                        android:textSize="16sp" />
                    <ImageView
                        android:id="@+id/iv_imgtext_status"
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:layout_gravity="center_vertical|right"
                        android:layout_marginRight="10dp"
                        android:src="@drawable/ic_detail_img_open" />
                </FrameLayout>
                <WebView
                    android:id="@+id/webView"
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:visibility="visible" />
                <FrameLayout
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:layout_gravity="center_vertical">
                    <include layout="@layout/item_recyclerview_bottom" />
                </FrameLayout>
                <LinearLayout
                    android:id="@+id/ll_guess_like"
                    android:layout_width="match_parent"
                    android:layout_height="match_parent"
                    android:layout_marginTop="8dp"
                    android:background="@color/register_gray"
                    android:orientation="vertical">
                    <TextView
                        android:layout_width="match_parent"
                        android:layout_height="46dp"
                        android:background="#FFFFFF"
                        android:gravity="center"
                        android:text="猜你喜欢"
                        android:textColor="#ff444444"
                        android:textSize="15sp" />
                    <com.wpc.library.widget.MyGridView
                        android:id="@+id/gv_guess_like"
                        android:layout_width="match_parent"
                        android:layout_height="wrap_content"
                        android:layout_marginLeft="4dp"
                        android:layout_marginTop="4dp"
                        android:layout_marginRight="4dp"
                        android:background="@color/register_gray"
                        android:columnWidth="3dp"
                        android:horizontalSpacing="4dp"
                        android:numColumns="2"
                        android:verticalSpacing="4dp"></com.wpc.library.widget.MyGridView>
                </LinearLayout>
            </LinearLayout>
        </ScrollView>
        <!--状态栏1-->
        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="48dp"
            android:gravity="center_vertical"
            android:orientation="horizontal">
            <FrameLayout
                android:layout_width="0dp"
                android:layout_height="match_parent"
                android:layout_weight="1">
                <ImageView
                    android:id="@+id/iv_back"
                    android:layout_width="30dp"
                    android:layout_height="30dp"
                    android:layout_gravity="center_vertical|left"
                    android:layout_marginLeft="10dp"
                    android:src="@drawable/ic_back2" />
            </FrameLayout>
            <View
                android:layout_width="0dp"
                android:layout_height="1dp"
                android:layout_weight="3" />
            <FrameLayout
                android:layout_width="0dp"
                android:layout_height="match_parent"
                android:layout_weight="1">
                <ImageView
                    android:id="@+id/iv_share"
                    android:layout_width="30dp"
                    android:layout_height="30dp"
                    android:layout_gravity="center_vertical|right"
                    android:layout_marginRight="10dp"
                    android:src="@drawable/ic_des_share" />
            </FrameLayout>
        </LinearLayout>
        <!--状态栏2-->
        <LinearLayout
            android:id="@+id/ll_top_title"
            android:layout_width="match_parent"
            android:layout_height="48dp"
            android:background="@color/white"
            android:gravity="center_vertical"
            android:orientation="horizontal"
            android:visibility="gone">
            <FrameLayout
                android:layout_width="0dp"
                android:layout_height="match_parent"
                android:layout_weight="1">
                <ImageView
                    android:id="@+id/iv_top_bar_left1"
                    android:layout_width="30dp"
                    android:layout_height="30dp"
                    android:layout_gravity="center_vertical|left"
                    android:layout_marginLeft="10dp"
                    android:src="@drawable/ic_back3" />
            </FrameLayout>
            <FrameLayout
                android:id="@+id/fl_top_title1"
                android:layout_width="0dp"
                android:layout_height="match_parent"
                android:layout_weight="1">
                <TextView
                    android:id="@+id/tv_top_title1"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_gravity="center"
                    android:gravity="center"
                    android:padding="8dp"
                    android:text="宝贝"
                    android:textColor="@color/main_text_color"
                    android:textSize="17sp" />
                <View
                    android:id="@+id/v_1"
                    android:layout_width="30dp"
                    android:layout_height="3dp"
                    android:layout_gravity="bottom|center_horizontal"
                    android:background="@color/main_text_color" />
            </FrameLayout>
            <FrameLayout
                android:id="@+id/fl_top_title2"
                android:layout_width="0dp"
                android:layout_height="match_parent"
                android:layout_weight="1">
                <TextView
                    android:id="@+id/tv_top_title2"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_gravity="center"
                    android:gravity="center"
                    android:paddingTop="8dp"
                    android:paddingBottom="8dp"
                    android:text="详情"
                    android:textColor="@color/black2"
                    android:textSize="17sp" />
                <View
                    android:id="@+id/v_2"
                    android:layout_width="30dp"
                    android:layout_height="3dp"
                    android:layout_gravity="bottom|center_horizontal"
                    android:background="@color/main_text_color"
                    android:visibility="gone" />
            </FrameLayout>
            <FrameLayout
                android:id="@+id/fl_top_title3"
                android:layout_width="0dp"
                android:layout_height="match_parent"
                android:layout_gravity="center"
                android:layout_weight="1"
                android:visibility="gone">
                <TextView
                    android:id="@+id/tv_top_title3"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_gravity="center"
                    android:ellipsize="end"
                    android:gravity="center"
                    android:text="喜欢"
                    android:textColor="@color/black2"
                    android:textSize="17sp" />
                <View
                    android:id="@+id/v_3"
                    android:layout_width="30dp"
                    android:layout_height="3dp"
                    android:layout_gravity="bottom|center_horizontal"
                    android:background="@color/main_text_color"
                    android:visibility="gone" />
            </FrameLayout>
            <FrameLayout
                android:id="@+id/fl_top_title4"
                android:layout_width="0dp"
                android:layout_height="match_parent"
                android:layout_gravity="center"
                android:layout_weight="1">
                <TextView
                    android:id="@+id/tv_top_title4"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_gravity="center"
                    android:ellipsize="end"
                    android:gravity="center"
                    android:text="推荐"
                    android:textColor="@color/black2"
                    android:textSize="17sp" />
                <View
                    android:id="@+id/v_4"
                    android:layout_width="30dp"
                    android:layout_height="3dp"
                    android:layout_gravity="bottom|center_horizontal"
                    android:background="@color/main_text_color"
                    android:visibility="gone" />
            </FrameLayout>
            <FrameLayout
                android:layout_width="0dp"
                android:layout_height="match_parent"
                android:layout_weight="1">
                <ImageView
                    android:id="@+id/iv_top_bar_right"
                    android:layout_width="30dp"
                    android:layout_height="30dp"
                    android:layout_gravity="center_vertical|right"
                    android:layout_marginRight="10dp"
                    android:src="@drawable/ic_des_top_right" />
            </FrameLayout>
        </LinearLayout>
    </FrameLayout>
    <View
        android:id="@+id/v_bottom_line"
        android:layout_width="match_parent"
        android:layout_height="1dp"
        android:layout_gravity="bottom"
        android:layout_marginBottom="50dp"
        android:background="@color/register_gray" />
    <FrameLayout
        android:layout_width="match_parent"
        android:layout_height="50dp"
        android:layout_gravity="bottom"
        android:background="@color/white">
        <LinearLayout
            android:id="@+id/ll_bottom"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:gravity="center_vertical"
            android:orientation="horizontal">
            <LinearLayout
                android:layout_width="0dp"
                android:layout_height="match_parent"
                android:layout_weight="1"
                android:gravity="left">
                <LinearLayout
                    android:id="@+id/ll_copy_link"
                    android:layout_width="wrap_content"
                    android:layout_height="match_parent"
                    android:background="@drawable/bg_ripple"
                    android:gravity="center"
                    android:orientation="vertical"
                    android:paddingLeft="10dp"
                    android:paddingRight="10dp"
                    android:visibility="gone">
                    <ImageView
                        android:layout_width="wrap_content"
                        android:layout_height="19dp"
                        android:layout_gravity="center"
                        android:gravity="center"
                        android:src="@drawable/icon_copy_link" />
                    <TextView
                        android:id="@+id/tv_copy_link"
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:layout_marginTop="4dp"
                        android:text="复制链接"
                        android:textColor="#333333"
                        android:textSize="9sp" />
                </LinearLayout>
                <LinearLayout
                    android:id="@+id/ll_add_collect"
                    android:layout_width="wrap_content"
                    android:layout_height="match_parent"
                    android:layout_marginLeft="25dp"
                    android:gravity="center"
                    android:orientation="vertical"
                    android:paddingLeft="10dp"
                    android:paddingRight="10dp"
                    android:visibility="visible">
                    <ImageView
                        android:id="@+id/iv_like_state"
                        android:layout_width="wrap_content"
                        android:layout_height="19dp"
                        android:layout_gravity="center"
                        android:gravity="center"
                        android:src="@drawable/icon_un_collected" />
                    <TextView
                        android:id="@+id/tv_like"
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:layout_marginTop="4dp"
                        android:text="收藏"
                        android:textColor="#333333"
                        android:textSize="9sp" />
                </LinearLayout>
            </LinearLayout>
            <View
                android:id="@+id/view_share_buy_divider"
                android:layout_width="0dp"
                android:layout_height="wrap_content"
                android:layout_weight="1"
                android:visibility="gone"></View>
            <LinearLayout
                android:id="@+id/ll_fanli_gain"
                android:layout_width="0dp"
                android:layout_height="wrap_content"
                android:layout_gravity="center_vertical"
                android:layout_weight="1"
                android:background="@drawable/shape_go_fanli"
                android:gravity="center"
                android:orientation="vertical">
                <TextView
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_gravity="center"
                    android:text="分享奖"
                    android:textColor="@color/white"
                    android:textSize="15sp" />
                <TextView
                    android:id="@+id/tv_fanli_money_num"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_gravity="center"
                    android:text="12"
                    android:textColor="@color/white"
                    android:textSize="12sp" />
            </LinearLayout>
            <LinearLayout
                android:id="@+id/fl_buy"
                android:layout_width="0dp"
                android:layout_height="wrap_content"
                android:layout_gravity="center_vertical"
                android:layout_weight="1"
                android:background="@drawable/shape_go_buy"
                android:orientation="vertical">
                <TextView
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_gravity="center"
                    android:text="下单返"
                    android:textColor="@color/white"
                    android:textSize="15sp" />
                <TextView
                    android:id="@+id/tv_buy"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_gravity="center"
                    android:text="12.00"
                    android:textColor="@color/white"
                    android:textSize="12sp" />
            </LinearLayout>
            <View
                android:layout_width="5dp"
                android:layout_height="wrap_content"></View>
        </LinearLayout>
        <TextView
            android:id="@+id/tv_big_btn"
            android:layout_width="match_parent"
            android:layout_height="40dp"
            android:layout_gravity="center"
            android:layout_marginLeft="38dp"
            android:layout_marginRight="38dp"
            android:background="@drawable/shape_go_search"
            android:gravity="center"
            android:textColor="@color/white"
            android:textSize="18sp"
            android:textStyle="bold"
            android:visibility="gone">
        </TextView>
    </FrameLayout>
</LinearLayout>
app/src/main/res/layout/activity_login_select.xml
@@ -19,44 +19,45 @@
            android:padding="8dp"
            android:src="@mipmap/ic_close_login" />
        <ImageView
            android:id="@+id/iv_contact_kefu"
        <TextView
            android:id="@+id/tv_help"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="right|center"
            android:layout_marginRight="20dp"
            android:padding="8dp"
            android:src="@drawable/ic_contact_kefu" />
            android:text="帮助"
            android:textColor="#333333"
            android:textSize="15sp" />
    </FrameLayout>
    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:gravity="center_horizontal"
        android:orientation="vertical">
        <TextView
            android:id="@+id/tv_login_top_hint"
            android:layout_width="match_parent"
        <ImageView
            android:id="@+id/iv_login_mark"
            android:layout_width="196dp"
            android:layout_height="wrap_content"
            android:layout_marginTop="50dp"
            android:gravity="center"
            android:text="登录领券得返利,安全简单更省钱"
            android:textColor="@color/main_text_color"
            android:textSize="18sp" />
            android:minHeight="120dp"
            android:src="@drawable/ic_login_logo" />
        <TextView
            android:id="@+id/tv_mobile_type"
            android:id="@+id/tv_bind_mark"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginLeft="38dp"
            android:layout_marginTop="50dp"
            android:focusable="true"
            android:focusableInTouchMode="true"
            android:gravity="left"
            android:text="@string/login_welcome"
            android:gravity="center"
            android:minHeight="120dp"
            android:text="绑定手机号"
            android:textColor="@color/text_black_1"
            android:textSize="25sp" />
            android:textSize="25sp"
            android:visibility="gone" />
        <LinearLayout
            android:layout_width="match_parent"
@@ -81,8 +82,8 @@
                <ImageView
                    android:id="@+id/et_mobile_numimg"
                    android:layout_width="8dp"
                    android:layout_height="8dp"
                    android:layout_width="4dp"
                    android:layout_height="6dp"
                    android:layout_gravity="center_vertical"
                    android:layout_marginLeft="2dp"
                    android:layout_marginTop="0.5dp"
@@ -107,11 +108,11 @@
            <View
                android:layout_width="match_parent"
                android:layout_height="1dp"
                android:layout_height="1px"
                android:layout_marginLeft="38dp"
                android:layout_marginTop="15dp"
                android:layout_marginRight="38dp"
                android:background="@color/main_text_color" />
                android:background="#FF2B4B" />
            <TextView
                android:id="@+id/tv_mobile_hint"
@@ -125,26 +126,38 @@
                android:textColor="@color/gray"
                android:textSize="13sp" />
            <FrameLayout
                android:id="@+id/fl_login_gain_sms"
            <TextView
                android:id="@+id/tv_login_gain_sms"
                android:layout_width="match_parent"
                android:layout_height="45dp"
                android:layout_gravity="center"
                android:layout_marginLeft="38dp"
                android:layout_marginTop="20dp"
                android:layout_marginRight="38dp"
                android:background="@drawable/selector_login_btn"
                android:drawablePadding="8dp"
                android:enabled="false"
                android:gravity="center"
                android:text="获取短信验证码"
                android:textColor="@color/white"
                android:textSize="18sp" />
            <TextView
                android:id="@+id/tv_login_onekey"
                android:layout_width="match_parent"
                android:layout_height="45dp"
                android:layout_gravity="center"
                android:layout_marginLeft="38dp"
                android:layout_marginTop="40dp"
                android:layout_marginRight="38dp"
                android:background="@drawable/shape_login_gain_sms">
                <TextView
                    android:id="@+id/tv_login_gain_sms"
                    android:layout_width="wrap_content"
                    android:layout_height="45dp"
                    android:layout_gravity="center"
                    android:drawablePadding="8dp"
                    android:gravity="center"
                    android:text="获取短信验证码"
                    android:textColor="@color/white"
                    android:textSize="18sp" />
            </FrameLayout>
                android:background="@drawable/selector_login_btn"
                android:drawablePadding="8dp"
                android:gravity="center"
                android:text="本机号码一键登录"
                android:textColor="@color/white"
                android:textSize="18sp" />
            <TextView
                android:id="@+id/tv_other_login"
@@ -152,19 +165,46 @@
                android:layout_height="wrap_content"
                android:layout_gravity="center"
                android:layout_marginTop="50dp"
                android:drawableRight="@drawable/ic_other_login_open"
                android:layout_marginBottom="26dp"
                android:drawablePadding="8dp"
                android:text="更多登录"
                android:textColor="@color/text_black_1"
                android:textSize="15sp" />
                android:text="其他方式登录"
                android:textColor="@color/gray2"
                android:textSize="14sp" />
            <ImageView
                android:id="@+id/iv_login_wechat"
                android:layout_width="wrap_content"
            <LinearLayout
                android:id="@+id/ll_other_login"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:layout_gravity="center"
                android:layout_marginTop="20dp"
                android:src="@drawable/ic_login_wchat_light" />
                android:gravity="center">
                <TextView
                    android:id="@+id/tv_login_wx"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:drawableTop="@drawable/icon_login_wx"
                    android:drawablePadding="5.5dp"
                    android:text="微信登录"
                    android:textColor="#ff959595"
                    android:textSize="12sp" />
                <View
                    android:layout_width="30dp"
                    android:layout_height="1px"></View>
                <TextView
                    android:id="@+id/tv_login_qq"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:drawableTop="@drawable/icon_login_qq"
                    android:drawablePadding="5.5dp"
                    android:text="QQ登录"
                    android:textColor="#ff959595"
                    android:textSize="12sp" />
            </LinearLayout>
        </LinearLayout>
        <View
@@ -199,7 +239,7 @@
                android:ellipsize="end"
                android:maxLines="1"
                android:text="@string/user_protocol_extra"
                android:textColor="@color/theme"
                android:textColor="#3A7CFF"
                android:textSize="13dp" />
            <TextView
@@ -210,7 +250,7 @@
                android:ellipsize="end"
                android:maxLines="1"
                android:text="《隐私政策》"
                android:textColor="@color/theme"
                android:textColor="#3A7CFF"
                android:textSize="13dp" />
        </LinearLayout>
app/src/main/res/layout/item_copy_goods_title.xml
@@ -17,7 +17,7 @@
            android:layout_height="wrap_content"
            android:layout_centerInParent="true"
            android:gravity="center"
            android:text="智 能 搜 索 优 惠 券"
            android:text="智能搜索"
            android:textColor="@android:color/white"
            android:textSize="18sp"
            android:textStyle="bold" />
@@ -39,24 +39,9 @@
            android:gravity="left"
            android:maxLines="3"
            android:text="你是否需要搜索下列商品?"
            android:textColor="@color/text_black_1"
            android:textColor="@color/gray2"
            android:textSize="13sp" />
        <TextView
            android:id="@+id/tv_tb"
            android:layout_width="match_parent"
            android:layout_height="35dp"
            android:layout_marginLeft="20dp"
            android:layout_marginRight="20dp"
            android:layout_marginBottom="20dp"
            android:background="@drawable/shape_convert_link_btn"
            android:text="淘宝/天猫搜索"
            android:gravity="center"
            android:textColor="#ffffffff"
            android:textSize="16sp">
        </TextView>
        <LinearLayout
            android:layout_width="match_parent"
@@ -77,7 +62,7 @@
                android:layout_height="wrap_content"
                android:layout_marginLeft="15dp"
                android:layout_marginRight="15dp"
                android:text="其他搜索"
                android:text="搜索该标题"
                android:textColor="#ff999999"
                android:textSize="11sp" />
@@ -88,6 +73,7 @@
                android:layout_weight="1"
                android:background="@color/divider_mine_gray" />
        </LinearLayout>
        <LinearLayout
            android:layout_width="match_parent"
@@ -106,7 +92,7 @@
                <RelativeLayout
                    android:id="@+id/rl_jd"
                    android:layout_width="40dp"
                    android:layout_height="65dp"
                    android:layout_height="wrap_content"
                    android:layout_centerHorizontal="true"
                    android:layout_gravity="center">
@@ -123,7 +109,8 @@
                        android:layout_gravity="center"
                        android:text="京东"
                        android:textColor="@color/gray2"
                        android:textSize="11sp" />
                        android:textSize="11sp"
                        android:visibility="gone" />
                </RelativeLayout>
            </FrameLayout>
@@ -137,7 +124,7 @@
                <RelativeLayout
                    android:id="@+id/rl_pdd"
                    android:layout_width="40dp"
                    android:layout_height="65dp"
                    android:layout_height="wrap_content"
                    android:layout_alignParentRight="true"
                    android:layout_gravity="center">
@@ -154,7 +141,8 @@
                        android:layout_gravity="center"
                        android:text="拼多多"
                        android:textColor="@color/gray2"
                        android:textSize="11sp" />
                        android:textSize="11sp"
                        android:visibility="gone" />
                </RelativeLayout>
            </FrameLayout>
@@ -167,7 +155,7 @@
                <RelativeLayout
                    android:id="@+id/rl_vip"
                    android:layout_width="40dp"
                    android:layout_height="65dp"
                    android:layout_height="wrap_content"
                    android:layout_gravity="center">
                    <ImageView
@@ -183,7 +171,8 @@
                        android:layout_gravity="center"
                        android:text="唯品会"
                        android:textColor="@color/gray2"
                        android:textSize="11sp" />
                        android:textSize="11sp"
                        android:visibility="gone" />
                </RelativeLayout>
            </FrameLayout>
            <!--苏宁-->
@@ -195,7 +184,7 @@
                <RelativeLayout
                    android:id="@+id/rl_suning"
                    android:layout_width="40dp"
                    android:layout_height="65dp"
                    android:layout_height="wrap_content"
                    android:layout_gravity="center">
                    <ImageView
@@ -211,10 +200,30 @@
                        android:layout_gravity="center"
                        android:text="苏宁"
                        android:textColor="@color/gray2"
                        android:textSize="11sp" />
                        android:textSize="11sp"
                        android:visibility="gone" />
                </RelativeLayout>
            </FrameLayout>
        </LinearLayout>
        <TextView
            android:id="@+id/tv_tb"
            android:layout_width="match_parent"
            android:layout_height="36dp"
            android:layout_marginLeft="20dp"
            android:layout_marginTop="10dp"
            android:layout_marginRight="20dp"
            android:layout_marginBottom="20dp"
            android:background="@drawable/shape_convert_link_btn"
            android:gravity="center"
            android:text="淘宝/天猫搜索"
            android:textColor="#ffffffff"
            android:textSize="15sp">
        </TextView>
    </LinearLayout>
    <ImageView
app/src/main/res/layout/item_copy_link.xml
@@ -3,358 +3,110 @@
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:gravity="center_horizontal"
    android:orientation="vertical">
    <RelativeLayout
        android:id="@+id/ll_top"
        android:layout_width="match_parent"
        android:layout_height="58dp"
        android:layout_gravity="center_vertical"
        android:background="@drawable/shape_smart_search_top"
        android:orientation="vertical">
        <TextView
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_centerInParent="true"
            android:gravity="center"
            android:text="猜 你 喜 欢"
            android:textColor="@android:color/white"
            android:textSize="18sp"
            android:textStyle="bold" />
    </RelativeLayout>
    <!--猜你喜欢商品详情-->
    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_margin="12dp"
        android:text="猜你喜欢"
        android:textColor="#ffffffff"
        android:textSize="18sp" />
    <LinearLayout
        android:id="@+id/ll_horizontal_item"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:background="@drawable/shape_addzfb_hint3"
        android:baselineAligned="false"
        android:orientation="horizontal"
        android:padding="10dp"
        android:visibility="gone">
        <View
            android:id="@+id/v_left"
            android:layout_width="2dp"
            android:layout_height="match_parent"
            android:visibility="visible" />
        <FrameLayout
            android:layout_width="100dp"
            android:layout_height="100dp">
            <View
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                android:background="@drawable/shape_img_bg" />
            <ImageView
                android:id="@+id/iv_movie_cover1"
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                android:layout_gravity="center"
                android:scaleType="centerCrop" />
        </FrameLayout>
        android:background="@drawable/shape_copy_link_content_bg"
        android:orientation="vertical"
        android:padding="20dp">
        <LinearLayout
            android:layout_width="0dp"
            android:layout_height="100dp"
            android:layout_marginLeft="10dp"
            android:layout_weight="1"
            android:id="@+id/ll_goods_detail"
            android:visibility="gone"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:orientation="vertical">
            <LinearLayout
            <com.wpc.library.widget.RatioLayout
                android:id="@+id/item_recommend_gv_ral"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:orientation="vertical">
                android:layout_marginBottom="11dp"
                app:ratio="1">
                <TextView
                    android:id="@+id/tv_movie_title1"
                <ImageView
                    android:id="@+id/iv_pic"
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:ellipsize="end"
                    android:lines="2"
                    android:textColor="@color/text_black_1"
                    android:textSize="10sp" />
                    android:layout_height="match_parent"></ImageView>
            </com.wpc.library.widget.RatioLayout>
            </LinearLayout>
            <LinearLayout
                android:id="@+id/ll_labels"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_marginTop="2dp"
                android:orientation="horizontal"></LinearLayout>
            <LinearLayout
                android:id="@+id/ll_shop1"
            <FrameLayout
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:layout_gravity="bottom"
                android:orientation="horizontal"
                android:visibility="gone">
                android:layout_height="120dp">
                <TextView
                    android:id="@+id/tv_shop_name1"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_gravity="center_vertical"
                    android:drawablePadding="1dp"
                    android:ellipsize="end"
                    android:gravity="center"
                    android:singleLine="true"
                    android:textColor="@color/gray5"
                    android:textSize="9sp" />
            </LinearLayout>
                <include layout="@layout/item_goods_right"></include>
            </FrameLayout>
            <View
                android:layout_width="wrap_content"
                android:layout_height="0dp"
                android:layout_weight="1" />
            <LinearLayout
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:layout_gravity="center_vertical"
                android:layout_marginRight="2dp"
                android:orientation="horizontal">
                <TextView
                    android:id="@+id/tv_price1"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_gravity="bottom"
                    android:ellipsize="end"
                    android:lines="1"
                    android:textColor="@color/theme"
                    android:textSize="13sp"
                    android:textStyle="bold" />
                <TextView
                    android:id="@+id/tv_normal_price1"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_gravity="bottom"
                    android:layout_marginLeft="5dp"
                    android:ellipsize="end"
                    android:gravity="center_vertical|left"
                    android:lines="1"
                    android:textColor="@color/gray5"
                    android:textSize="10sp" />
                <TextView
                    android:id="@+id/tv_sale_num1"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_gravity="bottom"
                    android:layout_marginLeft="5dp"
                    android:gravity="center_vertical|left"
                    android:textColor="@color/gray5"
                    android:textSize="10sp" />
            </LinearLayout>
            <TextView
                android:id="@+id/tv_sale_num2"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_gravity="bottom"
                android:gravity="center_vertical|left"
                android:textColor="@color/gray5"
                android:textSize="12sp" />
            <LinearLayout
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_gravity="bottom"
                android:layout_marginTop="2dp"
                android:gravity="bottom"
                android:orientation="vertical">
                <LinearLayout
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:gravity="center_vertical">
                    <LinearLayout
                        android:id="@+id/ll_coupon_bg1"
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:layout_gravity="center_vertical"
                        android:layout_marginRight="5dp"
                        android:gravity="center_vertical"
                        android:orientation="horizontal">
                        <TextView
                            android:layout_width="wrap_content"
                            android:layout_height="match_parent"
                            android:layout_gravity="center_vertical"
                            android:background="@drawable/shape_coupon_bg"
                            android:gravity="center"
                            android:includeFontPadding="false"
                            android:paddingLeft="2dp"
                            android:paddingTop="2dp"
                            android:paddingRight="2dp"
                            android:paddingBottom="2dp"
                            android:text="券"
                            android:layout_marginRight="-1dp"
                            android:textColor="@color/theme"
                            android:textSize="10sp" />
                        <TextView
                            android:id="@+id/tv_coupon_price1"
                            android:layout_width="wrap_content"
                            android:layout_height="match_parent"
                            android:layout_gravity="center_vertical"
                            android:background="@drawable/shape_coupon_value_right"
                            android:gravity="center_vertical"
                            android:includeFontPadding="false"
                            android:maxLines="1"
                            android:paddingLeft="5dp"
                            android:paddingRight="5dp"
                            android:textColor="@color/theme"
                            android:textSize="10sp" />
                    </LinearLayout>
                    <LinearLayout
                        android:id="@+id/ll_discount_new"
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:layout_gravity="center_vertical"
                        android:layout_marginRight="4dp"
                        android:orientation="horizontal"
                        android:visibility="visible">
                        <TextView
                            android:id="@+id/tv_discount_new"
                            android:layout_width="wrap_content"
                            android:layout_height="14dp"
                            android:layout_gravity="center_vertical"
                            android:background="@drawable/shape_goods_discount"
                            android:gravity="center"
                            android:paddingLeft="6dp"
                            android:paddingRight="6dp"
                            android:text="2.5折"
                            android:textColor="@color/white"
                            android:textSize="10sp" />
                    </LinearLayout>
                    <TextView
                        android:id="@+id/tv_rate_info"
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:layout_marginLeft="3dp"
                        android:textColor="#ffaaaaaa"
                        android:textSize="9sp" />
                </LinearLayout>
                <LinearLayout
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:layout_marginTop="2dp">
                    <TextView
                        android:id="@+id/tv_favourable1"
                        android:layout_width="wrap_content"
                        android:layout_height="match_parent"
                        android:layout_gravity="center_vertical"
                        android:background="@drawable/shape_goods_list_price_fan"
                        android:ellipsize="end"
                        android:gravity="center_vertical"
                        android:lines="1"
                        android:paddingLeft="5dp"
                        android:paddingRight="9dp"
                        android:textColor="@color/white"
                        android:textSize="10sp" />
                </LinearLayout>
            </LinearLayout>
        </LinearLayout>
    </LinearLayout>
    <!--    兼容未加入淘宝联盟的情况-->
    <RelativeLayout
        android:id="@+id/ll_not_item"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:background="@drawable/shape_addzfb_hint3"
        android:paddingLeft="15.5dp"
        android:paddingTop="15.5dp"
        android:paddingRight="14.5dp"
        android:paddingBottom="20dp"
        android:visibility="gone">
        <ImageView
            android:id="@+id/ll_not_img"
            android:layout_width="50dp"
            android:layout_height="50dp" />
        <TextView
            android:id="@+id/ll_not_title1"
        <RelativeLayout
            android:id="@+id/ll_not_item"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_marginLeft="11dp"
            android:layout_toRightOf="@+id/ll_not_img"
            android:ellipsize="end"
            android:gravity="top"
            android:lineSpacingMultiplier="1.2"
            android:lines="2"
            android:text="16514+841564165"
            android:textColor="@color/text_black_1"
            android:textSize="13sp" />
            android:background="@drawable/shape_addzfb_hint3"
            android:paddingLeft="15.5dp"
            android:paddingTop="15.5dp"
            android:paddingRight="14.5dp"
            android:paddingBottom="20dp"
            android:visibility="visible">
        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_below="@+id/ll_not_title1"
            android:layout_centerHorizontal="true"
            android:layout_marginTop="28.5dp"
            android:text="该商品无推广信息"
            android:textColor="@color/black"
            android:textSize="13sp"
            android:typeface="normal" />
    </RelativeLayout>
            <ImageView
                android:id="@+id/ll_not_img"
                android:layout_width="50dp"
                android:background="@color/cardview_shadow_start_color"
                android:layout_height="50dp" />
    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="75dp"
        android:paddingLeft="15dp"
        android:paddingRight="15dp"
        android:background="@drawable/shape_addzfb_bottom_hint2"
        android:gravity="center">
            <TextView
                android:id="@+id/ll_not_title1"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:layout_marginLeft="11dp"
                android:layout_toRightOf="@+id/ll_not_img"
                android:ellipsize="end"
                android:gravity="top"
                android:lineSpacingMultiplier="1.2"
                android:lines="2"
                android:text="商品标题商品标题商品标题商品标题商品标题商品标题商品标题商品标题商品标题"
                android:textColor="@color/text_black_1"
                android:textSize="13sp" />
            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_below="@+id/ll_not_title1"
                android:layout_centerHorizontal="true"
                android:layout_marginTop="28.5dp"
                android:text="该商品无推广信息"
                android:textColor="@color/black"
                android:textSize="13sp"
                android:typeface="normal" />
        </RelativeLayout>
        <TextView
            android:id="@+id/tv_left"
            android:layout_width="0dp"
            android:layout_height="40dp"
            android:layout_weight="3"
            android:layout_width="match_parent"
            android:layout_height="36dp"
            android:layout_marginTop="20dp"
            android:background="@drawable/shape_copy_link_btn"
            android:gravity="center"
            android:text="去看看"
            android:layout_marginRight="10dp"
            android:textColor="@color/theme"
            android:textSize="16sp">
        </TextView>
        <TextView
            android:id="@+id/tv_go"
            android:layout_width="0dp"
            android:layout_height="40dp"
            android:layout_weight="5"
            android:background="@color/theme"
            android:gravity="center"
            android:text="查看详情"
            android:textColor="#ffffffff"
            android:textSize="16sp" />
            android:textSize="15sp" />
    </LinearLayout>
app/src/main/res/layout/item_goods_detail_hongbao.xml
New file
@@ -0,0 +1,299 @@
<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:background="@drawable/shape_goods_detail_hongbao_high_level_bg"
    android:gravity="center_horizontal"
    android:orientation="vertical">
    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="vertical">
        <FrameLayout
            android:layout_width="match_parent"
            android:layout_height="64dp">
            <LinearLayout
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:layout_gravity="center_vertical"
                android:paddingLeft="12dp"
                android:paddingRight="12dp">
                <TextView
                    android:id="@+id/tv_sub_money"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_marginLeft="19dp"
                    android:text="¥8.88"
                    android:textColor="#ffffffff"
                    android:textSize="12sp" />
                <View
                    android:layout_width="0dp"
                    android:layout_height="1px"
                    android:layout_weight="1"></View>
                <TextView
                    android:id="@+id/tv_final_money"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:text="¥28.9"
                    android:textColor="#ffffffff"
                    android:textSize="12sp" />
            </LinearLayout>
            <TextView
                android:id="@+id/tv_more"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_gravity="bottom|center_horizontal"
                android:layout_marginBottom="3dp"
                android:text="更多">
            </TextView>
            <TextView
                android:id="@+id/tv_desc"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_gravity="top|center_horizontal"
                android:layout_marginTop="3dp"
                android:text="注:本次为比价返利,1个小时后购买可提高100%"
                android:textColor="#ffffffff"
                android:textSize="8sp" />
        </FrameLayout>
        <LinearLayout
            android:id="@+id/ll_hongbao_detail"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_marginLeft="3.5dp"
            android:layout_marginRight="3.5dp"
            android:layout_marginBottom="3.5dp"
            android:paddingLeft="20dp"
            android:paddingRight="20dp">
            <LinearLayout
                android:layout_width="0dp"
                android:layout_height="wrap_content"
                android:layout_weight="1">
                <LinearLayout
                    android:id="@+id/ll_money_0"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:gravity="center_horizontal"
                    android:orientation="vertical">
                    <TextView
                        android:id="@+id/tv_money_name_0"
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:text="到手价"
                        android:textColor="#FFFFFF"
                        android:textSize="9sp" />
                    <TextView
                        android:id="@+id/tv_money_0"
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:layout_marginTop="8dp"
                        android:text="¥28.9"
                        android:textColor="#FFFFFF"
                        android:textSize="9sp" />
                </LinearLayout>
                <View
                    android:id="@+id/v_hongbao_cut_0"
                    android:layout_width="0dp"
                    android:layout_height="1px"
                    android:layout_weight="1"></View>
                <LinearLayout
                    android:id="@+id/ll_money_1"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:gravity="center_horizontal"
                    android:orientation="vertical">
                    <TextView
                        android:id="@+id/tv_money_name_1"
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:text="到手价"
                        android:textColor="#FFFFFF"
                        android:textSize="9sp" />
                    <TextView
                        android:id="@+id/tv_money_1"
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:layout_marginTop="8dp"
                        android:text="¥28.9"
                        android:textColor="#FFFFFF"
                        android:textSize="9sp" />
                </LinearLayout>
                <View
                    android:id="@+id/v_hongbao_cut_1"
                    android:layout_width="0dp"
                    android:layout_height="1px"
                    android:layout_weight="1"></View>
                <LinearLayout
                    android:id="@+id/ll_money_2"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:gravity="center_horizontal"
                    android:orientation="vertical">
                    <TextView
                        android:id="@+id/tv_money_name_2"
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:text="到手价"
                        android:textColor="#FFFFFF"
                        android:textSize="9sp" />
                    <TextView
                        android:id="@+id/tv_money_2"
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:layout_marginTop="8dp"
                        android:text="¥28.9"
                        android:textColor="#FFFFFF"
                        android:textSize="9sp" />
                </LinearLayout>
                <View
                    android:id="@+id/v_hongbao_cut_2"
                    android:layout_width="0dp"
                    android:layout_height="1px"
                    android:layout_weight="1"></View>
                <LinearLayout
                    android:id="@+id/ll_money_3"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:gravity="center_horizontal"
                    android:orientation="vertical">
                    <TextView
                        android:id="@+id/tv_money_name_3"
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:text="到手价"
                        android:textColor="#FFFFFF"
                        android:textSize="9sp" />
                    <TextView
                        android:id="@+id/tv_money_3"
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:layout_marginTop="8dp"
                        android:text="¥28.9"
                        android:textColor="#FFFFFF"
                        android:textSize="9sp" />
                </LinearLayout>
            </LinearLayout>
            <LinearLayout
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_marginLeft="20dp"
                android:layout_marginRight="20dp"
                android:gravity="center_horizontal"
                android:orientation="vertical">
                <TextView
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:text=""
                    android:textColor="#FFFFFF"
                    android:textSize="9sp" />
                <TextView
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_marginTop="8dp"
                    android:text="="
                    android:textColor="#FFFFFF"
                    android:textSize="9sp" />
            </LinearLayout>
            <LinearLayout
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:gravity="center_horizontal"
                android:orientation="vertical">
                <TextView
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:text="到手价"
                    android:textColor="#FFFFFF"
                    android:textSize="9sp" />
                <TextView
                    android:id="@+id/tv_actual_money"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_marginTop="8dp"
                    android:text="¥28.9"
                    android:textColor="#FFFFFF"
                    android:textSize="9sp" />
            </LinearLayout>
        </LinearLayout>
    </LinearLayout>
    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_gravity="left|top"
        android:gravity="center_vertical">
        <ImageView
            android:id="@+id/iv_level"
            android:layout_width="wrap_content"
            android:layout_height="12.5dp"></ImageView>
        <TextView
            android:id="@+id/tv_level_desc"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginLeft="5dp"
            android:text="升级为铂金会员红包可提高100%"
            android:textColor="#ffffffff"
            android:textSize="8sp" />
    </LinearLayout>
</FrameLayout>
app/src/main/res/layout/item_goods_right.xml
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:layout_height="wrap_content"
    android:orientation="vertical">
library-gallery/src/androidTest/java/com/lzj/gallery/library/ExampleInstrumentedTest.java
@@ -16,11 +16,4 @@
 */
@RunWith(AndroidJUnit4.class)
public class ExampleInstrumentedTest {
    @Test
    public void useAppContext() throws Exception {
        // Context of the app under test.
        Context appContext = InstrumentationRegistry.getTargetContext();
        assertEquals("com.lzj.gallery.library.test", appContext.getPackageName());
    }
}
library-mine/build.gradle
@@ -5,6 +5,8 @@
    implementation 'androidx.legacy:legacy-support-v4:1.0.0'
    implementation 'androidx.recyclerview:recyclerview:1.0.0'
    implementation 'com.squareup.okhttp3:okhttp:3.5.0'
    api 'com.github.bumptech.glide:glide:4.9.0'
    api files('libs/android-query-full.0.26.7.jar')
}
android {