xuxiuxi
2017-05-22 c41c02a52bb12a5724f4d9e9d2e9a33167de88a4
VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/base/MainActivity.java
@@ -1,13 +1,23 @@
package cn.com.basic.face.base;
import android.content.Context;
import android.os.Handler;
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.view.ViewPager;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.view.Window;
import android.view.WindowManager;
import android.widget.ImageView;
import android.widget.TextView;
import android.widget.Toast;
import com.bsk.zhangbo.demoforbsk.R;
import cn.com.basic.face.adapter.MyFragmentPagerAdapter;
import cn.com.basic.face.fragment.SupervisoryFragment;
import cn.com.basic.face.fragment.SurveillanceFragment;
import cn.com.basic.face.util.TabNameUtil;
import cn.com.basic.face.fragment.AttendanceFragment;
import cn.com.basic.face.fragment.CheckInFragment;
@@ -16,6 +26,7 @@
import cn.com.basic.face.fragment.RegisterFragment;
import cn.com.basic.face.fragment.VisitFragment;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
@@ -48,13 +59,13 @@
        List<String> tabNamesList = Arrays.asList(TabNameUtil.tabNames);
        int[] tabIcons = TabNameUtil.tabIcons;
        MyFragmentPagerAdapter myFragmentPagerAdapter = new MyFragmentPagerAdapter(getSupportFragmentManager(),MainActivity.this);
        myFragmentPagerAdapter.addFragment(SupervisoryFragment.getInstance(), tabNamesList.get(0),tabIcons[0]);
        myFragmentPagerAdapter.addFragment(SurveillanceFragment.getInstance(), tabNamesList.get(0),tabIcons[0]);
        myFragmentPagerAdapter.addFragment(RegisterFragment.getInstance(), tabNamesList.get(1),tabIcons[1]);
        myFragmentPagerAdapter.addFragment(CheckInFragment.getInstance(), tabNamesList.get(2),tabIcons[2]);
        myFragmentPagerAdapter.addFragment(PhoneCallFragment.newInstance(), tabNamesList.get(3),tabIcons[3]);
        myFragmentPagerAdapter.addFragment(VisitFragment.newInstance(), tabNamesList.get(4),tabIcons[4]);
        myFragmentPagerAdapter.addFragment(AttendanceFragment.newInstance(), tabNamesList.get(5),tabIcons[5]);
        myFragmentPagerAdapter.addFragment(DeviceFragment.newInstance(), tabNamesList.get(6),tabIcons[6]);
        myFragmentPagerAdapter.addFragment(PhoneCallFragment.getInstance(), tabNamesList.get(3),tabIcons[3]);
        myFragmentPagerAdapter.addFragment(VisitFragment.getInstance(), tabNamesList.get(4),tabIcons[4]);
        myFragmentPagerAdapter.addFragment(AttendanceFragment.getInstance(), tabNamesList.get(5),tabIcons[5]);
        myFragmentPagerAdapter.addFragment(DeviceFragment.getInstance(), tabNamesList.get(6),tabIcons[6]);
        mViewPager.setAdapter(myFragmentPagerAdapter);
        mViewPager.setOffscreenPageLimit(6);//viewpager缓存个数
        mTabLayout.setupWithViewPager(mViewPager);
@@ -66,9 +77,76 @@
                tab.getCustomView().setSelected(true);
            }
        }
    }
    public static Context getInstance() {
    public static MainActivity getInstance() {
        return instance;
    }
    public static class MyFragmentPagerAdapter extends FragmentPagerAdapter {
        private final List<Fragment> mFragments = new ArrayList<>();
        private final List<String> mFragmentTitles = new ArrayList<>();
        private final List<Integer> mFragmentIcons = new ArrayList<>();
        private Context context;
        public MyFragmentPagerAdapter(FragmentManager fm, Context context) {
            super(fm);
            this.context = context;
        }
        public void addFragment(Fragment fragment, String title,int drawable) {
            mFragments.add(fragment);
            mFragmentTitles.add(title);
            mFragmentIcons.add(drawable);
        }
        @Override
        public Fragment getItem(int position) {
            return mFragments.get(position);
        }
        @Override
        public int getCount() {
            return mFragments.size();
        }
        @Override
        public CharSequence getPageTitle(int position) {
            return null;
        }
        public View getTabView(int position){
            View view = LayoutInflater.from(context).inflate(R.layout.activity_main_tab,null);
            TextView mTvTitle = (TextView) view.findViewById(R.id.tab_item_title);
            mTvTitle.setText(mFragmentTitles.get(position));
            ImageView mImgIcon = (ImageView) view.findViewById(R.id.tab_item_icon);
            mImgIcon.setImageResource(mFragmentIcons.get(position));
            return view;
        }
    }
    boolean doubleBackToExitPressedOnce = false;
    @Override
    public void onBackPressed() {
        if (doubleBackToExitPressedOnce) {
            super.onBackPressed();
            return;
        }
        this.doubleBackToExitPressedOnce = true;
        Toast.makeText(this, "请再次按返回键退出", Toast.LENGTH_SHORT).show();
        new Handler().postDelayed(new Runnable() {
            @Override
            public void run() {
                doubleBackToExitPressedOnce=false;
            }
        }, 2000);
    }
}