package com.bczm.widgetcollections.ui.activity; import android.content.Context; import android.content.SharedPreferences; import android.media.MediaPlayer; 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.view.KeyEvent; import android.view.View; import android.widget.Button; import com.android.volley.AuthFailureError; import com.android.volley.RequestQueue; import com.android.volley.Response; import com.android.volley.VolleyError; import com.android.volley.toolbox.GsonRequest; import com.android.volley.toolbox.JsonObjectRequest; import com.android.volley.toolbox.StringRequest; import com.bczm.widgetcollections.BaseApplication; import com.bczm.widgetcollections.R; import com.bczm.widgetcollections.bean.TouristInfo; import com.bczm.widgetcollections.http.HttpUtil; import com.bczm.widgetcollections.http.NetUtils; import com.bczm.widgetcollections.ui.fragment.BaseFragment; import com.bczm.widgetcollections.ui.fragment.FragmentFactory; import com.bczm.widgetcollections.ui.widget.NoScrollViewPager; import com.bczm.widgetcollections.utils.FileUtils; import com.bczm.widgetcollections.utils.LogUtils; import com.bczm.widgetcollections.utils.SharedPreferenceUtils; import com.bczm.widgetcollections.utils.UIUtils; import com.android.volley.Request.Method; import com.google.gson.Gson; import org.json.JSONObject; import java.util.Collection; import java.util.HashMap; import java.util.Map; import butterknife.Bind; import butterknife.ButterKnife; /** * launch page */ public class MainActivity extends BaseActivity { @Bind(R.id.pager) NoScrollViewPager mViewPager; @Bind(R.id.btn_cartoon) Button mCartoonBtn; @Bind(R.id.btn_tv) Button mTVBtn; @Bind(R.id.btn_audio) Button mAudioBtn; @Bind(R.id.btn_video) Button mVideoBtn; // 双击退出 记时 private static long DOUBLE_CLICK_TIME = 0L; private MainPagerAdapter pagerAdapter; @Override protected void createContent() { HttpUtil.getAssToken(); setContentView(R.layout.activity_main); ButterKnife.bind(this);initTabs(); tabChange(0); } //底部 tab 的点击事件 public void onClick(View view){ switch (view.getId()){ case R.id.btn_cartoon: //第一页 changeFragment(FragmentFactory.TAB_FIRST); break; case R.id.btn_tv://第2页 changeFragment(FragmentFactory.TAB_SECOND); break; case R.id.btn_audio://第3页 changeFragment(FragmentFactory.TAB_THIRD); break; case R.id.btn_video://第4页 changeFragment(FragmentFactory.TAB_FOURTH); break; } } @Override protected void setListeners() { pagerAdapter = new MainPagerAdapter(getSupportFragmentManager()); mViewPager.setAdapter(pagerAdapter); mViewPager.setOffscreenPageLimit(3); mViewPager.setOnPageChangeListener(new MyOnPageChangeListener()); } @Override protected void free() { } MediaPlayer mp; @Override protected void onResume() { // play(); super.onResume(); } @Override protected void onStop() { super.onStop(); // mp.stop(); } public void play() { mp = MediaPlayer.create(MainActivity.this, R.raw.kiss); new Thread() { public void run() { mp.start(); } ; }.start(); } public void initTabs(){ String[] names= UIUtils.getStringArray(R.array.tab_names); Button[] mTabs={mCartoonBtn,mTVBtn,mAudioBtn,mVideoBtn}; for (int i=0;i<mTabs.length;i++){ mTabs[i].setText(""+names[i]); } } private void tabChange(int index) { switch (index){ case 0: mCartoonBtn.setBackgroundResource(R.color.blue); mCartoonBtn.setTextColor(getResources().getColor(R.color.white)); mTVBtn.setBackgroundResource(R.color.transparent); mTVBtn.setTextColor(getResources().getColor(R.color.blue)); mAudioBtn.setBackgroundResource(R.color.transparent); mAudioBtn. setTextColor(getResources().getColor(R.color.blue)); mVideoBtn.setBackgroundResource(R.color.transparent); mVideoBtn. setTextColor(getResources().getColor(R.color.blue)); break; case 1: mCartoonBtn.setBackgroundResource(R.color.transparent); mCartoonBtn.setTextColor(getResources().getColor(R.color.blue)); mTVBtn.setBackgroundResource(R.color.blue); mTVBtn.setTextColor(getResources().getColor(R.color.white)); mAudioBtn.setBackgroundResource(R.color.transparent); mAudioBtn.setTextColor(getResources().getColor(R.color.blue)); mVideoBtn.setBackgroundResource(R.color.transparent); mVideoBtn.setTextColor(getResources().getColor(R.color.blue)); break; case 2: mCartoonBtn.setBackgroundResource(R.color.transparent); mCartoonBtn.setTextColor(getResources().getColor(R.color.blue)); mTVBtn.setBackgroundResource(R.color.transparent); mTVBtn.setTextColor(getResources().getColor(R.color.blue)); mAudioBtn.setBackgroundResource(R.color.blue); mAudioBtn.setTextColor(getResources().getColor(R.color.white)); mVideoBtn.setBackgroundResource(R.color.transparent); mVideoBtn.setTextColor(getResources().getColor(R.color.blue)); break; case 3: mCartoonBtn.setBackgroundResource(R.color.transparent); mCartoonBtn.setTextColor(getResources().getColor(R.color.blue)); mTVBtn.setBackgroundResource(R.color.transparent); mTVBtn.setTextColor(getResources().getColor(R.color.blue)); mAudioBtn.setBackgroundResource(R.color.transparent); mAudioBtn.setTextColor(getResources().getColor(R.color.blue)); mVideoBtn.setBackgroundResource(R.color.blue); mVideoBtn.setTextColor(getResources().getColor(R.color.white)); break; default: break; } mViewPager.setCurrentItem(index); } /** ViewPager的适配器 */ public class MainPagerAdapter extends FragmentPagerAdapter { private String[] mTabTitle; public MainPagerAdapter(FragmentManager fragmentManager) { super(fragmentManager); mTabTitle = UIUtils.getStringArray(R.array.tab_names); } @Override public CharSequence getPageTitle(int position) { return mTabTitle[position]; } @Override public int getCount() { return mTabTitle.length; } @Override public Fragment getItem(int position) { return FragmentFactory.createFragment(position); } } private class MyOnPageChangeListener implements ViewPager.OnPageChangeListener { @Override public void onPageScrollStateChanged(int state) { //ViewPager滑动状态改变的回调 } @Override public void onPageScrolled(int index, float offset, int offsetPx) { //ViewPager滑动时的回调 } @Override public void onPageSelected(int index) { changeFragment(index); } } /** * 更换要显示的Fragment * @param index */ public void changeFragment(int index){ // ViewPager页面被选中的回调 BaseFragment fragment = FragmentFactory.createFragment(index); // 当页面被选中 再显示要加载的页面....防止ViewPager提前加载(ViewPager一般加载三个,自己,左一个,右一个) fragment.show();// 调用show方法加载pager里面的数据 tabChange(index); } //双击退出 @Override public boolean onKeyDown(int keyCode, KeyEvent event) { if(keyCode==KeyEvent.KEYCODE_BACK){ if(System.currentTimeMillis()-DOUBLE_CLICK_TIME>2000){// 2秒之内 双击两次退出 UIUtils.showToastSafe("再点击一次 退出"); DOUBLE_CLICK_TIME = System.currentTimeMillis(); }else{ BaseApplication.getApplication().exitApp(); } return true; } return super.onKeyDown(keyCode, event); } }