Android基于ViewPager Fragment实现选项卡

2019-12-10 19:50:37王旭
  • private void InitWidth() {  ivBottomLine = (ImageView) findViewById(R.id.iv_bottom_line); 
  • bottomLineWidth = ivBottomLine.getLayoutParams().width;  Log.d(TAG, "cursor imageview width=" + bottomLineWidth); 
  • DisplayMetrics dm = new DisplayMetrics();  getWindowManager().getDefaultDisplay().getMetrics(dm); 
  • int screenW = dm.widthPixels;  offset = (int) ((screenW / 4.0 - bottomLineWidth) / 2); 
  • Log.i("MainActivity", "offset=" + offset);  position_one = (int) (screenW / 4.0); 
  • position_two = position_one * 2;  position_three = position_one * 3; 
  • }  public class MyOnClickListener implements View.OnClickListener { 
  • private int index = 0;  public MyOnClickListener(int i) { 
  • index = i;  } 
  • @Override  public void onClick(View v) { 
  • mPager.setCurrentItem(index);  } 
  • };  public class MyOnPageChangeListener implements OnPageChangeListener { 
  • @Override  public void onPageSelected(int arg0) { 
  • Animation animation = null;  switch (arg0) { 
  • case 0:  if (currIndex == 1) { 
  • animation = new TranslateAnimation(position_one, 0, 0, 0);  tvTabGroups.setTextColor(resources.getColor(R.color.lightwhite)); 
  • } else if (currIndex == 2) {  animation = new TranslateAnimation(position_two, 0, 0, 0); 
  • tvTabFriends.setTextColor(resources.getColor(R.color.lightwhite));  } else if (currIndex == 3) { 
  • animation = new TranslateAnimation(position_three, 0, 0, 0);  tvTabChat.setTextColor(resources.getColor(R.color.lightwhite)); 
  • }  tvTabActivity.setTextColor(resources.getColor(R.color.white)); 
  • break;  case 1: 
  • if (currIndex == 0) {  animation = new TranslateAnimation(0, position_one, 0, 0); 
  • tvTabActivity.setTextColor(resources.getColor(R.color.lightwhite));  } else if (currIndex == 2) {