package com.taobao.tae.Mshopping.demo.activity;
import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentActivity;
import android.support.v4.view.ViewPager;
import android.support.v4.view.ViewPager.OnPageChangeListener;
import android.util.Log;
import android.view.KeyEvent;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.Window;
import android.widget.*;
import com.taobao.tae.Mshopping.demo.R;
import com.taobao.tae.Mshopping.demo.adapter.FragmentPagerAdapter;
import com.taobao.tae.Mshopping.demo.constant.Constants;
import com.taobao.tae.Mshopping.demo.constant.UmengAnalysis;
import com.taobao.tae.Mshopping.demo.fegment.ItemsListFragment;
import com.umeng.analytics.MobclickAgent;
import com.umeng.update.UmengUpdateAgent;
import java.util.ArrayList;
public class IndexActivity extends FragmentActivity {
private static final String TAG = "IndexActivity";
private ViewPager viewPager;
private ArrayList<Fragment> fragmentsList;
private RadioButton tvTabNew, tvTabSelect, tvTabFashion;
private int param = 1;
private int currIndex = 0;
private long firstClickBackTime = 0;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
requestWindowFeature(Window.FEATURE_NO_TITLE);
setContentView(R.layout.index_activity);
MobclickAgent.openActivityDurationTrack(false);
initTextView();
initViewPager();
UmengUpdateAgent.update(this);
MobclickAgent.setDebugMode(UmengAnalysis.isOpenAnalyticsDebug);
}
private void initTextView() {
tvTabNew = (RadioButton) findViewById(R.id.tv_tab_new);
tvTabSelect = (RadioButton) findViewById(R.id.tv_tab_select);
tvTabFashion = (RadioButton) findViewById(R.id.tv_tab_fashion);
tvTabNew.setOnClickListener(new MyOnClickListener(0));
tvTabSelect.setOnClickListener(new MyOnClickListener(1));
tvTabFashion.setOnClickListener(new MyOnClickListener(2));
}
private void initViewPager() {
viewPager = (ViewPager) findViewById(R.id.vPager);
fragmentsList = new ArrayList<Fragment>();
Fragment newFragment = ItemsListFragment.newInstance(Constants.NEW_CATEGORY);
Fragment selectFragment = ItemsListFragment.newInstance(Constants.SELECT_CATEGORY);
Fragment fashionFragment = ItemsListFragment.newInstance(Constants.FASHION_CATEGORY);
fragmentsList.add(newFragment);
fragmentsList.add(selectFragment);
fragmentsList.add(fashionFragment);
viewPager.setAdapter(new FragmentPagerAdapter(getSupportFragmentManager(), fragmentsList));
viewPager.setCurrentItem(0);
viewPager.setOffscreenPageLimit(4);
viewPager.setOnPageChangeListener(new MyOnPageChangeListener());
}
public class MyOnClickListener implements OnClickListener {
private int index = 0;
public MyOnClickListener(int i) {
index = i;
}
@Override
public void onClick(View v) {
viewPager.setCurrentItem(index);
}
}
;
public class MyOnPageChangeListener implements OnPageChangeListener {
@Override
public void onPageSelected(int arg0) {
switch (arg0) {
case 0:
if (currIndex == 1) {
tvTabSelect.setTextColor(getResources().getColor(R.color.black));
tvTabSelect.setCompoundDrawablesWithIntrinsicBounds(0, 0, 0, 0);
tvTabSelect.setCompoundDrawablesWithIntrinsicBounds(
getResources().getDrawable(R.drawable.special_icon), null, null, null);
} else if (currIndex == 2) {
tvTabFashion.setTextColor(getResources().getColor(R.color.black));
tvTabFashion.setCompoundDrawablesWithIntrinsicBounds(0, 0, 0, 0);
tvTabFashion.setCompoundDrawablesWithIntrinsicBounds(
getResources().getDrawable(R.drawable.mei_icon), null, null, null);
}
tvTabNew.setTextColor(getResources().getColor(R.color.pink));
tvTabNew.setCompoundDrawablesWithIntrinsicBounds(0, 0, 0, 0);
tvTabNew.setCompoundDrawablesWithIntrinsicBounds(
getResources().getDrawable(R.drawable.fashion_icon_s), null, null, null);
break;
case 1:
if (currIndex == 0) {
tvTabNew.setTextColor(getResources().getColor(R.color.black));
tvTabNew.setCompoundDrawablesWithIntrinsicBounds(0, 0, 0, 0);
tvTabNew.setCompoundDrawablesWithIntrinsicBounds(
getResources().getDrawable(R.drawable.fashion_icon), null, null, null);
} else if (currIndex == 2) {
tvTabFashion.setTextColor(getResources().getColor(R.color.black));
tvTabFashion.setCompoundDrawablesWithIntrinsicBounds(0, 0, 0, 0);
tvTabFashion.setCompoundDrawablesWithIntrinsicBounds(
getResources().getDrawable(R.drawable.mei_icon), null, null, null);
}
tvTabSelect.setTextColor(getResources().getColor(R.color.pink));
tvTabSelect.setCompoundDrawablesWithIntrinsicBounds(0, 0, 0, 0);
tvTabSelect.setCompoundDrawablesWithIntrinsicBounds(
getResources().getDrawable(R.drawable.special_icon_s), null, null, null);
break;
case 2:
if (currIndex == 0) {
tvTabNew.setTextColor(getResources().getColor(R.color.black));
tvTabNew.setCompoundDrawablesWithIntrinsicBounds(0, 0, 0, 0);
tvTabNew.setCompoundDrawablesWithIntrinsicBounds(
getResources().getDrawable(R.drawable.fashion_icon), null, null, null);
} else if (currIndex == 1) {
tvTabSelect.setTextColor(getResources().getColor(R.color.black));
tvTabSelect.setCompoundDrawablesWithIntrinsicBounds(0, 0, 0, 0);
tvTabSelect.setCompoundDrawablesWithIntrinsicBounds(
getResources().getDrawable(R.drawable.special_icon), null, null, null);
}
tvTabFashion.setTextColor(getResources().getColor(R.color.pink));
tvTabFashion.setCompoundDrawablesWithIntrinsicBounds(0, 0, 0, 0);
tvTabFashion.setCompoundDrawablesWithIntrinsicBounds(
getResources().getDrawable(R.drawable.mei_icon_s), null, null, null);
break;
}
currIndex = arg0;
}
@Override
public void onPageScrolled(int arg0, float arg1, int arg2) {
}
@Override
public void onPageScrollStateChanged(int arg0) {
}
}
public final void onResume() {
super.onResume();
MobclickAgent.onResume(this); //统计时长
}
public final void onPause() {
super.onPause();
MobclickAgent.onPause(this);
}
public boolean onKeyDown(int keyCode, KeyEvent event) {
switch (keyCode) {
case KeyEvent.KEYCODE_BACK:
long secondClickBackTime = System.currentTimeMillis();
if (secondClickBackTime - firstClickBackTime > 2000) {
toast("再点一次,退出");
firstClickBackTime = secondClickBackTime;
return true;
} else {
System.exit(0);
}
break;
}
return super.onKeyUp(keyCode, event);
}
/**
* 展示一个粉色的Toast
*
* @param message
*/
protected void toast(String message) {
View toastRoot = getLayoutInflater().inflate(R.layout.toast, null);
Toast toast = new Toast(getApplicationContext());
toast.setView(toastRoot);
TextView tv = (TextView) toastRoot.findViewById(R.id.pink_toast_notice);
tv.setText(message);
toast.show();
}
}