hanjing лет назад: 6
Родитель
Сommit
c4a12ddbae

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

@@ -1883,4 +1883,7 @@ public interface ApiService {
      */
     @GET("app/user/is_shou_you")
     Observable<BaseMessage> getUserIsShouYou(@Query("invitation_code") String invitation_code);
+
+    @GET("app/find/app_special")
+    Observable<BaseMessage> getAppSpecial();
 }

+ 96 - 0
app/src/main/java/com/sheep/gamegroup/model/entity/AppSpecial.java

@@ -0,0 +1,96 @@
+package com.sheep.gamegroup.model.entity;
+
+public class AppSpecial {
+
+    private long id;
+    private String name;
+    private String main_publicize;
+    private String icon;
+    private String created_str;
+    private String created_at;
+    private String updated_at;
+    private int is_display;
+    private double sort;
+
+    private String[] app_icons;
+
+    public long getId() {
+        return id;
+    }
+
+    public void setId(long id) {
+        this.id = id;
+    }
+
+    public String getName() {
+        return name;
+    }
+
+    public void setName(String name) {
+        this.name = name;
+    }
+
+    public String getMain_publicize() {
+        return main_publicize;
+    }
+
+    public void setMain_publicize(String main_publicize) {
+        this.main_publicize = main_publicize;
+    }
+
+    public String getIcon() {
+        return icon;
+    }
+
+    public void setIcon(String icon) {
+        this.icon = icon;
+    }
+
+    public String getCreated_str() {
+        return created_str;
+    }
+
+    public void setCreated_str(String created_str) {
+        this.created_str = created_str;
+    }
+
+    public String getCreated_at() {
+        return created_at;
+    }
+
+    public void setCreated_at(String created_at) {
+        this.created_at = created_at;
+    }
+
+    public String getUpdated_at() {
+        return updated_at;
+    }
+
+    public void setUpdated_at(String updated_at) {
+        this.updated_at = updated_at;
+    }
+
+    public int getIs_display() {
+        return is_display;
+    }
+
+    public void setIs_display(int is_display) {
+        this.is_display = is_display;
+    }
+
+    public double getSort() {
+        return sort;
+    }
+
+    public void setSort(double sort) {
+        this.sort = sort;
+    }
+
+    public String[] getApp_icons() {
+        return app_icons;
+    }
+
+    public void setApp_icons(String[] app_icons) {
+        this.app_icons = app_icons;
+    }
+}

+ 28 - 12
app/src/main/java/com/sheep/gamegroup/model/entity/GameListType.java

@@ -19,6 +19,7 @@ public class GameListType implements Serializable {
     private int port_type;
     private int display_type;
     private boolean isGameGroup;
+    private long special_id;
 
     public boolean isGameGroup() {
         return isGameGroup;
@@ -100,21 +101,36 @@ public class GameListType implements Serializable {
         this.display_type = display_type;
     }
 
+    public long getSpecial_id() {
+        return special_id;
+    }
+
+    public void setSpecial_id(long special_id) {
+        this.special_id = special_id;
+    }
+
     public Map<String, Object> getMap() {
         Map<String, Object> map = new HashMap<>();
-        if(download_type > 0){
-            map.put("download_type", download_type);
-        } else if(tag_id > 0){
-            map.put("tag_id", tag_id);
+        if (special_id > 0) {
+            map.put("special_id", special_id);
         } else {
-            map.put("is_hot", is_hot);
-            map.put("daily_play", daily_play);
-        }
-        if(type > 0){
-            map.put("type", type);
-        }
-        if(port_type > 0){
-            map.put("port_type", port_type);
+            if (download_type > 0) {
+                map.put("download_type", download_type);
+            } else if (tag_id > 0) {
+                map.put("tag_id", tag_id);
+            } else {
+                map.put("is_hot", is_hot);
+                map.put("daily_play", daily_play);
+            }
+            if (type > 0) {
+                map.put("type", type);
+            }
+            if (port_type > 0) {
+                map.put("port_type", port_type);
+            }
+            if (port_type > 0) {
+                map.put("port_type", port_type);
+            }
         }
         return map;
     }

+ 5 - 5
app/src/main/java/com/sheep/gamegroup/module/game/fragment/FgtGameCenter.java

@@ -94,11 +94,11 @@ public class FgtGameCenter extends BaseFragment {
         backBtn.setVisibility((getActivity() instanceof ActMain) ? View.GONE : View.VISIBLE);
         TitleFragmentListAdapter mAdapter = new TitleFragmentListAdapter(getChildFragmentManager());
         mAdapter.add(new FgtPlayGame(), "玩转游戏");
-//        mAdapter.add(new com.sheep.gamegroup.view.fragment.FgtGiftCenter(), "礼包中心");
-        mAdapter.add(FgtWebX5.newInstance(new WebParams(Config.getUrlByPath(Config.PATH_WELFARE_HOME))), "福利中心");
-        mAdapter.add(FgtFindChild.newInstance(new ArticleTag(-1, 1)), "游戏资讯");
-        gameMallFgt = FgtWebX5.newInstance(new WebParams(Config.getUrlByPath(Config.PATH_GAME_SHOP_HOME)));
-        mAdapter.add(gameMallFgt, "游戏商城");
+        mAdapter.add(new com.sheep.gamegroup.view.fragment.FgtGiftCenter(), "礼包中心");
+//        mAdapter.add(FgtWebX5.newInstance(new WebParams(Config.getUrlByPath(Config.PATH_WELFARE_HOME))), "福利中心");
+//        mAdapter.add(FgtFindChild.newInstance(new ArticleTag(-1, 1)), "游戏资讯");
+//        gameMallFgt = FgtWebX5.newInstance(new WebParams(Config.getUrlByPath(Config.PATH_GAME_SHOP_HOME)));
+//        mAdapter.add(gameMallFgt, "游戏商城");
         pager.setAdapter(mAdapter);
         indicator.setupWithViewPager(pager);
         CommonUtil.getInstance().reflex(indicator, getActivity(), false, G.WIDTH - G.getRealPix(144));

+ 6 - 0
app/src/main/java/com/sheep/gamegroup/module/game/fragment/FgtPlayGame.java

@@ -27,6 +27,7 @@ import com.sheep.gamegroup.module.game.util.GameNewsRecommendHelper;
 import com.sheep.gamegroup.module.game.util.HpRefreshWelfareHelper;
 import com.sheep.gamegroup.module.game.util.OneTaskHelper;
 import com.sheep.gamegroup.module.game.util.PromoteGoodsHelper;
+import com.sheep.gamegroup.module.game.util.SpecialZoneHelper;
 import com.sheep.gamegroup.util.CommonUtil;
 import com.sheep.gamegroup.util.DataUtil;
 import com.sheep.gamegroup.util.Jump2View;
@@ -109,6 +110,7 @@ public class FgtPlayGame extends BaseFragment {
 
     private FocusGameHelper mFocusGameHelper;
     private GameNewsRecommendHelper mGameNewsRecommendHelper;
+    private SpecialZoneHelper mSpecialZoneHelper;
 
     @Override
     public void onViewCreated() {
@@ -121,6 +123,7 @@ public class FgtPlayGame extends BaseFragment {
         mHpRefreshWelfareHelper = new HpRefreshWelfareHelper(hp_refresh_welfare_box);
         //玩转游戏  商城限时抢购入口
         mOneTaskHelper = new OneTaskHelper(play_game_task);
+        mSpecialZoneHelper = new SpecialZoneHelper(getView()).config();
         mFocusGameHelper = new FocusGameHelper(play_game_focus).config();
         mGameNewsRecommendHelper = new GameNewsRecommendHelper(play_game_news).config();
         //玩转游戏  商城限时抢购入口
@@ -180,6 +183,9 @@ public class FgtPlayGame extends BaseFragment {
         if (mFocusGameHelper != null) {
             mFocusGameHelper.refresh();
         }
+        if (mSpecialZoneHelper != null) {
+            mSpecialZoneHelper.refresh();
+        }
     }
 
     //获取出包类型列表 的tagList

+ 95 - 0
app/src/main/java/com/sheep/gamegroup/module/game/util/SpecialZoneHelper.java

@@ -0,0 +1,95 @@
+package com.sheep.gamegroup.module.game.util;
+
+import android.view.LayoutInflater;
+import android.view.View;
+import android.view.ViewGroup;
+import android.widget.ImageView;
+import android.widget.LinearLayout;
+import android.widget.TextView;
+import android.widget.Toast;
+
+import com.bumptech.glide.Glide;
+import com.sheep.gamegroup.model.entity.AppSpecial;
+import com.sheep.gamegroup.model.entity.Article;
+import com.sheep.gamegroup.model.entity.BaseMessage;
+import com.sheep.gamegroup.model.entity.GameListTag;
+import com.sheep.gamegroup.model.entity.GameListType;
+import com.sheep.gamegroup.model.util.SheepSubscriber;
+import com.sheep.gamegroup.util.Jump2View;
+import com.sheep.jiuyan.samllsheep.R;
+import com.sheep.jiuyan.samllsheep.SheepApp;
+import com.sheep.jiuyan.samllsheep.utils.G;
+import com.youth.banner.loader.ImageLoader;
+
+import java.util.List;
+
+import io.reactivex.android.schedulers.AndroidSchedulers;
+import io.reactivex.schedulers.Schedulers;
+
+public class SpecialZoneHelper {
+
+    private LinearLayout container;
+
+    public SpecialZoneHelper(View rootView) {
+        this.container = rootView.findViewById(R.id.special_container);
+    }
+
+    public SpecialZoneHelper config() {
+        return this;
+    }
+
+    public void refresh() {
+        SheepApp.getInstance().getNetComponent().getApiService().getAppSpecial()
+                .subscribeOn(Schedulers.io())
+                .observeOn(AndroidSchedulers.mainThread())
+                .subscribe(new SheepSubscriber<BaseMessage>(SheepApp.getInstance()) {
+
+                    @Override
+                    public void onNext(BaseMessage baseMessage) {
+                        container.removeAllViews();
+                        List<AppSpecial> list = baseMessage.getDataList(AppSpecial.class);
+                        for (AppSpecial zone : list) {
+                            View view = generateSpecialView(list.indexOf(zone), zone);
+                            container.addView(view, ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.WRAP_CONTENT);
+                        }
+                    }
+
+                    @Override
+                    public void onError(BaseMessage baseMessage) {
+                        G.showToast(baseMessage);
+                        container.setVisibility(View.GONE);
+                    }
+                });
+    }
+
+    private View generateSpecialView(int index, AppSpecial zone) {
+        View view = null;
+        if (index % 2 == 0) {
+            view = LayoutInflater.from(container.getContext()).inflate(R.layout.app_special_left, container, false);
+        } else {
+            view = LayoutInflater.from(container.getContext()).inflate(R.layout.app_special_right, container, false);
+        }
+        ImageView themeView = view.findViewById(R.id.theme_view);
+        ImageView bgView = view.findViewById(R.id.bg_view);
+        TextView titleView = view.findViewById(R.id.title_view);
+        ImageView[] iconViews = new ImageView[]{
+                view.findViewById(R.id.icon_1),
+                view.findViewById(R.id.icon_2),
+                view.findViewById(R.id.icon_3)
+        };
+        Glide.with(container.getContext()).load(zone.getMain_publicize()).into(themeView);
+        Glide.with(container.getContext()).load(zone.getIcon()).into(bgView);
+        titleView.setText(zone.getName() + "\nGO>>");
+        for (int i = 0; i < zone.getApp_icons().length && i < 3; i++) {
+            Glide.with(container.getContext()).load(zone.getApp_icons()[i]).into(iconViews[i]);
+        }
+        container.setOnClickListener(v -> {
+            GameListType type = new GameListType();
+            type.setSpecial_id(zone.getId());
+            type.setTitle(zone.getName());
+            Jump2View.getInstance().goActPlayGameList(container.getContext(), type);
+        });
+        return view;
+    }
+
+}

+ 1 - 1
app/src/main/java/com/sheep/gamegroup/util/Jump2View.java

@@ -2118,7 +2118,7 @@ public class Jump2View {
     /**
      * 每日必做、近期最热等
      */
-    public void goActPlayGameList(Activity activity, GameListType gameListType) {
+    public void goActPlayGameList(Context activity, GameListType gameListType) {
 //        Intent intent = new Intent(activity, TextUtils.equals("猜你喜欢", gameListType.getTitle()) ? ActPlayGameUserLikeList.class : ActPlayGameList.class);
         Intent intent;
         switch (gameListType.getTitle()) {

+ 1 - 1
app/src/main/java/com/sheep/gamegroup/util/TestUtil.java

@@ -293,7 +293,7 @@ public class TestUtil {
         switch (item) {
             case "协议跳转":
                 Log.i("adf","1");
-                activity.startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse("sheep://small.kfzs.com/xmy?type=jhl&data=09df861390143ec99149a6f196749428f22233a1db16480e35142fa9fc174b6a30be948d2693cf927fe4e9520f600c3021ec852a3ec3b5f641cae80069a74d72f3f2faadcb3125f84ec3eb6d28bdbecdb4127d1a905745300f99623cf333437ec85e1682f99e81c3fcef49320d3fce60")));
+                activity.startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse("sheep://small.kfzs.com/xmy?type=jss&data=83916b18ed049cbcd82f1056c1a72fdd9c7182611f8a41a0670018a16f869fa7a92b7de12c1c0602")));
                 break;
             case "测试跳转":
                 testSkip(activity);

+ 9 - 2
app/src/main/java/com/sheep/gamegroup/view/activity/ActPlayGameList.java

@@ -10,11 +10,13 @@ import com.sheep.gamegroup.model.entity.GameListType;
 import com.sheep.gamegroup.util.DataUtil;
 import com.sheep.gamegroup.util.StringUtils;
 import com.sheep.gamegroup.view.adapter.PlayGameItemAdapter;
+import com.sheep.gamegroup.view.adapter.SpecialGameItemAdapter;
 import com.sheep.jiuyan.samllsheep.utils.TitleBarUtils;
 
 import java.util.Locale;
 
 import io.reactivex.Observable;
+
 /**
  * Created by realicing on 2018/10/31.
  * realicing@sina.com
@@ -32,9 +34,14 @@ public class ActPlayGameList extends BaseListActivity2<GameEntity> {
                 .setTitle(this, gameListType.getTitle())
                 .setTitleFinish(this);
     }
+
     @Override
     protected RecyclerView.Adapter getAdapter() {
-        return new PlayGameItemAdapter(this, list);
+        if (gameListType.getSpecial_id() > 0) {
+            return new SpecialGameItemAdapter(this, list);
+        } else {
+            return new PlayGameItemAdapter(this, list);
+        }
     }
 
     @Override
@@ -49,7 +56,7 @@ public class ActPlayGameList extends BaseListActivity2<GameEntity> {
 
     @Override
     protected Class<GameEntity> getTClass() {
-            return GameEntity.class;
+        return GameEntity.class;
     }
 
 }

+ 28 - 3
app/src/main/java/com/sheep/gamegroup/view/activity/RechargeAct.java

@@ -23,10 +23,12 @@ import com.sheep.gamegroup.absBase.BaseActivity;
 import com.sheep.gamegroup.model.entity.BaseMessage;
 import com.sheep.gamegroup.model.entity.RechargeEntity;
 import com.sheep.gamegroup.model.entity.RechargePriceEntity;
+import com.sheep.gamegroup.model.entity.UserEntity;
 import com.sheep.gamegroup.model.util.SheepSubscriber;
 import com.sheep.gamegroup.module.user.activity.ActVip;
 import com.sheep.gamegroup.util.ApiJSONUtil;
 import com.sheep.gamegroup.util.CommonUtil;
+import com.sheep.gamegroup.util.DataUtil;
 import com.sheep.gamegroup.util.Jump2View;
 import com.sheep.gamegroup.util.ListUtil;
 import com.sheep.gamegroup.util.LogUtil;
@@ -36,6 +38,7 @@ import com.sheep.gamegroup.view.adapter.RechargePriceAdapter;
 import com.sheep.jiuyan.samllsheep.R;
 import com.sheep.jiuyan.samllsheep.SheepApp;
 import com.sheep.jiuyan.samllsheep.utils.G;
+import com.sheep.jiuyan.samllsheep.utils.SpUtils;
 import com.sheep.jiuyan.samllsheep.utils.TitleBarUtils;
 
 import java.util.ArrayList;
@@ -63,6 +66,10 @@ public class RechargeAct extends BaseActivity {
     RecyclerView act_ral_pay_type_rv;
     @BindView(R.id.et_recharge_price)
     EditText etRechargePrice;
+    @BindView(R.id.sheep_no_view)
+    TextView sheep_no_view;
+    @BindView(R.id.nickname_view)
+    TextView nickname_view;
 
 
     private RechargePriceAdapter rechargePriceAdapter;
@@ -73,6 +80,7 @@ public class RechargeAct extends BaseActivity {
     private String mAmount = null;//支付的金额
     private boolean forResult = false;
     private String fromPackage;
+    private String fromToken;
 
     @Override
     protected void onCreate(Bundle b) {
@@ -99,13 +107,17 @@ public class RechargeAct extends BaseActivity {
         if (getIntent().hasExtra("forResult")) {
             forResult = true;
         }
-        if(getIntent().hasExtra("from_package")) {
+        if (getIntent().hasExtra("fromToken")) {
+            fromToken = getIntent().getStringExtra("fromToken");
+        }
+        if (getIntent().hasExtra("from_package")) {
             fromPackage = getIntent().getStringExtra("from_package");
         }
         TitleBarUtils.getInstance()
                 .setShowOrHide(this, true)
                 .setTitle(this, "充值")
                 .setTitleFinish(this);
+
     }
 
     @Override
@@ -114,6 +126,9 @@ public class RechargeAct extends BaseActivity {
 
     @Override
     public void initData() {
+        UserEntity user = DataUtil.getInstance().getUserEntity();
+        sheep_no_view.append(user.getInvitation_code());
+        nickname_view.append(user.getNickname());
         addDatas();
         /*
           支付金额选择
@@ -169,8 +184,18 @@ public class RechargeAct extends BaseActivity {
         act_ral_pay_type_rv.setLayoutManager(new LinearLayoutManager(SheepApp.getInstance()));
         rechargeAdapter.bindToRecyclerView(act_ral_pay_type_rv);
 
-        showProgress();
-        getRechargePayway();
+        if (fromToken != null) {
+            if (fromToken.equals(SpUtils.getToken(SheepApp.getInstance()))) {
+                showProgress();
+                getRechargePayway();
+            } else {
+                String result = "9001";
+                Jump2View.getInstance().goRechargeResult(RechargeAct.this, result, fromPackage, null);
+            }
+        } else {
+            showProgress();
+            getRechargePayway();
+        }
     }
 
     private List<RechargeEntity> rechargeEntityList = new ArrayList<>();

+ 77 - 0
app/src/main/java/com/sheep/gamegroup/view/adapter/SpecialGameItemAdapter.java

@@ -0,0 +1,77 @@
+package com.sheep.gamegroup.view.adapter;
+
+import android.content.Context;
+import android.view.View;
+import android.widget.ImageView;
+import android.widget.LinearLayout;
+import android.widget.TextView;
+
+import com.bumptech.glide.Glide;
+import com.sheep.gamegroup.greendao.download.DownLoadInfo;
+import com.sheep.gamegroup.model.api.IDownload;
+import com.sheep.gamegroup.model.entity.GameEntity;
+import com.sheep.gamegroup.util.CommonUtil;
+import com.sheep.gamegroup.util.DownloadUtil;
+import com.sheep.gamegroup.util.GlideImageLoader;
+import com.sheep.gamegroup.util.Jump2View;
+import com.sheep.gamegroup.util.TestUtil;
+import com.sheep.gamegroup.util.ViewHolder;
+import com.sheep.gamegroup.util.ViewUtil;
+import com.sheep.jiuyan.samllsheep.R;
+import com.sheep.jiuyan.samllsheep.utils.G;
+
+import java.util.List;
+
+/**
+ * Created by ljy on 2018/9/3.
+ */
+
+public class SpecialGameItemAdapter extends AdbCommonRecycler<GameEntity> {
+
+    public SpecialGameItemAdapter(Context context, List<GameEntity> list) {
+        super(context, list);
+    }
+
+    @Override
+    public int getViewIdByType(int type) {
+        return R.layout.play_game_special_list_item;
+    }
+
+    @Override
+    public void convert(ViewHolder holder, final GameEntity gameEntity) {
+        holder.itemView.setOnClickListener(v -> Jump2View.getInstance().goPlayGameDetail(gameEntity.getApp().getId()));
+        if (TestUtil.isTest())
+            holder.itemView.setOnLongClickListener(view -> {
+                IDownload download = gameEntity.getDownload();
+                DownloadUtil downloadUtil = new DownloadUtil();
+                final DownLoadInfo downLoadInfo = downloadUtil.getDownloadTaskByUrl(download);
+                downloadUtil.delete(downLoadInfo);
+                downloadUtil.start(downloadUtil.getDownloadTaskByUrl(download));
+                downloadUtil.setDownloadTaskStatus(download.getDownload_link(), DownloadUtil.STATUS_INIT);
+                G.showToast("游戏下载开始");
+                return true;
+            });
+        TextView detail_task_tv_center = holder.itemView.findViewById(R.id.detail_task_tv_center);
+        TextView item_name_tv = holder.itemView.findViewById(R.id.item_name_tv);
+        TextView item_date_tv = holder.itemView.findViewById(R.id.item_date_tv);
+        LinearLayout ll_game_tag = holder.itemView.findViewById(R.id.ll_game_tag);
+        ImageView[] imageViews = new ImageView[]{
+                holder.itemView.findViewById(R.id.image_view_1),
+                holder.itemView.findViewById(R.id.image_view_2),
+                holder.itemView.findViewById(R.id.image_view_3),
+        };
+        String[] pictures = gameEntity.getApp().getPictures().split(";");
+        for (int i = 0; i < pictures.length && i < 3; i++) {
+            Glide.with(context).load(pictures[i]).into(imageViews[i]);
+        }
+        ViewUtil.setText(item_name_tv, gameEntity.getApp().getName());
+        ViewUtil.setText(item_date_tv, gameEntity.getApp().getPackage_size() + "M");
+        GlideImageLoader.setGameImage(holder.itemView.findViewById(R.id.item_icon_iv), gameEntity.getApp().getIcon());
+        CommonUtil.getInstance().palyGameDetailBtnValue(true, gameEntity, detail_task_tv_center, 1);
+
+        //tag 标签绘制
+        CommonUtil.getInstance().paintLineaLayout(gameEntity, ll_game_tag, 4, R.color.txt_bule, R.drawable.shape_blue_stroke_rectangle_no_lb);
+
+
+    }
+}

+ 62 - 0
app/src/main/res/layout/app_special_left.xml

@@ -0,0 +1,62 @@
+<?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="100dp"
+    android:orientation="horizontal">
+
+
+    <ImageView
+        android:id="@+id/theme_view"
+        android:layout_width="match_parent"
+        android:layout_height="100dp"
+        android:layout_weight="1"
+        android:scaleType="centerCrop" />
+
+    <RelativeLayout
+        android:layout_width="match_parent"
+        android:layout_height="100dp"
+        android:layout_weight="2"
+        android:orientation="horizontal">
+
+        <ImageView
+            android:id="@+id/bg_view"
+            android:layout_width="match_parent"
+            android:layout_height="100dp"
+            android:scaleType="centerCrop" />
+
+        <TextView
+            android:id="@+id/title_view"
+            android:layout_width="match_parent"
+            android:layout_height="60dp"
+            android:gravity="center"
+            android:text="腾讯专区\nGO>>"
+            android:textColor="@color/white"
+            android:textSize="13sp" />
+
+        <LinearLayout
+            android:layout_width="match_parent"
+            android:layout_height="50dp"
+            android:layout_alignParentBottom="true"
+            android:gravity="center"
+            android:orientation="horizontal">
+
+            <ImageView
+                android:id="@+id/icon_1"
+                android:layout_width="32dp"
+                android:layout_height="32dp" />
+
+            <ImageView
+                android:id="@+id/icon_2"
+                android:layout_width="32dp"
+                android:layout_height="32dp"
+                android:layout_marginLeft="6dp"
+                android:layout_marginRight="6dp" />
+
+            <ImageView
+                android:id="@+id/icon_3"
+                android:layout_width="32dp"
+                android:layout_height="32dp" />
+        </LinearLayout>
+    </RelativeLayout>
+
+</LinearLayout>

+ 60 - 0
app/src/main/res/layout/app_special_right.xml

@@ -0,0 +1,60 @@
+<?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="100dp"
+    android:orientation="horizontal">
+
+    <RelativeLayout
+        android:layout_width="match_parent"
+        android:layout_height="100dp"
+        android:layout_weight="2"
+        android:orientation="horizontal">
+
+        <ImageView
+            android:id="@+id/bg_view"
+            android:layout_width="match_parent"
+            android:layout_height="100dp"
+            android:scaleType="centerCrop" />
+
+        <TextView
+            android:id="@+id/title_view"
+            android:layout_width="match_parent"
+            android:layout_height="60dp"
+            android:gravity="center"
+            android:text="腾讯专区\nGO>>"
+            android:textColor="@color/white"
+            android:textSize="13sp" />
+
+        <LinearLayout
+            android:layout_width="match_parent"
+            android:layout_height="50dp"
+            android:layout_alignParentBottom="true"
+            android:gravity="center"
+            android:orientation="horizontal">
+
+            <ImageView
+                android:id="@+id/icon_1"
+                android:layout_width="32dp"
+                android:layout_height="32dp" />
+
+            <ImageView
+                android:id="@+id/icon_2"
+                android:layout_width="32dp"
+                android:layout_height="32dp"
+                android:layout_marginLeft="6dp"
+                android:layout_marginRight="6dp" />
+
+            <ImageView
+                android:id="@+id/icon_3"
+                android:layout_width="32dp"
+                android:layout_height="32dp" />
+        </LinearLayout>
+    </RelativeLayout>
+    <ImageView
+        android:id="@+id/theme_view"
+        android:layout_width="match_parent"
+        android:layout_height="100dp"
+        android:layout_weight="1"
+        android:scaleType="centerCrop" />
+
+</LinearLayout>

+ 10 - 3
app/src/main/res/layout/fgt_play_game.xml

@@ -29,14 +29,21 @@
                 android:id="@+id/play_game_news"
                 layout="@layout/item_game_news" />
 
+            <LinearLayout
+                android:id="@+id/special_container"
+                android:background="@color/white"
+                android:layout_width="match_parent"
+                android:layout_height="wrap_content"
+                android:orientation="vertical"></LinearLayout>
+
             <android.support.v7.widget.RecyclerView
                 android:id="@+id/play_game_center_type_list"
                 android:layout_width="match_parent"
                 android:layout_height="wrap_content"
-                android:layout_marginBottom="10dp"
-                android:visibility="gone"
+                android:layout_marginStart="2dp"
                 android:layout_marginEnd="2dp"
-                android:layout_marginStart="2dp" />
+                android:layout_marginBottom="10dp"
+                android:visibility="gone" />
 
             <include
                 android:id="@+id/hp_refresh_welfare_box"

+ 0 - 4
app/src/main/res/layout/inclue_hp_refresh_welfare_box.xml

@@ -6,10 +6,6 @@
     android:background="@color/white"
     android:orientation="vertical">
 
-    <View
-        android:layout_width="match_parent"
-        android:layout_height="10dp"
-        android:background="@color/bg_home_color"/>
     <include
         android:id="@+id/hp_game_welfare_entrance"
         android:layout_width="match_parent"

+ 167 - 0
app/src/main/res/layout/play_game_special_list_item.xml

@@ -0,0 +1,167 @@
+<?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="wrap_content"
+    android:orientation="vertical">
+
+    <android.support.constraint.ConstraintLayout
+        android:layout_width="match_parent"
+        android:layout_height="wrap_content"
+        android:layout_marginStart="12dp"
+        android:layout_marginTop="@dimen/content_padding_10"
+        android:layout_marginEnd="12dp">
+
+        <ImageView
+            android:id="@+id/item_icon_iv"
+            android:layout_width="70dp"
+            android:layout_height="70dp"
+            android:src="@drawable/icon_lj"
+            app:layout_constraintStart_toStartOf="parent"
+            app:layout_constraintTop_toTopOf="parent" />
+
+
+        <TextView
+            android:id="@+id/end_of_time_tv"
+            android:layout_width="0dp"
+            android:layout_height="wrap_content"
+            android:layout_marginStart="@dimen/content_padding_4"
+            android:layout_marginTop="55dp"
+            android:layout_marginEnd="@dimen/content_padding_4"
+            android:background="@drawable/shape_ash_stroke_white_solid_rectangle"
+            android:gravity="center"
+            android:lines="1"
+            android:textColor="#989898"
+            android:textSize="12sp"
+            android:visibility="gone"
+            app:layout_constraintEnd_toEndOf="@+id/item_icon_iv"
+            app:layout_constraintStart_toStartOf="@+id/item_icon_iv"
+            app:layout_constraintTop_toTopOf="parent" />
+
+        <LinearLayout
+            android:layout_width="0dp"
+            android:layout_height="70dp"
+            android:layout_marginStart="@dimen/content_padding"
+            android:orientation="vertical"
+            app:layout_constraintBottom_toBottomOf="parent"
+            app:layout_constraintEnd_toStartOf="@id/detail_task_tv_center"
+            app:layout_constraintStart_toEndOf="@id/item_icon_iv"
+            app:layout_constraintTop_toTopOf="parent">
+
+            <TextView
+                android:id="@+id/item_name_tv"
+                android:layout_width="match_parent"
+                android:layout_height="wrap_content"
+                android:ellipsize="middle"
+                android:gravity="start"
+                android:maxLines="2"
+                android:text=""
+                android:textColor="#444444"
+                android:textSize="14sp" />
+
+            <View
+                android:layout_width="match_parent"
+                android:layout_height="0dp"
+                android:layout_weight="3" />
+
+            <LinearLayout
+                android:layout_width="match_parent"
+                android:layout_height="wrap_content"
+                android:layout_marginTop="@dimen/content_padding_2"
+                android:layout_marginEnd="@dimen/content_padding_8"
+                android:orientation="horizontal">
+
+                <TextView
+                    android:id="@+id/item_date_tv"
+                    android:layout_width="0dp"
+                    android:layout_height="wrap_content"
+                    android:layout_weight="1"
+                    android:lines="1"
+                    android:text=""
+                    android:textColor="#cc8e8e8e"
+                    android:textSize="10sp" />
+
+                <ImageView
+                    android:id="@+id/item_date_question_img"
+                    android:layout_width="15dp"
+                    android:layout_height="15dp"
+                    android:src="@mipmap/task_game_qustion_icon"
+                    android:visibility="gone"
+                    app:layout_constraintEnd_toEndOf="parent"
+                    app:layout_constraintStart_toEndOf="@+id/item_date_tv" />
+            </LinearLayout>
+
+            <View
+                android:layout_width="match_parent"
+                android:layout_height="0dp"
+                android:layout_weight="1" />
+
+            <LinearLayout
+                android:id="@+id/ll_game_tag"
+                android:layout_width="match_parent"
+                android:layout_height="wrap_content"
+                android:gravity="center_vertical"
+                android:orientation="horizontal" />
+
+
+        </LinearLayout>
+
+        <TextView
+            android:id="@+id/detail_task_tv_center"
+            style="@style/style_button_find"
+            android:layout_centerInParent="true"
+            android:text="@string/task_cancel"
+            android:visibility="visible"
+            app:layout_constraintBottom_toTopOf="@id/detail_task_tv_center2"
+            app:layout_constraintEnd_toEndOf="parent"
+            app:layout_constraintTop_toTopOf="parent" />
+
+        <TextView
+            android:id="@+id/detail_task_tv_center2"
+            style="@style/style_vip_td_tv2"
+            android:layout_centerInParent="true"
+            android:layout_marginTop="16dp"
+            android:visibility="gone"
+            app:layout_constraintBottom_toBottomOf="@id/item_icon_iv"
+            app:layout_constraintEnd_toEndOf="parent"
+            app:layout_constraintTop_toBottomOf="@id/detail_task_tv_center" />
+
+    </android.support.constraint.ConstraintLayout>
+
+    <LinearLayout
+        android:layout_width="match_parent"
+        android:layout_height="wrap_content"
+        android:layout_marginTop="16dp"
+        android:layout_marginBottom="16dp"
+        android:layout_marginLeft="8dp"
+        android:layout_marginRight="8dp"
+        android:orientation="horizontal">
+        <ImageView
+            android:id="@+id/image_view_1"
+            android:layout_margin="4dp"
+            android:layout_weight="1"
+            android:adjustViewBounds="true"
+            android:layout_width="match_parent"
+            android:layout_height="wrap_content" />
+        <ImageView
+            android:id="@+id/image_view_2"
+            android:layout_margin="4dp"
+            android:layout_weight="1"
+            android:adjustViewBounds="true"
+            android:layout_width="match_parent"
+            android:layout_height="wrap_content" />
+        <ImageView
+            android:id="@+id/image_view_3"
+            android:layout_margin="4dp"
+            android:layout_weight="1"
+            android:adjustViewBounds="true"
+            android:layout_width="match_parent"
+            android:layout_height="wrap_content" />
+    </LinearLayout>
+
+    <View
+        android:id="@+id/line_tv"
+        android:layout_width="match_parent"
+        android:layout_height="8dp"
+        android:background="@color/gray_F0F0F0" />
+</LinearLayout>

+ 29 - 3
app/src/main/res/layout/recharge_act_layout.xml

@@ -17,6 +17,32 @@
             android:gravity="center_horizontal"
             android:orientation="vertical">
 
+            <TextView
+                android:layout_width="match_parent"
+                android:layout_height="wrap_content"
+                android:layout_marginLeft="13dp"
+                android:layout_marginTop="13dp"
+                android:layout_marginBottom="4dp"
+                android:text="请确认您的充值信息:"
+                android:textColor="@color/black_444444"
+                android:textSize="13sp" />
+
+            <TextView
+                android:id="@+id/sheep_no_view"
+                android:layout_width="match_parent"
+                android:layout_height="wrap_content"
+                android:layout_marginLeft="13dp"
+                android:layout_marginBottom="4dp"
+                android:text="绵羊号:" />
+
+            <TextView
+                android:id="@+id/nickname_view"
+                android:layout_width="match_parent"
+                android:layout_height="wrap_content"
+                android:layout_marginLeft="13dp"
+                android:layout_marginBottom="4dp"
+                android:text="昵称:" />
+
             <LinearLayout
                 android:layout_width="match_parent"
                 android:layout_height="wrap_content"
@@ -44,8 +70,8 @@
                         android:layout_height="wrap_content"
                         android:layout_marginTop="@dimen/content_padding_20"
                         android:gravity="center_horizontal"
-                        android:listSelector="@color/transparent"
                         android:horizontalSpacing="@dimen/content_padding_13"
+                        android:listSelector="@color/transparent"
                         android:numColumns="3"
                         android:scrollbars="none"
                         android:visibility="visible" />
@@ -84,8 +110,8 @@
                         android:layout_width="match_parent"
                         android:layout_height="wrap_content"
                         android:layout_marginLeft="@dimen/content_padding_65"
-                        android:layout_marginRight="@dimen/content_padding_65"
-                        android:layout_marginTop="@dimen/content_padding_20"/>
+                        android:layout_marginTop="@dimen/content_padding_20"
+                        android:layout_marginRight="@dimen/content_padding_65" />
                 </LinearLayout>
             </LinearLayout>