浏览代码

添加我的资产界面,基本完成界面

zengjiebin 8 年之前
父节点
当前提交
ff28000686
共有 38 个文件被更改,包括 1642 次插入617 次删除
  1. 1 0
      app/src/main/AndroidManifest.xml
  2. 0 11
      app/src/main/java/com/kfzs/duanduan/BaseCompatActivity.java
  3. 103 0
      app/src/main/java/com/kfzs/duanduan/fragment/FgtMyMoney1.java
  4. 3 1
      app/src/main/java/com/kfzs/duanduan/fragment/FgtSmallSheep.java
  5. 0 12
      app/src/main/java/com/sheep/gamegroup/absBase/BaseActivity.java
  6. 23 0
      app/src/main/java/com/sheep/gamegroup/util/Jump2View.java
  7. 4 0
      app/src/main/java/com/sheep/gamegroup/util/ListUtil.java
  8. 182 0
      app/src/main/java/com/sheep/gamegroup/view/activity/ActMyMoney.java
  9. 1 2
      app/src/main/java/com/sheep/gamegroup/view/activity/DialogActivity.java
  10. 1 2
      app/src/main/java/com/sheep/gamegroup/view/activity/TaskDetailAct.java
  11. 532 0
      app/src/main/java/com/sheep/gamegroup/view/adapter/ArrayAdapter.java
  12. 1 1
      app/src/main/java/com/sheep/gamegroup/view/adapter/CreditCardProgressQueryAdp.java
  13. 1 1
      app/src/main/java/com/sheep/gamegroup/view/adapter/CreditCardTaskAdp.java
  14. 1 1
      app/src/main/java/com/sheep/gamegroup/view/adapter/DialogNewbieTaskAdp.java
  15. 0 87
      app/src/main/java/com/sheep/gamegroup/view/adapter/FriendExtractAdp.java
  16. 0 1
      app/src/main/java/com/sheep/jiuyan/samllsheep/SheepApp.java
  17. 0 13
      app/src/main/java/com/sheep/jiuyan/samllsheep/base/BaseFragment.java
  18. 10 0
      app/src/main/res/color/selector_color_my_money_tab.xml
  19. 二进制
      app/src/main/res/drawable-xhdpi/narrow_back_white.webp
  20. 二进制
      app/src/main/res/drawable-xxhdpi/tab_consumption_record.webp
  21. 二进制
      app/src/main/res/drawable-xxhdpi/tab_consumption_record_click.webp
  22. 二进制
      app/src/main/res/drawable-xxhdpi/tab_recharge_record.webp
  23. 二进制
      app/src/main/res/drawable-xxhdpi/tab_recharge_record_click.webp
  24. 6 6
      app/src/main/res/drawable/selector_start_on_hook.xml
  25. 8 0
      app/src/main/res/drawable/selector_tab_my_money1.xml
  26. 8 0
      app/src/main/res/drawable/selector_tab_my_money2.xml
  27. 6 0
      app/src/main/res/drawable/shape_white_solid_rectangle.xml
  28. 6 0
      app/src/main/res/drawable/shape_white_solid_rectangle_small.xml
  29. 8 0
      app/src/main/res/drawable/shape_white_stroke_rectangle.xml
  30. 153 0
      app/src/main/res/layout/act_my_money.xml
  31. 1 2
      app/src/main/res/layout/fgt_credit_card_task_list.xml
  32. 35 0
      app/src/main/res/layout/list_has_empty.xml
  33. 24 0
      app/src/main/res/layout/tab_item.xml
  34. 477 477
      app/src/main/res/layout/x_ask_getmoney_act_layout.xml
  35. 39 0
      app/src/main/res/layout/x_my_money_act_layout_item.xml
  36. 1 0
      app/src/main/res/values/common.xml
  37. 2 0
      app/src/main/res/values/dd_colors.xml
  38. 5 0
      app/src/main/res/values/strings.xml

+ 1 - 0
app/src/main/AndroidManifest.xml

@@ -263,6 +263,7 @@
         <activity android:name="com.sheep.gamegroup.view.activity.TaskDetailCreditCardAct" android:screenOrientation="portrait"/>
         <activity android:name="com.sheep.gamegroup.view.activity.TaskDetailAddQQAct" android:screenOrientation="portrait"/>
         <activity android:name="com.sheep.gamegroup.view.activity.ActWeb" android:screenOrientation="portrait"/>
+        <activity android:name="com.sheep.gamegroup.view.activity.ActMyMoney" android:screenOrientation="portrait"/>
         <!--友盟start-->
 
 

+ 0 - 11
app/src/main/java/com/kfzs/duanduan/BaseCompatActivity.java

@@ -74,17 +74,6 @@ public abstract class BaseCompatActivity extends CompatActivity {
         return (T) super.findViewById(id);
     }
 
-    @Override
-    protected void onResume() {
-        super.onResume();
-        MobclickAgent.onResume(this);
-    }
-
-    @Override
-    protected void onPause() {
-        super.onPause();
-        MobclickAgent.onPause(this);
-    }
 
     @Override
     protected void onDestroy() {

+ 103 - 0
app/src/main/java/com/kfzs/duanduan/fragment/FgtMyMoney1.java

@@ -0,0 +1,103 @@
+package com.kfzs.duanduan.fragment;
+
+import android.support.v4.widget.SwipeRefreshLayout;
+import android.view.View;
+import android.view.ViewGroup;
+import android.widget.ListView;
+import android.widget.TextView;
+
+import com.alibaba.fastjson.JSON;
+import com.sheep.gamegroup.model.entity.BaseMessage;
+import com.sheep.gamegroup.model.entity.TaskReleaseEty;
+import com.sheep.gamegroup.model.util.SheepSubscriber;
+import com.sheep.gamegroup.view.adapter.ArrayAdapter;
+import com.sheep.gamegroup.view.customview.RefreshLayout;
+import com.sheep.jiuyan.samllsheep.BuildConfig;
+import com.sheep.jiuyan.samllsheep.R;
+import com.sheep.jiuyan.samllsheep.SheepApp;
+import com.sheep.jiuyan.samllsheep.base.BaseFragment;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import butterknife.BindView;
+import butterknife.ButterKnife;
+import rx.android.schedulers.AndroidSchedulers;
+import rx.schedulers.Schedulers;
+
+/**
+ * 我的资产 --> 充值记录
+ * Created by realicing on 2018/5/8.
+ * realicing@sina.com
+ */
+public class FgtMyMoney1 extends BaseFragment {
+    @BindView(R.id.list_view)
+    ListView list_view;
+    @BindView(R.id.swipe_container)
+    SwipeRefreshLayout swipe_container;
+    @BindView(R.id.empty_view)
+    View empty_view;
+    @Override
+    public int getLayoutId() {
+        return R.layout.list_has_empty;
+    }
+
+    private List<TaskReleaseEty> list = new ArrayList<>();
+    private ArrayAdapter<TaskReleaseEty> adapter;
+    @Override
+    public void onViewCreated() {
+        ButterKnife.bind(this, mView);
+        if(getActivity() != null) {
+//            swipe_container.setFooterView(getActivity(), list_view, R.layout.listview_footer);
+            adapter = new ArrayAdapter<TaskReleaseEty>(getActivity(), R.layout.x_my_money_act_layout_item, list){
+                @Override
+                public boolean convert(int position, View convertView, ViewGroup parent, TaskReleaseEty item) {
+                    TextView my_money_item_recharge_amount = convertView.findViewById(R.id.my_money_item_recharge_amount);
+                    TextView my_money_item_recharge_status = convertView.findViewById(R.id.my_money_item_recharge_status);
+                    TextView my_money_item_recharge_time = convertView.findViewById(R.id.my_money_item_recharge_time);
+                    convertView.setBackgroundColor(position % 2 == 1 ? 0xffF8F8F8 : 0xffffffff);
+                    return true;
+                }
+            };
+            list_view.setAdapter(adapter);
+            swipe_container.setOnRefreshListener(new RefreshLayout.OnRefreshListener() {
+                @Override
+                public void onRefresh() {
+                    initData();
+                }
+            });
+            initData();
+        }
+    }
+
+    private void initData() {
+        list.clear();
+        adapter.notifyDataSetChanged();
+        empty_view.setVisibility(View.INVISIBLE);
+        SheepApp.getInstance().getNetComponent().getApiService().getReleaseTaskCreditCard()
+                .subscribeOn(Schedulers.io())
+                .observeOn(AndroidSchedulers.mainThread())
+                .subscribe(new SheepSubscriber<BaseMessage>(getContext()) {
+                    @Override
+                    public void onNext(BaseMessage baseMessage) {
+                        List<TaskReleaseEty> newList = baseMessage.getDatas(TaskReleaseEty.class);
+                        list.addAll(newList);
+                        notifyDataSetChanged();
+                        if(BuildConfig.DEBUG)
+                            System.out.println("baseMessage onNext "+ JSON.toJSONString(baseMessage));
+                    }
+
+                    @Override
+                    public void onError(BaseMessage baseMessage) {
+                        if(BuildConfig.DEBUG)
+                            System.out.println("baseMessage onError "+JSON.toJSONString(baseMessage));
+                        notifyDataSetChanged();
+                    }
+                });
+    }
+    private void notifyDataSetChanged() {
+        empty_view.setVisibility(list.isEmpty() ? View.VISIBLE : View.INVISIBLE);
+        adapter.notifyDataSetChanged();
+        swipe_container.setRefreshing(false);
+    }
+}

+ 3 - 1
app/src/main/java/com/kfzs/duanduan/fragment/FgtSmallSheep.java

@@ -417,7 +417,9 @@ public class FgtSmallSheep extends BaseCompatFragment implements SmallSheepContr
             case R.id.homepage_wxfz://微信辅助任务
                 goWxfz();
                 break;
-            case R.id.icon_layout://头像
+            case R.id.icon_layout://我的资产
+                Jump2View.getInstance().goMyMoney(activity, null);
+                break;
             case R.id.info_layout://其它信息
                 Jump2View.getInstance().goPersonnalCenterView(activity, null);
                 break;

+ 0 - 12
app/src/main/java/com/sheep/gamegroup/absBase/BaseActivity.java

@@ -33,18 +33,6 @@ public abstract class BaseActivity extends AppCompatActivity {
 
     }
 
-    @Override
-    protected void onResume() {
-        super.onResume();
-        MobclickAgent.onResume(this);
-    }
-
-    @Override
-    protected void onPause() {
-        super.onPause();
-        MobclickAgent.onPause(this);
-    }
-
     public void  showProgress(){
         if(mPd!=null){
             hideProgress();

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

@@ -3,6 +3,7 @@ package com.sheep.gamegroup.util;
 import android.app.Activity;
 import android.content.Context;
 import android.content.Intent;
+import android.net.Uri;
 import android.text.TextUtils;
 
 import com.kfzs.duanduan.ActMain;
@@ -21,6 +22,7 @@ import com.sheep.gamegroup.view.activity.ActCreditCardTaskList;
 import com.sheep.gamegroup.view.activity.ActCreditCardWeb;
 import com.sheep.gamegroup.view.activity.ActGuideDeblocked;
 import com.sheep.gamegroup.view.activity.ActGuideOnHook;
+import com.sheep.gamegroup.view.activity.ActMyMoney;
 import com.sheep.gamegroup.view.activity.ActNewbieTaskList;
 import com.sheep.gamegroup.view.activity.ActUnderstandSheep;
 import com.sheep.gamegroup.view.activity.ActWeb;
@@ -474,6 +476,18 @@ public class Jump2View {
         UMConfigUtils.onEvent(UMConfigUtils.Event.SHEEP_CREDIT_CARD_DETAIL_WEB);
     }
     /**
+     * 浏览器打开web页面
+     * @param context
+     * @param url
+     */
+    public void goWeb(Context context, String url){
+        Intent intent = new Intent();
+        intent.setAction("android.intent.action.VIEW");
+        Uri content_url = Uri.parse(url);
+        intent.setData(content_url);
+        context.startActivity(intent);
+    }
+    /**
      * 跳到web页面
      * @param context
      * @param url
@@ -485,4 +499,13 @@ public class Jump2View {
         intent.putExtra("title", title);
         context.startActivity(intent);
     }
+    /**
+     * 跳到我的资产界面
+     * @param context
+     * @param o
+     */
+    public void goMyMoney(Context context, Object o){
+        Intent intent = new Intent(context, ActMyMoney.class);
+        context.startActivity(intent);
+    }
 }

+ 4 - 0
app/src/main/java/com/sheep/gamegroup/util/ListUtil.java

@@ -15,4 +15,8 @@ public class ListUtil {
     private static <T> boolean isEmpty(List<T> list) {
         return list == null || list.isEmpty();
     }
+
+    public static int getTotalPage(int count, int per_page) {
+        return (count - 1) / per_page + 1;
+    }
 }

+ 182 - 0
app/src/main/java/com/sheep/gamegroup/view/activity/ActMyMoney.java

@@ -0,0 +1,182 @@
+package com.sheep.gamegroup.view.activity;
+
+import android.os.Bundle;
+import android.support.annotation.Nullable;
+import android.support.design.widget.TabLayout;
+import android.support.v4.app.Fragment;
+import android.support.v4.view.ViewPager;
+import android.text.TextUtils;
+import android.view.LayoutInflater;
+import android.view.View;
+import android.widget.ImageView;
+import android.widget.TextView;
+
+import com.alibaba.fastjson.JSONObject;
+import com.kfzs.duanduan.fragment.FgtCreditCardProgressQuery;
+import com.kfzs.duanduan.fragment.FgtMyMoney1;
+import com.kfzs.duanduan.mine.GiftpackListAdapter;
+import com.kfzs.duanduan.utils.StatusBarUtils;
+import com.sheep.gamegroup.absBase.AbsChooseImageActivity;
+import com.sheep.gamegroup.model.entity.BaseMessage;
+import com.sheep.gamegroup.model.entity.CreditCardProgressQuery;
+import com.sheep.gamegroup.model.util.SheepSubscriber;
+import com.sheep.gamegroup.util.UMConfigUtils;
+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.TitleBarUtils;
+
+import butterknife.BindView;
+import rx.android.schedulers.AndroidSchedulers;
+import rx.schedulers.Schedulers;
+
+/**
+ * 我的资产
+ * Created by realicing on 2018/5/8.
+ */
+
+public class ActMyMoney extends AbsChooseImageActivity {
+
+
+    @BindView(R.id.indicator)
+    TabLayout indicator;
+    @BindView(R.id.pager)
+    ViewPager pager;
+
+    private GiftpackListAdapter mAdapter;
+
+    @Override
+    protected void onCreate(@Nullable Bundle savedInstanceState) {
+        StatusBarUtils.setTranslucent(this);
+        super.onCreate(savedInstanceState);
+    }
+
+    @Override
+    protected int getLayoutId() {
+        return R.layout.act_my_money;
+    }
+
+    @Override
+    public void initView() {
+        TitleBarUtils.getInstance()
+                .setTitle(this,"我的资产")
+                .setTitleFinish(this);
+//        String sr = "可提现金额 <font color='#ff2d4b'><big>" + balanceAmount + "</big></font> 元";
+//        tv.setText(Html.fromHtml(sr));
+        mAdapter = new GiftpackListAdapter(getSupportFragmentManager(), getApplicationContext());
+        mAdapter.add(new FgtMyMoney1(), "充值记录");
+        mAdapter.add(new FgtMyMoney1(), "提现&消费记录");
+        pager.setAdapter(mAdapter);
+//        indicator.setupWithViewPager(pager);
+        pager.addOnPageChangeListener(new ViewPager.OnPageChangeListener() {
+            @Override
+            public void onPageScrolled(int i, float v, int i1) {
+
+            }
+
+            @Override
+            public void onPageSelected(int i) {
+                switch (i){
+                    case 0:
+                        UMConfigUtils.onEvent(UMConfigUtils.Event.SHEEP_CREDIT_CARD_ACCEPT_LIST);
+                        break;
+                    case 1:
+                        UMConfigUtils.onEvent(UMConfigUtils.Event.SHEEP_CREDIT_CARD_PROGRESS_QUERY_LIST);
+                        break;
+                }
+            }
+
+            @Override
+            public void onPageScrollStateChanged(int i) {
+
+            }
+        });
+        new_tab();
+    }
+    private void new_tab(){
+        indicator.addTab(indicator.newTab().setCustomView(tab_icon("充值记录",R.drawable.selector_tab_my_money1)));
+        indicator.addTab(indicator.newTab().setCustomView(tab_icon("提现&消费记录",R.drawable.selector_tab_my_money2)));
+        //Tablayout自定义view绑定ViewPager
+        pager.addOnPageChangeListener(new TabLayout.TabLayoutOnPageChangeListener(indicator));
+        indicator.addOnTabSelectedListener(new TabLayout.ViewPagerOnTabSelectedListener(pager));
+
+    }
+
+    private View tab_icon(String name,int iconID){
+        View newtab =  LayoutInflater.from(this).inflate(R.layout.tab_item,null);
+        TextView tv = newtab.findViewById(R.id.tabtext);
+        tv.setText(name);
+        ImageView im = newtab.findViewById(R.id.tabicon);
+        im.setImageResource(iconID);
+        return newtab;
+    }
+
+    public GiftpackListAdapter getmAdapter() {
+        return mAdapter;
+    }
+
+    @Override
+    public void initListener() {
+
+    }
+
+    @Override
+    public void initData() {
+
+    }
+
+    @Override
+    protected void onNotGetImage(String msg) {
+        G.showToast(msg);
+    }
+
+    @Override
+    protected void onGetImage(String path) {
+
+    }
+    private CreditCardProgressQuery creditCardProgressQuery;
+
+    public void setCreditCardProgressQuery(CreditCardProgressQuery creditCardProgressQuery) {
+        this.creditCardProgressQuery = creditCardProgressQuery;
+    }
+
+    @Override
+    protected void onSetNetImageUrl(String url) {
+        setLoaddingText("提交中");
+        JSONObject jsonObject = new JSONObject();
+        jsonObject.put("screenshots", url);
+        releaseTaskCreditCard(creditCardProgressQuery.getId(), jsonObject);
+    }
+
+    @Override
+    protected void onGetNetImageUrl(String url) {
+
+    }
+
+    public void releaseTaskCreditCardSuccess(BaseMessage baseMessage) {
+        setLoaddingText("完成");
+        dismissLoaddingDialog();
+        G.showToast("提交成功,等待审核!");
+        Fragment fragment = mAdapter.getItem(1);
+        if(fragment instanceof FgtCreditCardProgressQuery){
+            ((FgtCreditCardProgressQuery) fragment).initData();
+        }
+    }
+
+    public void releaseTaskCreditCard(int id, JSONObject jsonObject) {
+        SheepApp.getInstance().getNetComponent().getApiService().releaseTaskCreditCard(id, jsonObject)
+                .subscribeOn(Schedulers.io())
+                .observeOn(AndroidSchedulers.mainThread())
+                .subscribe(new SheepSubscriber<BaseMessage>(SheepApp.mContext) {
+                    @Override
+                    public void onError(BaseMessage baseMessage) {
+                        updateError(TextUtils.isEmpty(baseMessage.getMsg()) ? "服务器错误,请稍候再试" : baseMessage.getMsg());
+                    }
+
+                    @Override
+                    public void onNext(BaseMessage baseMessage) {
+                        releaseTaskCreditCardSuccess(baseMessage);
+                    }
+                });
+    }
+}

+ 1 - 2
app/src/main/java/com/sheep/gamegroup/view/activity/DialogActivity.java

@@ -278,8 +278,7 @@ public class DialogActivity extends Activity implements TaskDialogContract.View
                     } else if((ext = EntityUtils.getExtInfo(taskEty.getExt())) == null || TextUtils.isEmpty(ext.getUrl())){
                         Jump2View.getInstance().goTaskDetailView(activity,  taskEty.getId());
                     } else {
-                        Jump2View.getInstance()
-                                .goWeb(activity, ext.getUrl(), taskEty.getTask_name());
+                        Jump2View.getInstance().goWeb(activity, ext.getUrl());
                     }
                     break;
             }

+ 1 - 2
app/src/main/java/com/sheep/gamegroup/view/activity/TaskDetailAct.java

@@ -440,8 +440,7 @@ public class TaskDetailAct extends AbsChooseImageActivity implements TaskDetailC
                         if(taskEty == null || (ext = EntityUtils.getExtInfo(taskEty.getExt())) == null || TextUtils.isEmpty(ext.getUrl())){
                             G.showToast("服务器数据错误,请联系客服或者稍候重试");
                         } else {
-                            Jump2View.getInstance()
-                                    .goWeb(activity, ext.getUrl(), taskEty.getTask_name());
+                            Jump2View.getInstance().goWeb(activity, ext.getUrl());
                         }
                         break;
                 }

+ 532 - 0
app/src/main/java/com/sheep/gamegroup/view/adapter/ArrayAdapter.java

@@ -0,0 +1,532 @@
+package com.sheep.gamegroup.view.adapter;
+
+/*
+ * Copyright (C) 2006 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+
+import android.content.Context;
+import android.util.Log;
+import android.view.LayoutInflater;
+import android.view.View;
+import android.view.ViewGroup;
+import android.widget.BaseAdapter;
+import android.widget.Filter;
+import android.widget.Filterable;
+import android.widget.TextView;
+
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.Collection;
+import java.util.Collections;
+import java.util.Comparator;
+import java.util.List;
+
+/**
+ * A concrete BaseAdapter that is backed by an array of arbitrary
+ * objects.  By default this class expects that the provided resource id references
+ * a single TextView.  If you want to use a more complex layout, use the constructors that
+ * also takes a field id.  That field id should reference a TextView in the larger layout
+ * resource.
+ * <p>
+ * <p>However the TextView is referenced, it will be filled with the toString() of each object in
+ * the array. You can add lists or arrays of custom objects. Override the toString() method
+ * of your objects to determine what text will be displayed for the item in the list.
+ * <p>
+ * <p>To use something other than TextViews for the array display, for instance, ImageViews,
+ * or to have some of data besides toString() results fill the views,
+ * override {@link #getView(int, View, ViewGroup)} to return the type of view you want.
+ */
+
+/**
+ * Created by realicing on 2018/5/9.
+ * realicing@sina.com
+ */
+public class ArrayAdapter<T> extends BaseAdapter implements Filterable {
+    /**
+     * Contains the list of objects that represent the data of this ArrayAdapter.
+     * The content of this list is referred to as "the array" in the documentation.
+     */
+    private List<T> mObjects;
+
+    /**
+     * Lock used to modify the content of {@link #mObjects}. Any write operation
+     * performed on the array should be synchronized on this lock. This lock is also
+     * used by the filter (see {@link #getFilter()} to make a synchronized copy of
+     * the original array of data.
+     */
+    private final Object mLock = new Object();
+
+    /**
+     * The resource indicating what views to inflate to display the content of this
+     * array adapter.
+     */
+    private int mResource;
+
+    /**
+     * The resource indicating what views to inflate to display the content of this
+     * array adapter in a drop down widget.
+     */
+    private int mDropDownResource;
+
+    /**
+     * If the inflated resource is not a TextView, {@link #mFieldId} is used to find
+     * a TextView inside the inflated views hierarchy. This field must contain the
+     * identifier that matches the one defined in the resource file.
+     */
+    private int mFieldId = 0;
+
+    /**
+     * Indicates whether or not {@link #notifyDataSetChanged()} must be called whenever
+     * {@link #mObjects} is modified.
+     */
+    private boolean mNotifyOnChange = true;
+
+    private Context mContext;
+
+    // A copy of the original mObjects array, initialized from and then used instead as soon as
+    // the mFilter ArrayFilter is used. mObjects will then only contain the filtered values.
+    private ArrayList<T> mOriginalValues;
+    private ArrayFilter mFilter;
+
+    private LayoutInflater mInflater;
+
+    /**
+     * Constructor
+     *
+     * @param context The current context.
+     * @param resource The resource ID for a layout file containing a TextView to use when
+     *                 instantiating views.
+     */
+    public ArrayAdapter(Context context, int resource) {
+        init(context, resource, 0, new ArrayList<T>());
+    }
+
+    /**
+     * Constructor
+     *
+     * @param context The current context.
+     * @param resource The resource ID for a layout file containing a layout to use when
+     *                 instantiating views.
+     * @param textViewResourceId The id of the TextView within the layout resource to be populated
+     */
+    public ArrayAdapter(Context context, int resource, int textViewResourceId) {
+        init(context, resource, textViewResourceId, new ArrayList<T>());
+    }
+
+    /**
+     * Constructor
+     *
+     * @param context The current context.
+     * @param resource The resource ID for a layout file containing a TextView to use when
+     *                 instantiating views.
+     * @param objects The objects to represent in the ListView.
+     */
+    public ArrayAdapter(Context context, int resource, T[] objects) {
+        init(context, resource, 0, Arrays.asList(objects));
+    }
+
+    /**
+     * Constructor
+     *
+     * @param context The current context.
+     * @param resource The resource ID for a layout file containing a layout to use when
+     *                 instantiating views.
+     * @param textViewResourceId The id of the TextView within the layout resource to be populated
+     * @param objects The objects to represent in the ListView.
+     */
+    public ArrayAdapter(Context context, int resource, int textViewResourceId, T[] objects) {
+        init(context, resource, textViewResourceId, Arrays.asList(objects));
+    }
+
+    /**
+     * Constructor
+     *
+     * @param context The current context.
+     * @param resource The resource ID for a layout file containing a TextView to use when
+     *                 instantiating views.
+     * @param objects The objects to represent in the ListView.
+     */
+    public ArrayAdapter(Context context, int resource, List<T> objects) {
+        init(context, resource, 0, objects);
+    }
+
+    /**
+     * Constructor
+     *
+     * @param context The current context.
+     * @param resource The resource ID for a layout file containing a layout to use when
+     *                 instantiating views.
+     * @param textViewResourceId The id of the TextView within the layout resource to be populated
+     * @param objects The objects to represent in the ListView.
+     */
+    public ArrayAdapter(Context context, int resource, int textViewResourceId, List<T> objects) {
+        init(context, resource, textViewResourceId, objects);
+    }
+
+    /**
+     * Adds the specified object at the end of the array.
+     *
+     * @param object The object to add at the end of the array.
+     */
+    public void add(T object) {
+        synchronized (mLock) {
+            if (mOriginalValues != null) {
+                mOriginalValues.add(object);
+            } else {
+                mObjects.add(object);
+            }
+        }
+        if (mNotifyOnChange) notifyDataSetChanged();
+    }
+
+    /**
+     * Adds the specified Collection at the end of the array.
+     *
+     * @param collection The Collection to add at the end of the array.
+     */
+    public void addAll(Collection<? extends T> collection) {
+        synchronized (mLock) {
+            if (mOriginalValues != null) {
+                mOriginalValues.addAll(collection);
+            } else {
+                mObjects.addAll(collection);
+            }
+        }
+        if (mNotifyOnChange) notifyDataSetChanged();
+    }
+
+    /**
+     * Adds the specified items at the end of the array.
+     *
+     * @param items The items to add at the end of the array.
+     */
+    public void addAll(T... items) {
+        synchronized (mLock) {
+            if (mOriginalValues != null) {
+                Collections.addAll(mOriginalValues, items);
+            } else {
+                Collections.addAll(mObjects, items);
+            }
+        }
+        if (mNotifyOnChange) notifyDataSetChanged();
+    }
+
+    /**
+     * Inserts the specified object at the specified index in the array.
+     *
+     * @param object The object to insert into the array.
+     * @param index The index at which the object must be inserted.
+     */
+    public void insert(T object, int index) {
+        synchronized (mLock) {
+            if (mOriginalValues != null) {
+                mOriginalValues.add(index, object);
+            } else {
+                mObjects.add(index, object);
+            }
+        }
+        if (mNotifyOnChange) notifyDataSetChanged();
+    }
+
+    /**
+     * Removes the specified object from the array.
+     *
+     * @param object The object to remove.
+     */
+    public void remove(T object) {
+        synchronized (mLock) {
+            if (mOriginalValues != null) {
+                mOriginalValues.remove(object);
+            } else {
+                mObjects.remove(object);
+            }
+        }
+        if (mNotifyOnChange) notifyDataSetChanged();
+    }
+
+    /**
+     * Remove all elements from the list.
+     */
+    public void clear() {
+        synchronized (mLock) {
+            if (mOriginalValues != null) {
+                mOriginalValues.clear();
+            } else {
+                mObjects.clear();
+            }
+        }
+        if (mNotifyOnChange) notifyDataSetChanged();
+    }
+
+    /**
+     * Sorts the content of this adapter using the specified comparator.
+     *
+     * @param comparator The comparator used to sort the objects contained
+     *        in this adapter.
+     */
+    public void sort(Comparator<? super T> comparator) {
+        synchronized (mLock) {
+            if (mOriginalValues != null) {
+                Collections.sort(mOriginalValues, comparator);
+            } else {
+                Collections.sort(mObjects, comparator);
+            }
+        }
+        if (mNotifyOnChange) notifyDataSetChanged();
+    }
+
+    /**
+     * {@inheritDoc}
+     */
+    @Override
+    public void notifyDataSetChanged() {
+        super.notifyDataSetChanged();
+        mNotifyOnChange = true;
+    }
+
+    /**
+     * Control whether methods that change the list ({@link #add},
+     * {@link #insert}, {@link #remove}, {@link #clear}) automatically call
+     * {@link #notifyDataSetChanged}.  If set to false, caller must
+     * manually call notifyDataSetChanged() to have the changes
+     * reflected in the attached view.
+     *
+     * The default is true, and calling notifyDataSetChanged()
+     * resets the flag to true.
+     *
+     * @param notifyOnChange if true, modifications to the list will
+     *                       automatically call {@link
+     *                       #notifyDataSetChanged}
+     */
+    public void setNotifyOnChange(boolean notifyOnChange) {
+        mNotifyOnChange = notifyOnChange;
+    }
+
+    private void init(Context context, int resource, int textViewResourceId, List<T> objects) {
+        mContext = context;
+        mInflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
+        mResource = mDropDownResource = resource;
+        mObjects = objects;
+        mFieldId = textViewResourceId;
+    }
+
+    /**
+     * Returns the context associated with this array adapter. The context is used
+     * to create views from the resource passed to the constructor.
+     *
+     * @return The Context associated with this adapter.
+     */
+    public Context getContext() {
+        return mContext;
+    }
+
+    /**
+     * {@inheritDoc}
+     */
+    public int getCount() {
+        return mObjects.size();
+    }
+
+    /**
+     * {@inheritDoc}
+     */
+    public T getItem(int position) {
+        return mObjects.get(position);
+    }
+
+    /**
+     * Returns the position of the specified item in the array.
+     *
+     * @param item The item to retrieve the position of.
+     *
+     * @return The position of the specified item.
+     */
+    public int getPosition(T item) {
+        return mObjects.indexOf(item);
+    }
+
+    /**
+     * {@inheritDoc}
+     */
+    public long getItemId(int position) {
+        return position;
+    }
+
+    /**
+     * {@inheritDoc}
+     */
+    public View getView(int position, View convertView, ViewGroup parent) {
+        return createViewFromResource(position, convertView, parent, mResource);
+    }
+
+    private View createViewFromResource(int position, View convertView, ViewGroup parent,
+                                        int resource) {
+        View view;
+        TextView text;
+
+        if (convertView == null) {
+            view = mInflater.inflate(resource, parent, false);
+        } else {
+            view = convertView;
+        }
+
+        T item = getItem(position);
+        if (!convert(position, view, parent, item)) {
+            try {
+                if (mFieldId == 0) {
+                    //  If no custom field is assigned, assume the whole resource is a TextView
+                    text = (TextView) view;
+                } else {
+                    //  Otherwise, find the TextView field within the layout
+                    text = (TextView) view.findViewById(mFieldId);
+                }
+            } catch (ClassCastException e) {
+                Log.e("ArrayAdapter", "You must supply a resource ID for a TextView");
+                throw new IllegalStateException(
+                        "ArrayAdapter requires the resource ID to be a TextView", e);
+            }
+
+            if (item instanceof CharSequence) {
+                text.setText((CharSequence) item);
+            } else {
+                text.setText(item.toString());
+            }
+        }
+        return view;
+    }
+
+    public boolean convert(int position, View convertView, ViewGroup parent, T item) {
+        return false;
+    }
+
+    /**
+     * <p>Sets the layout resource to create the drop down views.</p>
+     *
+     * @param resource the layout resource defining the drop down views
+     * @see #getDropDownView(int, android.view.View, android.view.ViewGroup)
+     */
+    public void setDropDownViewResource(int resource) {
+        this.mDropDownResource = resource;
+    }
+
+    /**
+     * {@inheritDoc}
+     */
+    @Override
+    public View getDropDownView(int position, View convertView, ViewGroup parent) {
+        return createViewFromResource(position, convertView, parent, mDropDownResource);
+    }
+
+    /**
+     * Creates a new ArrayAdapter from external resources. The content of the array is
+     * obtained through {@link android.content.res.Resources#getTextArray(int)}.
+     *
+     * @param context The application's environment.
+     * @param textArrayResId The identifier of the array to use as the data source.
+     * @param textViewResId The identifier of the layout used to create views.
+     *
+     * @return An ArrayAdapter<CharSequence>.
+     */
+    public static ArrayAdapter<CharSequence> createFromResource(Context context,
+                                                                int textArrayResId, int textViewResId) {
+        CharSequence[] strings = context.getResources().getTextArray(textArrayResId);
+        return new ArrayAdapter<CharSequence>(context, textViewResId, strings);
+    }
+
+    /**
+     * {@inheritDoc}
+     */
+    public Filter getFilter() {
+        if (mFilter == null) {
+            mFilter = new ArrayFilter();
+        }
+        return mFilter;
+    }
+
+    /**
+     * <p>An array filter constrains the content of the array adapter with
+     * a prefix. Each item that does not start with the supplied prefix
+     * is removed from the list.</p>
+     */
+    private class ArrayFilter extends Filter {
+        @Override
+        protected FilterResults performFiltering(CharSequence prefix) {
+            FilterResults results = new FilterResults();
+
+            if (mOriginalValues == null) {
+                synchronized (mLock) {
+                    mOriginalValues = new ArrayList<T>(mObjects);
+                }
+            }
+
+            if (prefix == null || prefix.length() == 0) {
+                ArrayList<T> list;
+                synchronized (mLock) {
+                    list = new ArrayList<T>(mOriginalValues);
+                }
+                results.values = list;
+                results.count = list.size();
+            } else {
+                String prefixString = prefix.toString().toLowerCase();
+
+                ArrayList<T> values;
+                synchronized (mLock) {
+                    values = new ArrayList<T>(mOriginalValues);
+                }
+
+                final int count = values.size();
+                final ArrayList<T> newValues = new ArrayList<T>();
+
+                for (int i = 0; i < count; i++) {
+                    final T value = values.get(i);
+                    final String valueText = value.toString().toLowerCase();
+
+                    // First match against the whole, non-splitted value
+                    if (valueText.startsWith(prefixString)) {
+                        newValues.add(value);
+                    } else {
+                        final String[] words = valueText.split(" ");
+                        final int wordCount = words.length;
+
+                        // Start at index 0, in case valueText starts with space(s)
+                        for (int k = 0; k < wordCount; k++) {
+                            if (words[k].startsWith(prefixString)) {
+                                newValues.add(value);
+                                break;
+                            }
+                        }
+                    }
+                }
+
+                results.values = newValues;
+                results.count = newValues.size();
+            }
+
+            return results;
+        }
+
+        @Override
+        protected void publishResults(CharSequence constraint, FilterResults results) {
+            //noinspection unchecked
+            mObjects = (List<T>) results.values;
+            if (results.count > 0) {
+                notifyDataSetChanged();
+            } else {
+                notifyDataSetInvalidated();
+            }
+        }
+    }
+}

+ 1 - 1
app/src/main/java/com/sheep/gamegroup/view/adapter/CreditCardProgressQueryAdp.java

@@ -21,7 +21,7 @@ import com.sheep.gamegroup.absBase.AbsChooseImageActivity;
 import java.util.List;
 
 /**
- * Created by ljy on 2018/3/21.
+ * Created by realicing on 2018/5/9.
  */
 
 public class CreditCardProgressQueryAdp extends BaseAdapter {

+ 1 - 1
app/src/main/java/com/sheep/gamegroup/view/adapter/CreditCardTaskAdp.java

@@ -15,7 +15,7 @@ import com.sheep.jiuyan.samllsheep.R;
 import java.util.List;
 
 /**
- * Created by ljy on 2018/3/21.
+ * Created by realicing on 2018/5/9.
  */
 
 public class CreditCardTaskAdp extends BaseAdapter {

+ 1 - 1
app/src/main/java/com/sheep/gamegroup/view/adapter/DialogNewbieTaskAdp.java

@@ -15,7 +15,7 @@ import java.util.List;
 import static com.sheep.gamegroup.view.adapter.NewbieTaskAdp.doActionByTask;
 
 /**
- * Created by ljy on 2018/3/21.
+ * Created by realicing on 2018/5/9.
  */
 
 public class DialogNewbieTaskAdp extends BaseAdapter {

+ 0 - 87
app/src/main/java/com/sheep/gamegroup/view/adapter/FriendExtractAdp.java

@@ -1,87 +0,0 @@
-package com.sheep.gamegroup.view.adapter;
-
-import android.content.Context;
-import android.view.LayoutInflater;
-import android.view.View;
-import android.view.ViewGroup;
-import android.widget.BaseAdapter;
-import android.widget.TextView;
-
-import com.kfzs.duanduan.fragment.FgtSmallSheep;
-import com.sheep.gamegroup.model.entity.Friend;
-import com.sheep.jiuyan.samllsheep.R;
-
-import java.util.List;
-
-/**
- * Created by ljy on 2018/3/21.
- */
-
-public class FriendExtractAdp extends BaseAdapter {
-    private Context context;
-    private List<Friend> etyList;
-
-    public FriendExtractAdp(Context context, List<Friend> etyList) {
-        this.context = context;
-        this.etyList = etyList;
-    }
-
-    @Override
-    public int getCount() {
-        return etyList.size();
-    }
-
-    @Override
-    public Object getItem(int position) {
-        return etyList.get(position);
-    }
-
-    @Override
-    public long getItemId(int position) {
-        return 0;
-    }
-    @Override
-    public View getView(final int position, View convertView, ViewGroup parent) {
-        Object tag = convertView == null ? null : convertView.getTag();
-        ViewHolder holder;
-        if(tag instanceof ViewHolder){
-            holder = (ViewHolder) tag;
-        }else {
-            holder = new ViewHolder();
-            convertView = LayoutInflater.from(context).inflate(R.layout.x_ask_getmoney_act_layout_item, null);
-            if(convertView instanceof ViewGroup)
-                holder.viewGroup = (ViewGroup)convertView;
-            convertView.setTag(holder);
-        }
-
-        final Friend ety = (Friend) getItem(position);
-        for (int i = 0; i < holder.viewGroup.getChildCount(); i++) {
-            View item = holder.viewGroup.getChildAt(i);
-            if(item instanceof  TextView)
-                setText(i, (TextView) item, ety);
-        }
-        return convertView;
-    }
-
-    private void setText(int index, TextView item, Friend ety) {
-        switch (index){
-            case 0:
-                item.setText(ety.getInvitation_code());
-                break;
-            case 1:
-                item.setText(ety.getNickname());
-                break;
-            case 2:
-                item.setText(""+ety.getAward_amount());
-                break;
-            case 3:
-                item.setText(FgtSmallSheep.TimeStamp2Date(ety.getCreate_time(), "yyyy/MM/dd HH:mm"));
-                break;
-        }
-    }
-
-    class ViewHolder{
-        ViewGroup viewGroup;
-    }
-
-}

+ 0 - 1
app/src/main/java/com/sheep/jiuyan/samllsheep/SheepApp.java

@@ -23,7 +23,6 @@ import com.tencent.mm.opensdk.openapi.IWXAPI;
 public class SheepApp extends BaseApplication {
 
     public static Context mContext;
-    public static IWXAPI mWxapi;
     public static SheepApp mSheepApp;
     public ConnectAddress connectAddress;
 

+ 0 - 13
app/src/main/java/com/sheep/jiuyan/samllsheep/base/BaseFragment.java

@@ -113,19 +113,6 @@ public abstract class BaseFragment extends Fragment {
         onViewCreated();
     }
 
-    @Override
-    public void onResume() {
-        super.onResume();
-        MobclickAgent.onResume(getActivity());
-    }
-
-    @Override
-    public void onPause() {
-        super.onPause();
-        MobclickAgent.onPause(getActivity());
-    }
-
-
     /**
      * 万能的找View类
      *

+ 10 - 0
app/src/main/res/color/selector_color_my_money_tab.xml

@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="utf-8"?>
+<selector xmlns:android="http://schemas.android.com/apk/res/android">
+
+    <item android:color="@color/my_money_tab_activated" android:state_focused="true" />
+    <item android:color="@color/my_money_tab_activated" android:state_checked="true" />
+    <item android:color="@color/my_money_tab_activated" android:state_selected="true" />
+    <item android:color="@color/my_money_tab_activated" android:state_activated="true" />
+    <item android:color="@color/my_money_tab_activated" android:state_pressed="true" />
+    <item android:color="@color/my_money_tab" />
+</selector>

二进制
app/src/main/res/drawable-xhdpi/narrow_back_white.webp


二进制
app/src/main/res/drawable-xxhdpi/tab_consumption_record.webp


二进制
app/src/main/res/drawable-xxhdpi/tab_consumption_record_click.webp


二进制
app/src/main/res/drawable-xxhdpi/tab_recharge_record.webp


二进制
app/src/main/res/drawable-xxhdpi/tab_recharge_record_click.webp


+ 6 - 6
app/src/main/res/drawable/selector_start_on_hook.xml

@@ -1,8 +1,8 @@
 <?xml version="1.0" encoding="utf-8"?>
-<selector xmlns:android="http://schemas.android.com/apk/res/android" >
-  <item android:state_focused="true" android:drawable="@drawable/start_on_hook_click" />
-  <item android:state_checked="true" android:drawable="@drawable/start_on_hook_click"/>
-  <item android:state_selected="true" android:drawable="@drawable/start_on_hook_click"/>
-  <item android:state_pressed="true" android:drawable="@drawable/start_on_hook_click"/>
-  <item android:drawable="@drawable/start_on_hook"/>
+<selector xmlns:android="http://schemas.android.com/apk/res/android">
+    <item android:drawable="@drawable/start_on_hook_click" android:state_focused="true" />
+    <item android:drawable="@drawable/start_on_hook_click" android:state_checked="true" />
+    <item android:drawable="@drawable/start_on_hook_click" android:state_selected="true" />
+    <item android:drawable="@drawable/start_on_hook_click" android:state_pressed="true" />
+    <item android:drawable="@drawable/start_on_hook" />
 </selector>

+ 8 - 0
app/src/main/res/drawable/selector_tab_my_money1.xml

@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="utf-8"?>
+<selector xmlns:android="http://schemas.android.com/apk/res/android">
+    <item android:drawable="@drawable/tab_recharge_record_click" android:state_focused="true" />
+    <item android:drawable="@drawable/tab_recharge_record_click" android:state_checked="true" />
+    <item android:drawable="@drawable/tab_recharge_record_click" android:state_selected="true" />
+    <item android:drawable="@drawable/tab_recharge_record_click" android:state_pressed="true" />
+    <item android:drawable="@drawable/tab_recharge_record" />
+</selector>

+ 8 - 0
app/src/main/res/drawable/selector_tab_my_money2.xml

@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="utf-8"?>
+<selector xmlns:android="http://schemas.android.com/apk/res/android">
+    <item android:drawable="@drawable/tab_consumption_record_click" android:state_focused="true" />
+    <item android:drawable="@drawable/tab_consumption_record_click" android:state_checked="true" />
+    <item android:drawable="@drawable/tab_consumption_record_click" android:state_selected="true" />
+    <item android:drawable="@drawable/tab_consumption_record_click" android:state_pressed="true" />
+    <item android:drawable="@drawable/tab_consumption_record" />
+</selector>

+ 6 - 0
app/src/main/res/drawable/shape_white_solid_rectangle.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="18dp" />
+    <solid android:color="#ffffff" />
+</shape>

+ 6 - 0
app/src/main/res/drawable/shape_white_solid_rectangle_small.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="8dp" />
+    <solid android:color="#ffffff" />
+</shape>

+ 8 - 0
app/src/main/res/drawable/shape_white_stroke_rectangle.xml

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

+ 153 - 0
app/src/main/res/layout/act_my_money.xml

@@ -0,0 +1,153 @@
+<?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/white_light"
+    android:orientation="vertical">
+
+    <android.support.constraint.ConstraintLayout
+        android:layout_width="match_parent"
+        android:layout_height="wrap_content"
+        android:background="@mipmap/home_blue_bg"
+        android:paddingBottom="@dimen/content_padding_40"
+        android:paddingTop="@dimen/status_bar_height"
+        android:paddingEnd="@dimen/content_padding_20"
+        android:paddingStart="@dimen/content_padding_20">
+
+        <ImageView
+            android:id="@+id/img_baseactivity_title"
+            android:layout_width="wrap_content"
+            android:layout_height="@dimen/layout_heigh_default"
+            android:gravity="center_vertical"
+            android:scaleType="centerInside"
+            android:src="@drawable/narrow_back_white"
+            app:layout_constraintStart_toStartOf="parent"
+            app:layout_constraintTop_toTopOf="parent" />
+
+        <TextView
+            android:id="@+id/txt_baseactivity_title"
+            android:layout_width="wrap_content"
+            android:layout_height="@dimen/layout_heigh_default"
+            android:layout_centerInParent="true"
+            android:gravity="center"
+            android:text="@string/app_name"
+            android:textColor="@color/white"
+            android:textSize="@dimen/text_size_4"
+            app:layout_constraintBottom_toBottomOf="@+id/img_baseactivity_title"
+            app:layout_constraintEnd_toEndOf="parent"
+            app:layout_constraintStart_toStartOf="parent"
+            app:layout_constraintTop_toTopOf="@+id/img_baseactivity_title" />
+
+        <TextView
+            android:id="@+id/total_money"
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:layout_marginTop="@dimen/content_padding_10"
+            android:text="@string/total_money"
+            android:textSize="15sp"
+            android:textColor="@color/white"
+            app:layout_constraintStart_toStartOf="parent"
+            app:layout_constraintTop_toBottomOf="@+id/img_baseactivity_title" />
+
+        <TextView
+            android:id="@+id/task_reward"
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:layout_marginTop="@dimen/content_padding_20"
+            android:text="@string/task_reward"
+            android:textColor="@color/white"
+            android:textSize="12sp"
+            app:layout_constraintStart_toStartOf="@+id/total_money"
+            app:layout_constraintTop_toBottomOf="@+id/total_money" />
+
+        <TextView
+            android:id="@+id/agent_extract"
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:layout_marginTop="@dimen/content_padding"
+            android:text="@string/agent_extract"
+            android:textColor="@color/white"
+            android:textSize="12sp"
+            app:layout_constraintStart_toStartOf="@+id/total_money"
+            app:layout_constraintTop_toBottomOf="@+id/task_reward" />
+
+        <TextView
+            android:id="@+id/recharge_amount"
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:layout_marginTop="@dimen/content_padding"
+            android:text="@string/recharge_amount"
+            android:textColor="@color/white"
+            android:textSize="12sp"
+            app:layout_constraintStart_toStartOf="@+id/total_money"
+            app:layout_constraintTop_toBottomOf="@+id/agent_extract" />
+
+
+        <TextView
+            android:id="@+id/my_money_recharge_tv"
+            android:layout_width="wrap_content"
+            android:layout_height="36dp"
+            android:textColor="@color/white"
+            android:gravity="center"
+            android:background="@drawable/shape_white_stroke_rectangle"
+            android:paddingStart="@dimen/content_padding_30"
+            android:paddingEnd="@dimen/content_padding_30"
+            android:textSize="17sp"
+            android:text="充值"
+            app:layout_constraintBottom_toTopOf="@+id/my_money_withdraw_tv"
+            app:layout_constraintEnd_toEndOf="parent"
+            app:layout_constraintTop_toBottomOf="@+id/img_baseactivity_title" />
+
+        <TextView
+            android:id="@+id/my_money_withdraw_tv"
+            android:layout_width="wrap_content"
+            android:layout_height="36dp"
+            android:textColor="#34A6E7"
+            android:gravity="center"
+            android:background="@drawable/shape_white_solid_rectangle"
+            android:paddingStart="@dimen/content_padding_30"
+            android:paddingEnd="@dimen/content_padding_30"
+            android:textSize="17sp"
+            android:text="提现"
+            android:layout_marginTop="5dp"
+            app:layout_constraintBottom_toTopOf="@+id/available_amount"
+            app:layout_constraintEnd_toEndOf="parent"
+            app:layout_constraintTop_toBottomOf="@+id/my_money_recharge_tv" />
+
+        <TextView
+            android:id="@+id/available_amount"
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:textColor="@color/white"
+            android:textSize="12sp"
+            android:text="@string/available_amount"
+            app:layout_constraintBaseline_toBaselineOf="@+id/recharge_amount"
+            app:layout_constraintEnd_toEndOf="parent"
+            app:layout_constraintTop_toBottomOf="@+id/my_money_withdraw_tv" />
+    </android.support.constraint.ConstraintLayout>
+
+    <android.support.design.widget.TabLayout
+        android:id="@+id/indicator"
+        android:layout_width="match_parent"
+        android:layout_height="50dp"
+        android:layout_marginEnd="@dimen/content_padding_10"
+        android:layout_marginStart="@dimen/content_padding_10"
+        android:layout_marginTop="-25dp"
+        android:background="@drawable/shape_white_solid_rectangle_small"
+        app:tabGravity="fill"
+        app:tabIndicatorColor="#4bc1fe"
+        app:tabIndicatorHeight="0dp"
+        app:tabMode="fixed"
+        app:tabSelectedTextColor="#4bc1fe"
+        app:tabTextAppearance="@android:style/TextAppearance.Holo.Medium"
+        app:tabTextColor="#444444" />
+
+    <android.support.v4.view.ViewPager
+        android:id="@+id/pager"
+        android:layout_width="match_parent"
+        android:layout_height="0dip"
+        android:layout_marginTop="@dimen/content_padding_10"
+        android:layout_weight="1" />
+
+</LinearLayout>

+ 1 - 2
app/src/main/res/layout/fgt_credit_card_task_list.xml

@@ -3,8 +3,7 @@
     android:layout_width="match_parent"
     android:layout_height="match_parent"
     xmlns:app="http://schemas.android.com/apk/res-auto"
-    android:background="@color/white_light"
-    android:orientation="vertical">
+    android:background="@color/white_light">
 
     <android.support.constraint.ConstraintLayout
         android:id="@+id/task_progress_iv"

+ 35 - 0
app/src/main/res/layout/list_has_empty.xml

@@ -0,0 +1,35 @@
+<?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">
+
+    <include
+        android:id="@+id/empty_view"
+        layout="@layout/empty_view"
+        android:layout_width="match_parent"
+        android:layout_height="match_parent" />
+
+    <android.support.v4.widget.SwipeRefreshLayout
+        android:id="@+id/swipe_container"
+        android:layout_width="match_parent"
+        android:layout_height="wrap_content"
+        android:layout_margin="@dimen/content_padding_10">
+
+        <LinearLayout
+            android:layout_width="match_parent"
+            android:layout_height="wrap_content">
+
+            <ListView
+                android:id="@+id/list_view"
+                android:layout_width="match_parent"
+                android:layout_height="wrap_content"
+                android:background="@drawable/shape_white_solid_rectangle_small"
+                android:divider="@null"
+                android:listSelector="@color/transparent"
+                android:paddingBottom="@dimen/content_padding_8"
+                android:paddingTop="@dimen/content_padding_8"
+                android:scrollbars="none" />
+        </LinearLayout>
+    </android.support.v4.widget.SwipeRefreshLayout>
+
+</RelativeLayout>

+ 24 - 0
app/src/main/res/layout/tab_item.xml

@@ -0,0 +1,24 @@
+<?xml version="1.0" encoding="utf-8"?>
+<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
+    android:layout_width="wrap_content"
+    android:layout_height="50dp"
+    android:gravity="center"
+    android:orientation="horizontal">
+
+    <ImageView
+        android:id="@+id/tabicon"
+        android:layout_width="16dp"
+        android:layout_height="16dp"
+        android:layout_gravity="center"
+        android:src="@drawable/selector_tab_my_money1" />
+
+    <TextView
+        android:id="@+id/tabtext"
+        android:layout_width="wrap_content"
+        android:layout_height="wrap_content"
+        android:layout_marginStart="@dimen/content_padding_10"
+        android:gravity="center"
+        android:text="TAB"
+        android:textColor="@color/selector_color_my_money_tab"
+        android:textSize="15sp" />
+</LinearLayout>

文件差异内容过多而无法显示
+ 477 - 477
app/src/main/res/layout/x_ask_getmoney_act_layout.xml


+ 39 - 0
app/src/main/res/layout/x_my_money_act_layout_item.xml

@@ -0,0 +1,39 @@
+<?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:gravity="center_vertical"
+    android:padding="@dimen/content_padding_10"
+    android:orientation="horizontal">
+    <TextView
+        android:id="@+id/my_money_item_recharge_amount"
+        android:layout_width="0dp"
+        android:layout_height="wrap_content"
+        android:layout_weight="2"
+        android:gravity="left"
+        android:singleLine="true"
+        android:textSize="12sp"
+        android:textColor="#282828"
+        android:text="充值金额100.00元"/>
+    <TextView
+        android:id="@+id/my_money_item_recharge_status"
+        android:layout_width="0dp"
+        android:layout_height="wrap_content"
+        android:layout_weight="1"
+        android:gravity="center"
+        android:singleLine="true"
+        android:textSize="12sp"
+        android:textColor="#282828"
+        android:text="充值成功"/>
+    <TextView
+        android:id="@+id/my_money_item_recharge_time"
+        android:layout_width="0dp"
+        android:layout_height="wrap_content"
+        android:layout_weight="2"
+        android:singleLine="true"
+        android:gravity="right"
+        android:textSize="12sp"
+        android:textColor="#282828"
+        android:text="2018/05/07 20:59"/>
+
+</LinearLayout>

+ 1 - 0
app/src/main/res/values/common.xml

@@ -29,6 +29,7 @@
 
     <!--一般layout的高度-->
     <dimen name="layout_heigh_default">48dp</dimen>
+    <dimen name="status_bar_height">24dp</dimen>
     <dimen name="edt_heigh_default">40dp</dimen>
 
     <!--下载按钮的style-->

+ 2 - 0
app/src/main/res/values/dd_colors.xml

@@ -20,5 +20,7 @@
     <color name="main_tab">#AFAFAF</color>
     <color name="color_choose_head_tv_press">#ff2d4b</color>
     <color name="color_choose_head_tv">#444444</color>
+    <color name="my_money_tab_activated">#2ec0f3</color>
+    <color name="my_money_tab">#444444</color>
 
 </resources>

+ 5 - 0
app/src/main/res/values/strings.xml

@@ -14,4 +14,9 @@
     <string name="coming_soon">敬请期待</string>
     <string name="last_page">&#060;</string>
     <string name="next_page">&#062;</string>
+    <string name="total_money">绵羊币总资产:<font color='#ff2d4b'><big>%s</big></font>元</string>
+    <string name="task_reward">任务奖励:<font color='#ff2d4b'><big>%s</big></font>元</string>
+    <string name="agent_extract">代理提成:<font color='#ff2d4b'><big>%s</big></font>元</string>
+    <string name="recharge_amount">充值金额:<font color='#ff2d4b'><big>%s</big></font>元</string>
+    <string name="available_amount">可提现金额:<font color='#ff2d4b'><big>%s</big></font>元</string>
 </resources>