1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
package cn.flightfeather.thirdapp.dataanalysis.rank;
 
import android.content.Intent;
import android.graphics.Color;
import android.os.Build;
import android.os.Bundle;
import android.support.annotation.RequiresApi;
import android.support.design.widget.TabLayout;
import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentManager;
import android.support.v4.app.FragmentPagerAdapter;
import android.support.v4.content.ContextCompat;
import android.support.v4.view.ViewCompat;
import android.support.v4.view.ViewPager;
import android.support.v7.app.AppCompatActivity;
import android.view.Gravity;
import android.view.View;
import android.widget.TextView;
 
import java.util.ArrayList;
import java.util.List;
 
import butterknife.BindView;
import butterknife.ButterKnife;
import butterknife.OnClick;
import butterknife.Unbinder;
import cn.flightfeather.thirdapp.R;
import cn.flightfeather.thirdapp.bean.vo.RankVo;
 
public class AnalysisRankActivity extends AppCompatActivity {
 
    //<editor-fold desc="全局变量">
    public static final String ARG_PARAM1 = "RankVo";
    public static final String ARG_PARAM2 = "topTask";
    public static final String ARG_PARAM3 = "sceneTypeName";
    public static final String ARG_PARAM4 = "rankType";//首次展示的排名类型,场景综合排名 或 街道综合排名
 
    private final String TITLE = "排名";
 
    private RankVo rankVo;
    private String topTask;
    private String sceneTypeName;
    private int rankType;
 
    private Unbinder unbinder;
    //</editor-fold>
 
    //<editor-fold desc="生命周期">
    @RequiresApi(api = Build.VERSION_CODES.LOLLIPOP)
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_analysis_rank);
        unbinder = ButterKnife.bind(this);
        Intent intent = getIntent();
        this.rankVo = (RankVo) intent.getSerializableExtra(ARG_PARAM1);
        this.topTask = intent.getStringExtra(ARG_PARAM2);
        this.sceneTypeName = intent.getStringExtra(ARG_PARAM3);
        this.rankType = intent.getIntExtra(ARG_PARAM4, 0);
 
        initToolBar();
        initTitle();
        initTab();
        initViewPager();
    }
 
 
 
    @Override
    protected void onDestroy() {
        super.onDestroy();
        if (unbinder != null) {
            unbinder.unbind();
        }
    }
 
    //</editor-fold>
 
    //<editor-fold desc="标题栏">
    @BindView(R.id.action_bar_rank) View action_bar;
 
    @RequiresApi(api = Build.VERSION_CODES.LOLLIPOP)
    private void initToolBar() {
        action_bar.setElevation(0);
        action_bar.setBackgroundColor(Color.alpha(0));
        action_bar.findViewById(R.id.spinner_topclass_task).setVisibility(View.GONE);
//        action_bar.findViewById(R.id.img_left).setVisibility(View.GONE);
        action_bar.findViewById(R.id.img_right).setVisibility(View.INVISIBLE);
        action_bar.findViewById(R.id.ll_menu_text).setVisibility(View.VISIBLE);
        TextView title = action_bar.findViewById(R.id.actionbar_title);
        title.setText(TITLE);
    }
 
    @OnClick(R.id.img_left)
    void onClickBack() {
        this.finish();
    }
    //</editor-fold>
 
    //<editor-fold desc="内容标题">
    @BindView(R.id.text_topTask) TextView text_topTask;
    @BindView(R.id.text_scene) TextView text_scene;
 
    private void initTitle() {
        text_topTask.setText(topTask);
        text_scene.setText(sceneTypeName);
    }
    //</editor-fold>
 
    //<editor-fold desc="ViewPager初始化">
    @BindView(R.id.tabLayout) TabLayout tabLayout;
    @BindView(R.id.viewPager) ViewPager viewPager;
    private List<String> tabIndicators;//tab标题
    private List<Fragment> tabFragments;//内容
    private ContentPagerAdapter contentAdapter;//viewPager内容页面适配器
 
    private void initTab(){
        tabLayout.setTabMode(TabLayout.MODE_SCROLLABLE);
        tabLayout.setTabGravity(Gravity.CENTER_HORIZONTAL);
        tabLayout.setTabTextColors(ContextCompat.getColor(this, R.color.black), ContextCompat.getColor(this, R.color.orange));
        tabLayout.setSelectedTabIndicatorColor(ContextCompat.getColor(this, R.color.orange));
        ViewCompat.setElevation(tabLayout, 2);
        tabLayout.setupWithViewPager(viewPager);//将tab和viewPager绑定
 
    }
 
    private void initViewPager(){
        tabIndicators = new ArrayList<>();
        tabIndicators.add("场景综合排名");
        tabIndicators.add("街道综合排名");
 
        tabFragments = new ArrayList<>();
        tabFragments.add(SceneRankContentFragment.newInstance(rankVo.getSceneRanks()));
        tabFragments.add(TownRankContentFragment.newInstance(rankVo.getTownRanks()));
 
        contentAdapter = new ContentPagerAdapter(getSupportFragmentManager());
        viewPager.setAdapter(contentAdapter);
        try {
            viewPager.setCurrentItem(rankType);
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
 
    /**
     * viewPager适配器
     */
    class ContentPagerAdapter extends FragmentPagerAdapter {
 
        public ContentPagerAdapter(FragmentManager fm) {
            super(fm);
        }
 
        @Override
        public Fragment getItem(int position) {
            return tabFragments.get(position);
        }
 
        @Override
        public int getCount() {
            return tabIndicators.size();
        }
 
        @Override
        public CharSequence getPageTitle(int position) {
            return tabIndicators.get(position);
        }
    }
    //</editor-fold>
}