package cn.flightfeather.thirdapp.dataanalysis; import android.content.Context; import android.os.Bundle; import android.support.annotation.NonNull; import android.support.annotation.Nullable; import android.support.design.widget.NavigationView; import android.support.v4.app.Fragment; import android.support.v4.app.FragmentManager; import android.support.v4.widget.DrawerLayout; import android.view.Gravity; import android.view.LayoutInflater; import android.view.MenuItem; import android.view.View; import android.view.ViewGroup; import android.widget.ImageView; import java.util.ArrayList; import java.util.List; import cn.flightfeather.thirdapp.R; import cn.flightfeather.thirdapp.CommonApplication; import cn.flightfeather.thirdapp.httpservice.TaskService; /** * 数据分析模块 */ public class AnysisFragment extends Fragment implements View.OnClickListener { private CommonApplication application; private TaskService taskService; private Context context; private Boolean visible = true; private DrawerLayout drawerLayout; private NavigationView NV_analysis; private List fragmentList = new ArrayList<>(); private FragmentManager fragmentManager; private Fragment fragmentCurrent; private ImageView IV_menu; @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { return inflater.inflate(R.layout.fragment_anysis, container, false); } @Override public void onViewCreated(View view, @Nullable Bundle savedInstanceState) { super.onViewCreated(view, savedInstanceState); application = (CommonApplication) getActivity().getApplication(); taskService = application.getRetrofit().create(TaskService.class); context = getContext(); fragmentManager = getActivity().getSupportFragmentManager(); initActionbar(view); initNavigationView(view); initFragment(); } private void initNavigationView(View view){ drawerLayout = (DrawerLayout) view.findViewById(R.id.DL_analysis); NV_analysis = (NavigationView) view.findViewById(R.id.NV_analysis); // ActionBarDrawerToggle toggle = new ActionBarDrawerToggle(getActivity(), drawerLayout, R.string.action_settings, R.string.action_settings); // drawerLayout.setDrawerListener(toggle); // toggle.syncState(); // NV_analysis.setItemIconTintList(null);//设置图标颜色为本身颜色 NV_analysis.setNavigationItemSelectedListener(new NavigationView.OnNavigationItemSelectedListener() { @Override public boolean onNavigationItemSelected(@NonNull MenuItem item) { int order = item.getOrder(); try { switchSelectedFragment(fragmentList.get(order)); IV_menu.refreshDrawableState(); }catch (Exception e){ e.printStackTrace(); } drawerLayout.closeDrawer(Gravity.END); return true; } }); } private void initFragment(){ fragmentList.add(new AnysisProgressFragment()); fragmentList.add(new AnysisProblemFragment()); // fragmentList.add(new AnysisRankFragment()); fragmentManager.beginTransaction().add(R.id.FL_analysis, fragmentList.get(0)).commit(); fragmentCurrent = fragmentList.get(0); } private void switchSelectedFragment(Fragment fragment){ if (fragment.isAdded()){ fragmentManager.beginTransaction().hide(fragmentCurrent).show(fragment).commit(); }else { fragmentManager.beginTransaction().add(R.id.FL_analysis, fragment).hide(fragmentCurrent).show(fragment).commit(); } fragmentCurrent = fragment; } private void initActionbar(View view) { // view.findViewById(R.id.img_left).setVisibility(View.GONE); // view.findViewById(R.id.spinner_topclass_task).setVisibility(View.GONE); // view.findViewById(R.id.img_right).setOnClickListener(this); // ((TextView) view.findViewById(R.id.actionbar_title)).setTitle("数据分析"); IV_menu = (ImageView) view.findViewById(R.id.IV_menu); IV_menu.setOnClickListener(this); } @Override public void onHiddenChanged(boolean hidden) { super.onHiddenChanged(hidden); // taskProgressAdapter.notifyDataSetChanged(); } @Override public void onClick(View v) { switch (v.getId()) { case R.id.IV_menu: if (visible)drawerLayout.openDrawer(Gravity.END); else drawerLayout.closeDrawer(Gravity.END); visible = !visible; break; } } }