From 3e3e3753178aa7f8d239b540daa4c974b5ccaa3d Mon Sep 17 00:00:00 2001 From: xuxiuxi <xuxiuxi@454eff88-639b-444f-9e54-f578c98de674> Date: 星期二, 04 七月 2017 12:28:19 +0800 Subject: [PATCH] --- VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/base/MainActivity.java | 169 ++++++++++++++++++++++++++++++++++++++++++++++++++++++-- 1 files changed, 162 insertions(+), 7 deletions(-) diff --git a/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/base/MainActivity.java b/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/base/MainActivity.java index 4ac2691..c90e67c 100644 --- a/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/base/MainActivity.java +++ b/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/base/MainActivity.java @@ -1,12 +1,25 @@ package cn.com.basic.face.base; +import android.content.Context; +import android.content.Intent; +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.LinearLayout; +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; @@ -15,6 +28,10 @@ import cn.com.basic.face.fragment.RegisterFragment; import cn.com.basic.face.fragment.VisitFragment; +import java.io.File; +import java.io.FileOutputStream; +import java.io.InputStream; +import java.util.ArrayList; import java.util.Arrays; import java.util.List; @@ -47,27 +64,165 @@ 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.getInstance(), 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(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); mTabLayout.setTabMode(TabLayout.MODE_FIXED); for (int i = 0; i < mTabLayout.getTabCount(); i++) { TabLayout.Tab tab = mTabLayout.getTabAt(i); - tab.setCustomView(myFragmentPagerAdapter.getTabView(i)); + LinearLayout view = (LinearLayout)myFragmentPagerAdapter.getTabView(i); + tab.setCustomView(view); if (i == 0) { tab.getCustomView().setSelected(true); } } + myThread = new MyThread(); + myThread.start(); + } 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); + } + + + private MyThread myThread; + class MyThread extends Thread{ + @Override + public void run() { + try { + setBmpDecodeEnv(); + Thread.sleep(2000); + } catch (InterruptedException e) { + e.printStackTrace(); + } + } + } + /** + * 灏唕aw涓嬬殑鏂囦欢澶嶅埗鍒皊dCard + */ + public boolean setBmpDecodeEnv() { + + String path=getFilesDir().getAbsolutePath(); + String filename = "base.dat"; + try{ + String databaseFilename = path + "/" + filename; + File dir = new File(path); + if (!dir.exists()) + dir.mkdir(); + if (!(new File(databaseFilename)).exists()){ + InputStream is = getResources().openRawResource(R.raw.base); + FileOutputStream fos = new FileOutputStream(databaseFilename); + byte[] buffer = new byte[8192]; + int count = 0; + while ((count = is.read(buffer)) > 0) + { + fos.write(buffer, 0, count); + } + fos.close(); + is.close(); + } + } + catch (Exception e){ + System.out.println(e.getMessage()); + return false; + } + + String filename1 = "license.lic"; + try{ + String databaseFilename = path + "/" + filename1; + File dir = new File(path); + if (!dir.exists()) + dir.mkdir(); + if (!(new File(databaseFilename)).exists()){ + InputStream is = getResources().openRawResource(R.raw.license); + FileOutputStream fos = new FileOutputStream(databaseFilename); + byte[] buffer = new byte[8192]; + int count = 0; + while ((count = is.read(buffer)) > 0) + { + fos.write(buffer, 0, count); + } + fos.close(); + is.close(); + } + } + catch (Exception e){ + System.out.println(e.getMessage()); + return false; + } + return true; + } + } -- Gitblit v1.8.0