1 public classMainActivity extends AppCompatActivity implements View.OnClickListener {2
3 //第一次点击与第二次点击的间隔时间
4 private longexitTime;5
6 private ListfragmentList;7 privateViewPager viewPager;8 privateFragmentAdapter adapter;9 privateImageButton btnImg;10 privateTextView textView1,textView2,textView3;11 private int num = 0;12
13 @Override14 protected voidonCreate(Bundle savedInstanceState) {15 super.onCreate(savedInstanceState);16 setContentView(R.layout.activity_main);17 initView();18 }19
20 private voidinitView(){21 btnImg =(ImageButton)findViewById(R.id.btn_Img_Ret);22 textView1 =(TextView)findViewById(R.id.txt1);23 textView2 =(TextView)findViewById(R.id.txt2);24 textView3 =(TextView)findViewById(R.id.txt3);25
26 textView1.setOnClickListener(this);27 textView2.setOnClickListener(this);28 textView3.setOnClickListener(this);29 btnImg.setOnClickListener(this);30
31 viewPager =(ViewPager)findViewById(R.id.viewPage);32 viewPager.setOnPageChangeListener(newMyPagerChangeListener());33
34 fragmentList = new ArrayList<>();35 fragmentList.add(newTestFragment1());36 fragmentList.add(newTestFragment2());37 fragmentList.add(newTestFragment3());38
39 adapter = newFragmentAdapter(getSupportFragmentManager(),fragmentList);40 viewPager.setAdapter(adapter);41
42 //初始化显示第一个页面,以及更改选中的标题样式
43 viewPager.setCurrentItem(0); //选中第一个页面
44 textView1.setTextSize(16); //设置选中的标题字体16sp
45 textView1.setTextColor(Color.parseColor("#039BE5")); //设置选中的标题字体颜色
46 }47
48
49 @Override50 public voidonClick(View view) {51 switch(view.getId()){52 caseR.id.txt1:53 viewPager.setCurrentItem(0);54 break;55 caseR.id.txt2:56 viewPager.setCurrentItem(1);57 break;58 caseR.id.txt3:59 viewPager.setCurrentItem(2);60 break;61 }62 }63
64 //设置一个ViewPager的监听事件,当左右滑动ViewPager时菜单栏被选中状态跟着改变
65 public classMyPagerChangeListener implements ViewPager.OnPageChangeListener{66
67 @Override68 public void onPageScrolled(int position, float positionOffset, intpositionOffsetPixels) {69
70 }71
72 @Override73 public void onPageSelected(intposition) {74 switch(position){75 case 0:76 textView1.setTextSize(16);77 textView2.setTextSize(14);78 textView3.setTextSize(14);79 textView1.setTextColor(Color.parseColor("#039BE5"));80 textView2.setTextColor(Color.GRAY);81 textView3.setTextColor(Color.GRAY);82 break;83 case 1:84 textView1.setTextSize(14);85 textView2.setTextSize(16);86 textView3.setTextSize(14);87 textView1.setTextColor(Color.GRAY);88 textView2.setTextColor(Color.parseColor("#039BE5"));89 textView3.setTextColor(Color.GRAY);90 break;91 case 2:92 textView1.setTextSize(14);93 textView2.setTextSize(14);94 textView3.setTextSize(16);95 textView1.setTextColor(Color.GRAY);96 textView2.setTextColor(Color.GRAY);97 textView3.setTextColor(Color.parseColor("#039BE5"));98 break;99 }100 }101
102 @Override103 public void onPageScrollStateChanged(intstate) {104
105 }106 }107
108 /**109 * 实现点击两次系统返回键退出应用110 * @param keyCode111 * @param event112 * @return113 */
114 @Override115 public boolean onKeyDown(int keyCode, KeyEvent event) {116 if(keyCode == KeyEvent.KEYCODE_BACK && event.getRepeatCount() == 0){117 exit();118 return true;119 }120 return super.onKeyDown(keyCode, event);121 }122
123 private voidexit(){124 if((System.currentTimeMillis() - exitTime) > 2000){125 Toast.makeText(this, "再次点击退出应用", Toast.LENGTH_SHORT).show();126 exitTime =System.currentTimeMillis();127 }else{128 finish();129 System.exit(0);130 }131 }132 }