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>
|
}
|