billyyoyo пре 6 година
родитељ
комит
2897aaba37

+ 6 - 0
app/src/main/java/com/sheep/gamegroup/model/api/ApiService.java

@@ -1967,6 +1967,9 @@ public interface ApiService {
     @POST("app/user/clear_pay_pwd")
     Observable<BaseMessage> clearPayPwd();
 
+    @POST("app/user/send_mobile_sms_captcha")
+    Observable<BaseMessage> sendCommonCaptcha(@Body JSONObject jsonObject);
+
     @POST("app/user/send_sms_captcha")
     Observable<BaseMessage> sendSmsCaptcha();
 
@@ -2003,4 +2006,7 @@ public interface ApiService {
     @POST("app/download_errlog/add")
     Observable<BaseMessage> statGameDownloadError(@Query("game_id") String gameId, @Query("down_url") String downloadUrl, @Query("cdn_ip") String ip, @Query("client_md5") String clientMd5, @Query("server_md5") String serverMd5);
 
+    @POST("app/find/mobile_appointment")
+    Observable<BaseMessage> appointGame(@Body JSONObject json);
+
 }

+ 9 - 0
app/src/main/java/com/sheep/gamegroup/model/entity/Applications.java

@@ -99,7 +99,16 @@ public class Applications implements IDownload, IGameGroup, Serializable {
     private int welfare_num = 0;
     //赏金数量
     private double reward_sum = 0;
+    //1下载  2预约
+    private int mobile_appointment=0;
 
+    public int getMobile_appointment() {
+        return mobile_appointment;
+    }
+
+    public void setMobile_appointment(int mobile_appointment) {
+        this.mobile_appointment = mobile_appointment;
+    }
     public int getGame_discount_id() {
         return game_discount_id;
     }

+ 27 - 10
app/src/main/java/com/sheep/gamegroup/module/game/activity/ActGameGroupOrGameDetail.java

@@ -34,6 +34,7 @@ import com.sheep.gamegroup.model.entity.BaseMessage;
 import com.sheep.gamegroup.model.entity.GameEntity;
 import com.sheep.gamegroup.model.entity.GameListTag;
 import com.sheep.gamegroup.model.entity.Lp;
+import com.sheep.gamegroup.model.entity.WebParams;
 import com.sheep.gamegroup.model.util.SheepSubscriber;
 import com.sheep.gamegroup.module.game.adapter.AdpGameGroupGameCompare;
 import com.sheep.gamegroup.module.game.fragment.FgtGameComment;
@@ -41,6 +42,7 @@ import com.sheep.gamegroup.module.game.fragment.FgtGameDetail;
 import com.sheep.gamegroup.module.game.fragment.FgtGameGift;
 import com.sheep.gamegroup.module.game.fragment.FgtGameWelfare;
 import com.sheep.gamegroup.module.game.model.GameGroup;
+import com.sheep.gamegroup.module.game.util.GameAppointHelper;
 import com.sheep.gamegroup.util.ApiUtil;
 import com.sheep.gamegroup.util.CommonUtil;
 import com.sheep.gamegroup.util.DataUtil;
@@ -55,6 +57,7 @@ import com.sheep.gamegroup.util.ViewUtil;
 import com.sheep.gamegroup.util.viewHelper.LayoutParamsUtil;
 import com.sheep.gamegroup.view.activity.ActPlayVideo;
 import com.sheep.gamegroup.view.adapter.TitleFragmentListAdapter2;
+import com.sheep.jiuyan.samllsheep.Config;
 import com.sheep.jiuyan.samllsheep.R;
 import com.sheep.jiuyan.samllsheep.SheepApp;
 import com.sheep.jiuyan.samllsheep.utils.G;
@@ -105,6 +108,8 @@ public class ActGameGroupOrGameDetail extends BaseActivity {
         return R.layout.act_game_group_or_game_detail;
     }
 
+    @BindView(R.id.gc_game_app_discount_desc_btn)
+    View gc_game_app_discount_desc_btn;
     @BindView(R.id.refresh)
     SmartRefreshLayout refresh;
     @BindView(R.id.tabLayout)
@@ -123,8 +128,6 @@ public class ActGameGroupOrGameDetail extends BaseActivity {
     ImageView gc_game_app_detail_icon;
     @BindView(R.id.write_comment)
     ImageView write_comment;
-    @BindView(R.id.gc_game_app_comment_score)
-    AppCompatRatingBar gc_game_app_comment_score;
     @BindView(R.id.gc_game_app_detail_score_tv)
     TextView gc_game_app_detail_score_tv;
     @BindView(R.id.gc_game_app_detail_info_tv)
@@ -139,6 +142,8 @@ public class ActGameGroupOrGameDetail extends BaseActivity {
     TextView gc_game_app_detail_bt2;
     @BindView(R.id.gc_game_app_detail_bt3)
     TextView gc_game_app_detail_bt3;
+    @BindView(R.id.gc_game_app_hot_iv)
+    View gc_game_app_hot_iv;
     @BindView(R.id.gc_game_app_detail_tag_list)
     RecyclerView recyclerView;
     //游戏组界面:比一比
@@ -204,7 +209,7 @@ public class ActGameGroupOrGameDetail extends BaseActivity {
         ViewUtil.setVisibility(gc_game_app_detail_line, isGameGroupNull);
         if (isGameGroupNull) {
         } else {//游戏组,不显示下载按钮
-            ViewUtil.setText(item_gc_game_app_list_tv, "比一比");
+            ViewUtil.setText(item_gc_game_app_list_tv, "下载通道");
             item_gc_game_app_list_rv.setHasFixedSize(true);
             item_gc_game_app_list_rv.setNestedScrollingEnabled(false);
             item_gc_game_app_list_rv.setLayoutManager(new LinearLayoutManager(SheepApp.getInstance()));
@@ -315,11 +320,18 @@ public class ActGameGroupOrGameDetail extends BaseActivity {
                 recyclerView.getAdapter().notifyDataSetChanged();
         }
         //下载按钮
-        CommonUtil.getInstance().palyGameDetailBtnValue(false, gameEntity, gc_game_app_detail_bt2, 0);
+        if(gameEntity.getApp().getMobile_appointment()==1) {
+            CommonUtil.getInstance().palyGameDetailBtnValue(false, gameEntity, gc_game_app_detail_bt2, 0);
+        }else{
+            ViewUtil.setText(gc_game_app_detail_bt2, "立即预约");
+            ViewUtil.setOnClickListener(gc_game_app_detail_bt2, v->new GameAppointHelper(this, gameEntity).showAppointDialog());
+        }
         fgtGameDetail.loadData(gameEntity);
         ViewUtil.setVisibility(gc_game_app_detail_bt3, gameEntity.getApp().hasGameDiscountId());
+        ViewUtil.setVisibility(gc_game_app_hot_iv, gameEntity.getApp().getIsHot() == 1);
+        ViewUtil.setVisibility(gc_game_app_discount_desc_btn, gameEntity.getApp().hasGameDiscountId());
 
-        if (isAutoDownload) {//可以进行自动下载
+        if (isAutoDownload && gameEntity.getApp().getMobile_appointment()==1) {//可以进行自动下载
             if (!PackageUtil.isAppInstalled(SheepApp.getInstance(), gameEntity.getApp().getPackage_name())) {//未安装的情况才进行下载
                 gc_game_app_detail_bt2.performLongClick();
             }
@@ -329,12 +341,8 @@ public class ActGameGroupOrGameDetail extends BaseActivity {
     //更新评分
     public void updateScore(float score) {
         int progress = (int) score;
-        if (gc_game_app_comment_score != null) {
-            gc_game_app_comment_score.setMax(10);
-            gc_game_app_comment_score.setProgress(progress);
-        }
         //加载游戏评分
-        ViewUtil.setText(gc_game_app_detail_score_tv, NumberFormatUtils.retain1(score) + "分");
+        ViewUtil.setText(gc_game_app_detail_score_tv, NumberFormatUtils.retain1(score));
     }
 
     private FgtGameGift fgtGameGift;
@@ -507,6 +515,15 @@ public class ActGameGroupOrGameDetail extends BaseActivity {
         });
     }
 
+    @OnClick(R.id.gc_game_app_discount_desc_btn)
+    public void onGoDiscountDesc() {
+        CommonUtil.getInstance().getConfigValue("app_game_discount_desc_url", url -> {
+            if (TextUtils.isEmpty(url))
+                url = "http://smallstation.9yan.io/yy_shop/#/pages/index/index";
+            Jump2View.getInstance().goWeb(this, new WebParams(url, "金丹玩法"));
+        });
+    }
+
     private AbsGetDownloadListener absGetDownloadListener = new AbsGetDownloadListener(false) {
         @Override
         public String getDownloadUrl(String packageName) {

+ 5 - 8
app/src/main/java/com/sheep/gamegroup/module/game/adapter/AdpGameGroupGameCompare.java

@@ -31,13 +31,12 @@ public class AdpGameGroupGameCompare extends BaseQuickAdapter<Applications, Base
     @Override
     protected void convert(BaseViewHolder helper, Applications item) {
         TextView item_gggc_download_tv = helper.getView(R.id.item_gggc_download_tv);
-        View item_gggc_v_line = helper.itemView.findViewById(R.id.item_gggc_v_line);
         TextView item_gggc_vip_tv = helper.itemView.findViewById(R.id.item_gggc_vip_tv);
         TextView item_gggc_name_tv = helper.itemView.findViewById(R.id.item_gggc_name_tv);
         TextView item_gggc_info_tv = helper.itemView.findViewById(R.id.item_gggc_info_tv);
         TextView item_gggc_score_tv = helper.itemView.findViewById(R.id.item_gggc_score_tv);
-        AppCompatRatingBar item_gggc_score_acrb = helper.itemView.findViewById(R.id.item_gggc_score_acrb);
-        View item_gggc_line = helper.itemView.findViewById(R.id.item_gggc_line);
+        TextView item_gggc_game = helper.itemView.findViewById(R.id.item_gggc_game);
+        TextView item_gggc_version = helper.itemView.findViewById(R.id.item_gggc_version);
 
         item_gggc_vip_tv.setOnClickListener(view -> {
             CommonUtil.getInstance().getUserInfo(false, user->{
@@ -55,12 +54,10 @@ public class AdpGameGroupGameCompare extends BaseQuickAdapter<Applications, Base
         }
         boolean showVipTv = item.hasGameDiscountId();
         ViewUtil.setVisibility(item_gggc_vip_tv, showVipTv);
-        ViewUtil.setVisibility(item_gggc_v_line, showVipTv);
+        ViewUtil.setText(item_gggc_game, item.getName());
+        ViewUtil.setText(item_gggc_version, "当前版本: "+item.getVersions());
         ViewUtil.setText(item_gggc_name_tv, item.getGameFrom());
         ViewUtil.setText(item_gggc_info_tv, item.getSimpleInfo());
-        ViewUtil.setText(item_gggc_score_tv, NumberFormatUtils.retain1(item.getScore()) + "分");
-        item_gggc_score_acrb.setMax(10);
-        item_gggc_score_acrb.setProgress((int) item.getScore());
-        ViewUtil.setVisibility(item_gggc_line, helper.getAdapterPosition() + 1 != getItemCount());
+        ViewUtil.setText(item_gggc_score_tv, NumberFormatUtils.retain1(item.getScore()));
     }
 }

+ 144 - 0
app/src/main/java/com/sheep/gamegroup/module/game/util/GameAppointHelper.java

@@ -0,0 +1,144 @@
+package com.sheep.gamegroup.module.game.util;
+
+import android.app.Dialog;
+import android.content.Context;
+import android.text.TextUtils;
+import android.view.LayoutInflater;
+import android.view.View;
+import android.widget.TextView;
+
+import com.alibaba.fastjson.JSON;
+import com.alibaba.fastjson.JSONObject;
+import com.sheep.gamegroup.model.entity.BaseMessage;
+import com.sheep.gamegroup.model.entity.GameEntity;
+import com.sheep.gamegroup.model.entity.UserEntity;
+import com.sheep.gamegroup.model.util.SheepSubscriber;
+import com.sheep.gamegroup.util.DataUtil;
+import com.sheep.gamegroup.util.RxjavaCountDownTimer;
+import com.sheep.gamegroup.util.ViewUtil;
+import com.sheep.groups.creditcard.RegexUtils;
+import com.sheep.jiuyan.samllsheep.R;
+import com.sheep.jiuyan.samllsheep.SheepApp;
+import com.sheep.jiuyan.samllsheep.utils.G;
+
+import butterknife.BindView;
+import butterknife.ButterKnife;
+import butterknife.OnClick;
+import io.reactivex.android.schedulers.AndroidSchedulers;
+import io.reactivex.schedulers.Schedulers;
+
+public class GameAppointHelper {
+
+    private GameEntity game;
+
+    private Context context;
+
+    @BindView(R.id.mobile_view)
+    TextView mobile_view;
+    @BindView(R.id.code_view)
+    TextView code_view;
+    @BindView(R.id.get_code_btn)
+    TextView get_code_btn;
+
+    boolean hasMobile = false;
+
+    public GameAppointHelper(Context context, GameEntity game) {
+        this.context = context;
+        this.game = game;
+        hasMobile = DataUtil.getInstance().getUserEntity().isBindMobile();
+    }
+
+    public void showAppointDialog() {
+        View content = bindView();
+        ViewUtil.showConfirmDialog(context, "请输入手机号", content, "取消", "提交预约", false, (dialog) -> {
+            if (!RegexUtils.isMobileSimple(mobile_view.getText().toString())) {
+                G.showToast("请输入正确的手机号");
+                return;
+            }
+            if (!hasMobile) {
+                if (TextUtils.isEmpty(code_view.getText().toString())) {
+                    G.showToast("请输入验证码");
+                    return;
+                }
+            }
+            appoint(dialog);
+        }).show();
+    }
+
+    private void appoint(Dialog dialog) {
+        JSONObject json = new JSONObject();
+        json.put("app_id", game.getApp().getId());
+        json.put("mobile", mobile_view.getText().toString());
+        if (!hasMobile) {
+            json.put("captcha", code_view.getText().toString());
+        }
+        SheepApp.getInstance()
+                .getNetComponent()
+                .getApiService()
+                .appointGame(json)
+                .subscribeOn(Schedulers.io())
+                .observeOn(AndroidSchedulers.mainThread())
+                .subscribe(new SheepSubscriber<BaseMessage>(context) {
+                    @Override
+                    public void onError(BaseMessage baseMessage) {
+                        G.showToast(baseMessage);
+                    }
+
+                    @Override
+                    public void onNext(BaseMessage baseMessage) {
+                        G.showToast("预约成功");
+                        dialog.dismiss();
+                    }
+                });
+    }
+
+    private View bindView() {
+        View view = LayoutInflater.from(context).inflate(R.layout.dialog_game_appoint, null, false);
+        ButterKnife.bind(this, view);
+        if (hasMobile) {
+            ViewUtil.setVisibility(code_view, !hasMobile);
+            ViewUtil.setVisibility(get_code_btn, !hasMobile);
+        }
+        return view;
+    }
+
+    @OnClick(R.id.get_code_btn)
+    void getCode() {
+        if (!RegexUtils.isMobileSimple(mobile_view.getText().toString())) {
+            G.showToast("请输入正确的手机号");
+            return;
+        }
+        JSONObject json = new JSONObject();
+        json.put("mobile", mobile_view.getText().toString());
+        SheepApp.getInstance().getNetComponent().getApiService().sendCommonCaptcha(json)
+                .subscribeOn(Schedulers.io())
+                .observeOn(AndroidSchedulers.mainThread())
+                .subscribe(new SheepSubscriber<BaseMessage>(SheepApp.getInstance()) {
+
+                    @Override
+                    public void onNext(BaseMessage baseMessage) {
+                        ViewUtil.setEnabled(get_code_btn, false);
+                        G.shortToast("验证码已发送");
+                        RxjavaCountDownTimer.getInstance(60)
+                                .setOnTickListener(new RxjavaCountDownTimer.OnTickListener() {
+                                    @Override
+                                    public void onFinish() {
+                                        ViewUtil.setEnabled(get_code_btn, true);
+                                        ViewUtil.setText(get_code_btn, "获取验证码");
+                                    }
+
+                                    @Override
+                                    public void onTicker(long time) {
+                                        ViewUtil.setText(get_code_btn, time + "秒");
+                                    }
+                                }).start();
+                    }
+
+                    @Override
+                    public void onError(BaseMessage baseMessage) {
+                        G.showToast(baseMessage);
+                    }
+                });
+    }
+
+}

+ 31 - 0
app/src/main/java/com/sheep/gamegroup/util/ViewUtil.java

@@ -1419,6 +1419,37 @@ public class ViewUtil {
         return dialog;
     }
 
+    public static AlertDialog showConfirmDialog(Context mContext
+            , String title
+            , View content
+            , String cancelText
+            , String confirmString
+            , boolean isDismiss
+            , OnConfirDialogListener confirmListener) {
+        View container = View.inflate(mContext, R.layout.dialog_confirm, null);
+        final AlertDialog dialog = new AlertDialog.Builder(mContext, mContext instanceof Activity ? R.style.MyDialogActivityTheme : R.style.AppTheme_Dialog_Alert)
+                .setView(container)
+                .create();
+        TextView titleView = container.findViewById(R.id.dialog_title);
+        titleView.setText(title);
+        LinearLayout contentContainer = container.findViewById(R.id.dialog_center_ll);
+        contentContainer.addView(content, ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.WRAP_CONTENT);
+        TextView cancelBtn = container.findViewById(R.id.cancel_btn);
+        cancelBtn.setText(cancelText);
+        cancelBtn.setOnClickListener((v) -> {
+            dialog.dismiss();
+        });
+        TextView confirmBtn = container.findViewById(R.id.confirm_btn);
+        confirmBtn.setText(confirmString);
+        confirmBtn.setOnClickListener((v) -> {
+            if(isDismiss) {
+                dialog.dismiss();
+            }
+            confirmListener.onActin(dialog);
+        });
+        return dialog;
+    }
+
     public interface OnConfirDialogListener {
         void onActin(Dialog d);
     }

BIN
app/src/main/res/drawable-xxhdpi/download_channel.png


+ 12 - 0
app/src/main/res/drawable/shape_btn_yellow_one_round.xml

@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="utf-8"?>
+<shape xmlns:android="http://schemas.android.com/apk/res/android"
+    android:shape="rectangle">
+    <solid android:color="#ffffdd8b" />
+    <gradient
+        android:angle="-90"
+        android:endColor="#ffffd0b1"
+        android:startColor="#ffffdd8b"
+        android:type="linear"
+        android:useLevel="true" />
+    <corners android:bottomLeftRadius="20dp" />
+</shape>

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

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

+ 72 - 43
app/src/main/res/layout/act_game_group_or_game_detail.xml

@@ -126,99 +126,128 @@
                     android:layout_width="match_parent"
                     android:layout_height="wrap_content">
 
+                    <LinearLayout
+                        android:id="@+id/gc_game_app_discount_desc_btn"
+                        android:background="@drawable/shape_btn_yellow_one_round"
+                        app:layout_constraintTop_toTopOf="parent"
+                        app:layout_constraintEnd_toEndOf="parent"
+                        android:orientation="horizontal"
+                        android:visibility="gone"
+                        android:gravity="center"
+                        android:layout_width="88dp"
+                        android:layout_height="20dp">
+                        <TextView
+                            android:text="金丹玩法"
+                            android:textSize="11sp"
+                            android:layout_marginStart="10dp"
+                            android:textColor="@color/black_333333"
+                            android:layout_width="wrap_content"
+                            android:layout_height="wrap_content" />
+                        <ImageView
+                            android:layout_width="10dp"
+                            android:layout_height="10dp"
+                            android:scaleType="centerInside"
+                            android:src="@drawable/narrow_back_black"
+                            android:tint="@color/black_333333"
+                            android:rotation="180" />
+                    </LinearLayout>
+
                     <ImageView
                         android:id="@+id/gc_game_app_detail_icon"
-                        android:layout_width="106dp"
-                        android:layout_height="106dp"
+                        android:layout_width="62dp"
+                        android:layout_height="62dp"
                         android:layout_marginStart="16dp"
                         android:layout_marginTop="20dp"
+                        android:layout_marginBottom="20dp"
                         android:src="@drawable/icon_lj"
-                        app:layout_constraintBottom_toTopOf="@id/gc_game_app_comment_score"
                         app:layout_constraintStart_toStartOf="parent"
-                        app:layout_constraintTop_toTopOf="parent" />
-
-                    <android.support.v7.widget.AppCompatRatingBar
-                        android:id="@+id/gc_game_app_comment_score"
-                        style="@style/style_rating_bar"
-                        android:layout_width="wrap_content"
-                        android:layout_marginTop="20dp"
-                        android:layout_marginBottom="20dp"
-                        android:isIndicator="true"
-                        android:numStars="5"
-                        android:rating="0"
-                        android:stepSize="0.5"
                         app:layout_constraintBottom_toBottomOf="parent"
-                        app:layout_constraintStart_toStartOf="@id/gc_game_app_detail_icon"
-                        app:layout_constraintTop_toBottomOf="@id/gc_game_app_detail_icon" />
+                        app:layout_constraintTop_toTopOf="parent" />
 
                     <TextView
                         android:id="@+id/gc_game_app_detail_score_tv"
                         android:layout_width="0dp"
                         android:layout_height="wrap_content"
-                        android:layout_marginStart="7dp"
+                        android:layout_marginRight="40dp"
+                        android:layout_marginTop="32dp"
                         android:textColor="#ffffd042"
-                        android:textSize="12sp"
-                        app:layout_constraintBottom_toBottomOf="@id/gc_game_app_comment_score"
-                        app:layout_constraintStart_toEndOf="@id/gc_game_app_comment_score"
-                        app:layout_constraintTop_toTopOf="@id/gc_game_app_comment_score" />
+                        android:textSize="15sp"
+                        android:text="9.5"
+                        app:layout_constraintTop_toTopOf="parent"
+                        app:layout_constraintRight_toRightOf="parent" />
 
                     <TextView
                         android:id="@+id/gc_game_app_detail_name"
                         android:layout_width="0dp"
                         android:layout_height="wrap_content"
-                        android:layout_marginStart="23dp"
+                        android:layout_marginStart="10dp"
                         android:layout_marginEnd="16dp"
                         android:gravity="center_vertical"
                         android:textColor="#ff333333"
-                        android:textSize="18sp"
-                        app:layout_constraintBottom_toTopOf="@id/gc_game_app_detail_tag_list"
-                        app:layout_constraintEnd_toEndOf="parent"
+                        android:textSize="15sp"
+                        android:text="舞动乾坤"
                         app:layout_constraintStart_toEndOf="@id/gc_game_app_detail_icon"
                         app:layout_constraintTop_toTopOf="@id/gc_game_app_detail_icon" />
 
+                    <ImageView
+                        android:id="@+id/gc_game_app_hot_iv"
+                        android:src="@mipmap/hot"
+                        app:layout_constraintTop_toTopOf="parent"
+                        app:layout_constraintStart_toEndOf="@+id/gc_game_app_detail_name"
+                        android:layout_marginTop="18dp"
+                        android:layout_marginStart="3dp"
+                        android:visibility="gone"
+                        android:layout_width="8dp"
+                        android:layout_height="10dp" />
+
                     <android.support.v7.widget.RecyclerView
                         android:id="@+id/gc_game_app_detail_tag_list"
                         android:layout_width="0dp"
                         android:layout_height="wrap_content"
-                        app:layout_constraintBottom_toTopOf="@id/gc_game_app_detail_info_tv"
-                        app:layout_constraintEnd_toEndOf="@id/gc_game_app_detail_name"
-                        app:layout_constraintStart_toStartOf="@id/gc_game_app_detail_name"
-                        app:layout_constraintTop_toBottomOf="@id/gc_game_app_detail_name" />
+                        android:layout_marginTop="6dp"
+                        app:layout_constraintEnd_toEndOf="parent"
+                        app:layout_constraintTop_toBottomOf="@id/gc_game_app_detail_name"
+                        app:layout_constraintStart_toStartOf="@id/gc_game_app_detail_name" />
 
                     <TextView
                         android:id="@+id/gc_game_app_detail_info_tv"
                         android:layout_width="0dp"
                         android:layout_height="wrap_content"
                         android:lineSpacingExtra="5dp"
+                        android:text="1.8万人在玩   |   1.2G"
                         android:textColor="#ff999999"
                         android:textSize="12sp"
-                        app:layout_constraintBottom_toTopOf="@id/gc_game_app_detail_bt1"
-                        app:layout_constraintEnd_toEndOf="@id/gc_game_app_detail_name"
+                        android:layout_marginTop="4dp"
+                        android:layout_marginBottom="16dp"
+                        app:layout_constraintEnd_toStartOf="@id/gc_game_app_detail_score_tv"
                         app:layout_constraintStart_toStartOf="@id/gc_game_app_detail_name"
+                        app:layout_constraintBottom_toBottomOf="parent"
                         app:layout_constraintTop_toBottomOf="@id/gc_game_app_detail_tag_list" />
 
                     <TextView
                         android:id="@+id/gc_game_app_detail_bt1"
-                        android:layout_width="wrap_content"
-                        android:layout_height="30dp"
+                        android:layout_width="56dp"
+                        android:layout_height="24dp"
                         android:background="@drawable/selector_button_stroke_main"
                         android:gravity="center"
                         android:onClick="onClickFollowTv"
-                        android:paddingStart="24dp"
-                        android:paddingEnd="24dp"
+                        android:layout_marginEnd="84dp"
                         android:text="关注"
                         android:textColor="@color/selector_color_stoke_main_btn"
-                        android:textSize="14sp"
-                        app:layout_constraintBottom_toBottomOf="@id/gc_game_app_comment_score"
-                        app:layout_constraintStart_toStartOf="@id/gc_game_app_detail_name" />
+                        android:textSize="13sp"
+                        app:layout_constraintBottom_toBottomOf="@id/gc_game_app_detail_icon"
+                        app:layout_constraintEnd_toEndOf="parent" />
 
                     <TextView
                         android:id="@+id/gc_game_app_detail_bt3"
                         style="@style/style_vip_td_tv"
+                        android:textSize="13sp"
+                        android:layout_width="66dp"
+                        android:layout_height="24dp"
                         android:visibility="gone"
-                        android:layout_marginStart="30dp"
-                        app:layout_constraintBottom_toBottomOf="@id/gc_game_app_comment_score"
-                        app:layout_constraintStart_toEndOf="@id/gc_game_app_detail_bt1" />
+                        android:layout_marginEnd="12dp"
+                        app:layout_constraintBottom_toBottomOf="@id/gc_game_app_detail_icon"
+                        app:layout_constraintEnd_toEndOf="parent" />
 
                 </android.support.constraint.ConstraintLayout>
 
@@ -229,7 +258,7 @@
 
                 <include
                     android:id="@+id/gc_game_app_detail_game_list"
-                    layout="@layout/item_gc_game_app_detail_list"/>
+                    layout="@layout/item_gc_game_app_channel_list"/>
 
                 <android.support.design.widget.TabLayout
                     android:id="@+id/tabLayout"

+ 3 - 3
app/src/main/res/layout/dialog_confirm.xml

@@ -38,13 +38,13 @@
             android:layout_width="match_parent"
             android:layout_height="1dp"
             android:layout_below="@id/dialog_title"
-            android:background="#cccccc" />
+            android:background="#eeeeee" />
 
         <View
             android:layout_width="match_parent"
             android:layout_height="1dp"
             android:layout_below="@id/dialog_center_ll"
-            android:background="#cccccc" />
+            android:background="#eeeeee" />
 
         <LinearLayout
             android:layout_width="match_parent"
@@ -66,7 +66,7 @@
                 android:layout_width="1dp"
                 android:layout_height="match_parent"
                 android:layout_below="@id/dialog_center_ll"
-                android:background="#cccccc" />
+                android:background="#eeeeee" />
 
             <TextView
                 android:id="@+id/confirm_btn"

+ 50 - 0
app/src/main/res/layout/dialog_game_appoint.xml

@@ -0,0 +1,50 @@
+<?xml version="1.0" encoding="utf-8"?>
+<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
+    android:layout_width="match_parent"
+    android:layout_height="wrap_content"
+    android:paddingBottom="12dp">
+
+    <EditText
+        android:id="@+id/mobile_view"
+        android:hint="请输入手机号"
+        android:textSize="13sp"
+        android:inputType="phone"
+        android:textColor="#333333"
+        android:paddingLeft="8dp"
+        android:paddingRight="8dp"
+        android:layout_marginTop="12dp"
+        android:layout_marginLeft="12dp"
+        android:layout_marginRight="12dp"
+        android:background="@drawable/shape_blue_stroke_rectangle_3_radius"
+        android:layout_width="match_parent"
+        android:layout_height="40dp" />
+
+    <EditText
+        android:id="@+id/code_view"
+        android:hint="请输入验证码"
+        android:textColor="#333333"
+        android:textSize="13sp"
+        android:paddingLeft="8dp"
+        android:paddingRight="8dp"
+        android:layout_below="@+id/mobile_view"
+        android:layout_marginTop="12dp"
+        android:layout_marginLeft="12dp"
+        android:layout_marginRight="12dp"
+        android:background="@drawable/shape_blue_stroke_rectangle_3_radius"
+        android:layout_toLeftOf="@+id/get_code_btn"
+        android:layout_width="match_parent"
+        android:layout_height="40dp" />
+
+    <Button
+        android:id="@+id/get_code_btn"
+        android:text="获取验证码"
+        android:textColor="@color/white"
+        android:textSize="13sp"
+        android:layout_below="@+id/mobile_view"
+        android:layout_marginTop="12dp"
+        android:layout_alignParentRight="true"
+        android:background="@drawable/shape_btn_blue"
+        android:layout_marginRight="12dp"
+        android:layout_width="120dp"
+        android:layout_height="40dp" />
+</RelativeLayout>

+ 65 - 89
app/src/main/res/layout/item_game_group_game_compare.xml

@@ -2,120 +2,96 @@
 <android.support.constraint.ConstraintLayout 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:paddingStart="16dp"
-    android:paddingTop="20dp"
-    android:paddingEnd="16dp">
+    android:layout_height="100dp"
+    android:layout_marginLeft="16dp"
+    android:layout_marginTop="6dp"
+    android:layout_marginRight="16dp"
+    android:layout_marginBottom="6dp"
+    android:background="@drawable/shape_rect_fafafa_6"
+    android:paddingStart="10dp"
+    android:paddingTop="16dp"
+    android:paddingEnd="10dp"
+    android:paddingBottom="16dp">
 
     <TextView
-        android:id="@+id/item_gggc_download_tv"
-        style="@style/style_vip_td_tv3"
-        android:background="@drawable/selector_button_full_main"
-        android:text="去下载"
-        android:layout_marginEnd="@dimen/end_igggc_line"
-        android:textColor="@color/btn_color_main"
-        app:layout_constraintBottom_toTopOf="@id/item_gggc_v_line"
-        app:layout_constraintEnd_toEndOf="parent"
-        app:layout_constraintTop_toTopOf="@id/item_gggc_ll1" />
-
-    <View
-        android:id="@+id/item_gggc_v_line"
-        android:layout_width="1dp"
-        android:layout_height="10dp"
-        app:layout_constraintBottom_toTopOf="@id/item_gggc_vip_tv"
-        app:layout_constraintEnd_toEndOf="parent"
-        app:layout_constraintTop_toBottomOf="@id/item_gggc_download_tv" />
-
-    <TextView
-        android:id="@+id/item_gggc_vip_tv"
-        style="@style/style_vip_td_tv3"
-        android:layout_marginEnd="@dimen/end_igggc_line"
-        app:layout_constraintBottom_toBottomOf="@id/item_gggc_ll2"
-        app:layout_constraintEnd_toEndOf="parent"
-        app:layout_constraintTop_toBottomOf="@id/item_gggc_v_line" />
+        android:id="@+id/item_gggc_game"
+        android:text="武动乾坤"
+        android:textSize="15sp"
+        app:layout_constraintTop_toTopOf="parent"
+        app:layout_constraintStart_toStartOf="parent"
+        android:textColor="@color/black_333333"
+        android:layout_width="wrap_content"
+        android:layout_height="wrap_content" />
 
     <TextView
-        style="@style/style_item_end_next"
-        android:layout_width="10dp"
-        app:layout_constraintBottom_toBottomOf="@id/item_gggc_ll2"
-        app:layout_constraintEnd_toEndOf="parent"
-        app:layout_constraintTop_toTopOf="@id/item_gggc_ll1" />
+        android:id="@+id/item_gggc_version"
+        android:text="当前版本: v1.4.5.4"
+        android:textSize="10sp"
+        app:layout_constraintBottom_toBottomOf="parent"
+        app:layout_constraintStart_toStartOf="parent"
+        android:textColor="@color/black_666666"
+        android:layout_width="wrap_content"
+        android:layout_height="wrap_content" />
 
     <LinearLayout
-        android:id="@+id/item_gggc_ll1"
+        android:id="@+id/item_gggc_info_bar"
         android:layout_width="0dp"
         android:layout_height="wrap_content"
-        android:layout_marginEnd="100dp"
         android:gravity="center_vertical"
         android:orientation="horizontal"
-        app:layout_constraintBottom_toTopOf="@id/item_gggc_ll2"
-        app:layout_constraintEnd_toEndOf="parent"
         app:layout_constraintStart_toStartOf="parent"
-        app:layout_constraintTop_toTopOf="parent">
+        app:layout_constraintBottom_toTopOf="@id/item_gggc_version"
+        app:layout_constraintTop_toBottomOf="@id/item_gggc_game">
 
         <TextView
             android:id="@+id/item_gggc_name_tv"
-            android:layout_width="0dp"
+            android:layout_width="wrap_content"
             android:layout_height="wrap_content"
-            android:layout_weight="1"
-            android:text="小米"
+            android:text="凌霄殿 小绵羊"
             android:textColor="#ff333333"
-            android:textSize="14sp" />
+            android:textSize="10sp" />
+
+        <View
+            android:background="#d0d0d0"
+            android:layout_marginLeft="10dp"
+            android:layout_marginRight="10dp"
+            android:layout_width="1dp"
+            android:layout_height="10dp"/>
 
         <TextView
             android:id="@+id/item_gggc_info_tv"
-            android:layout_width="0dp"
+            android:layout_width="wrap_content"
             android:layout_height="wrap_content"
-            android:layout_weight="1"
             android:text="230万人在玩"
-            android:textColor="#ff2ebef2"
-            android:textSize="12sp" />
+            android:textColor="#ff333333"
+            android:textSize="10sp" />
     </LinearLayout>
 
-    <LinearLayout
-        android:id="@+id/item_gggc_ll2"
+
+    <TextView
+        android:id="@+id/item_gggc_score_tv"
         android:layout_width="0dp"
         android:layout_height="wrap_content"
-        android:layout_marginTop="10dp"
-        android:gravity="center_vertical"
-        android:orientation="horizontal"
-        app:layout_constraintBottom_toTopOf="@id/item_gggc_line"
-        app:layout_constraintEnd_toEndOf="@id/item_gggc_ll1"
-        app:layout_constraintStart_toStartOf="@id/item_gggc_ll1"
-        app:layout_constraintTop_toBottomOf="@id/item_gggc_ll1">
-
-
-        <TextView
-            android:id="@+id/item_gggc_score_tv"
-            android:layout_width="0dp"
-            android:layout_height="wrap_content"
-            android:layout_weight="1"
-            android:text="8.6分"
-            android:textColor="#ffffd042"
-            android:textSize="12sp" />
-
-        <RelativeLayout
-            android:layout_width="0dp"
-            android:layout_height="wrap_content"
-            android:layout_weight="1">
+        android:text="8.6"
+        android:textColor="#fdb811"
+        android:textSize="15sp"
+        android:layout_marginRight="15dp"
+        app:layout_constraintEnd_toEndOf="parent"
+        app:layout_constraintTop_toTopOf="parent" />
 
-            <android.support.v7.widget.AppCompatRatingBar
-                android:id="@+id/item_gggc_score_acrb"
-                style="@style/style_rating_bar"
-                android:layout_width="wrap_content"
-                android:isIndicator="true"
-                android:numStars="5"
-                android:rating="0"
-                android:stepSize="0.5" />
-        </RelativeLayout>
-    </LinearLayout>
+    <TextView
+        android:id="@+id/item_gggc_download_tv"
+        style="@style/style_vip_td_tv3"
+        android:background="@drawable/selector_button_full_main"
+        android:text="去下载"
+        android:textColor="@color/btn_color_main"
+        app:layout_constraintEnd_toEndOf="parent"
+        app:layout_constraintBottom_toBottomOf="parent"/>
 
-    <View
-        android:id="@+id/item_gggc_line"
-        android:layout_width="match_parent"
-        android:layout_height="1dp"
-        android:layout_marginTop="16dp"
-        android:background="#F2F2F2"
-        app:layout_constraintBottom_toBottomOf="parent"
-        app:layout_constraintTop_toBottomOf="@id/item_gggc_ll2" />
+    <TextView
+        android:id="@+id/item_gggc_vip_tv"
+        style="@style/style_vip_td_tv3"
+        android:layout_marginEnd="6dp"
+        app:layout_constraintEnd_toStartOf="@id/item_gggc_download_tv"
+        app:layout_constraintBottom_toBottomOf="parent" />
 </android.support.constraint.ConstraintLayout>

+ 52 - 0
app/src/main/res/layout/item_gc_game_app_channel_list.xml

@@ -0,0 +1,52 @@
+<?xml version="1.0" encoding="utf-8"?>
+<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
+    android:layout_width="match_parent"
+    android:layout_height="wrap_content"
+    android:orientation="vertical">
+
+    <View
+        android:id="@+id/item_gc_game_app_list_top"
+        android:layout_width="match_parent"
+        android:layout_marginStart="25dp"
+        android:layout_marginEnd="25dp"
+        android:layout_height="1dp"
+        android:background="#F2F2F2" />
+
+    <LinearLayout style="@style/style_wc_rl">
+
+        <ImageView
+            android:src="@drawable/download_channel"
+            android:layout_marginTop="18dp"
+            android:layout_marginStart="16dp"
+            android:layout_marginEnd="8dp"
+            android:layout_width="20dp"
+            android:layout_height="20dp" />
+
+        <TextView
+            android:id="@+id/item_gc_game_app_list_tv"
+            style="@style/style_wc_line_title"
+            android:drawableStart="@null"
+            android:paddingStart="0dp"
+            android:layout_weight="1"
+            android:text="游戏介绍" />
+
+        <TextView
+            android:id="@+id/item_gc_game_app_list_more_tv"
+            style="@style/style_wc_more"
+            android:visibility="invisible"
+            android:text="更多" />
+    </LinearLayout>
+
+    <android.support.v7.widget.RecyclerView
+        android:id="@+id/item_gc_game_app_list_rv"
+        android:layout_width="match_parent"
+        android:layout_height="wrap_content"
+        android:layout_marginBottom="10dp"
+        android:layout_marginTop="10dp"/>
+    <View
+        android:id="@+id/item_gc_game_app_list_bottom"
+        android:layout_width="match_parent"
+        android:layout_height="10dp"
+        android:background="#f5f5f5"
+        android:visibility="gone"/>
+</LinearLayout>

BIN
app/src/main/res/mipmap-xxhdpi/hot.png