package com.hjdz.install.fragment; import java.util.ArrayList; import java.util.List; import com.hjdz.install.NetFragment; import com.hjdz.install.R; import com.hjdz.install.view.BadgeView; import android.os.Bundle; import android.support.v4.app.Fragment; import android.support.v4.app.FragmentPagerAdapter; import android.support.v4.view.ViewPager; import android.support.v4.view.ViewPager.OnPageChangeListener; import android.util.DisplayMetrics; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.view.View.OnClickListener; import android.widget.ImageView; import android.widget.LinearLayout; import android.widget.TextView; public class Order_ListFrag extends NetFragment { private TextView title; private ImageView back; private ViewPager mViewPager; private LinearLayout mTabLiaotian; private LinearLayout mTabFaxian; private LinearLayout mTabTongxunlun; private TextView mLiaotian; private TextView mFaxian; private TextView mTongxunlu; private List<Fragment> mFragments = new ArrayList<Fragment>(); // private BadgeView mBadgeViewforLiaotian; // private BadgeView mBadgeViewforFaxian; // private BadgeView mBadgeViewforTongxunlu; private ImageView mTabLine; /** * ViewPager�ĵ�ǰѡ��ҳ */ private int currentIndex; /** * ��Ļ�Ŀ�� */ private int screenWidth; private FragmentPagerAdapter mAdapter; @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { View v = inflater.inflate(R.layout.order_list_aty, null); initView(v); initTabLine(v); mAdapter = new FragmentPagerAdapter(getActivity() .getSupportFragmentManager()) { @Override public int getCount() { return mFragments.size(); } @Override public Fragment getItem(int arg0) { return mFragments.get(arg0); } }; mViewPager.setAdapter(mAdapter); mViewPager.setOnPageChangeListener(new OnPageChangeListener() { @Override public void onPageSelected(int position) { resetTextView(); switch (position) { case 0: // mTabLiaotian.removeView(mBadgeViewforLiaotian); // mBadgeViewforLiaotian.setBadgeCount(5); // mTabLiaotian.addView(mBadgeViewforLiaotian); mLiaotian .setTextColor(getResources().getColor(R.color.red)); break; case 1: mFaxian.setTextColor(getResources().getColor(R.color.red)); // mTabFaxian.removeView(mBadgeViewforFaxian); // mBadgeViewforFaxian.setBadgeCount(15); // mTabFaxian.addView(mBadgeViewforFaxian); break; case 2: mTongxunlu.setTextColor(getResources() .getColor(R.color.red)); break; } currentIndex = position; } @Override public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) { /** * ����position��currentIndex�ж��û��IJ�������һҳ����һҳ���� * Ȼ��ı���positionOffset��̬�ı�TabLine��leftMargin */ if (currentIndex == 0 && position == 0)// 0->1 { LinearLayout.LayoutParams lp = (android.widget.LinearLayout.LayoutParams) mTabLine .getLayoutParams(); lp.leftMargin = (int) (positionOffset * (screenWidth * 1.0 / 3) + currentIndex * (screenWidth / 3)); mTabLine.setLayoutParams(lp); } else if (currentIndex == 1 && position == 0) // 1->0 { LinearLayout.LayoutParams lp = (android.widget.LinearLayout.LayoutParams) mTabLine .getLayoutParams(); lp.leftMargin = (int) (-(1 - positionOffset) * (screenWidth * 1.0 / 3) + currentIndex * (screenWidth / 3)); mTabLine.setLayoutParams(lp); } else if (currentIndex == 1 && position == 1) // 1->2 { LinearLayout.LayoutParams lp = (android.widget.LinearLayout.LayoutParams) mTabLine .getLayoutParams(); lp.leftMargin = (int) (positionOffset * (screenWidth * 1.0 / 3) + currentIndex * (screenWidth / 3)); mTabLine.setLayoutParams(lp); } else if (currentIndex == 2 && position == 1) // 2->1 { LinearLayout.LayoutParams lp = (android.widget.LinearLayout.LayoutParams) mTabLine .getLayoutParams(); lp.leftMargin = (int) (-(1 - positionOffset) * (screenWidth * 1.0 / 3) + currentIndex * (screenWidth / 3)); mTabLine.setLayoutParams(lp); } } @Override public void onPageScrollStateChanged(int state) { } }); mViewPager.setCurrentItem(0); OnClickListener listener = new OnClickListener() { @Override public void onClick(View v) { // TODO Auto-generated method stub switch (v.getId()) { case R.id.id_tab_liaotian_ly: mViewPager.setCurrentItem(0); break; case R.id.id_tab_faxian_ly: mViewPager.setCurrentItem(1); break; case R.id.id_tab_tongxunlu_ly: mViewPager.setCurrentItem(2); break; } } }; mTabLiaotian.setOnClickListener(listener); mTabFaxian.setOnClickListener(listener); mTabTongxunlun.setOnClickListener(listener); return v; } protected void resetTextView() { mLiaotian.setTextColor(getResources().getColor(R.color.black)); mFaxian.setTextColor(getResources().getColor(R.color.black)); mTongxunlu.setTextColor(getResources().getColor(R.color.black)); } private void initTabLine(View v) { mTabLine = (ImageView) v.findViewById(R.id.id_tab_line); DisplayMetrics outMetrics = new DisplayMetrics(); getActivity().getWindow().getWindowManager().getDefaultDisplay() .getMetrics(outMetrics); screenWidth = outMetrics.widthPixels; LinearLayout.LayoutParams lp = (android.widget.LinearLayout.LayoutParams) mTabLine .getLayoutParams(); lp.width = screenWidth / 3; mTabLine.setLayoutParams(lp); } private void initView(View v) { title = (TextView) v.findViewById(R.id.p2_tv_staff_title); back = (ImageView) v.findViewById(R.id.p2_iv_staff_title_back); title.setText("订单管理"); back.setVisibility(View.GONE); mViewPager = (ViewPager) v.findViewById(R.id.id_viewpager); mTabLiaotian = (LinearLayout) v.findViewById(R.id.id_tab_liaotian_ly); mTabFaxian = (LinearLayout) v.findViewById(R.id.id_tab_faxian_ly); mTabTongxunlun = (LinearLayout) v .findViewById(R.id.id_tab_tongxunlu_ly); mLiaotian = (TextView) v.findViewById(R.id.id_liaotian); mFaxian = (TextView) v.findViewById(R.id.id_faxian); mTongxunlu = (TextView) v.findViewById(R.id.id_tongxunlu); MainTab01 tab01 = new MainTab01(); MainTab02 tab02 = new MainTab02(); MainTab03 tab03 = new MainTab03(); mFragments.add(tab01); mFragments.add(tab02); mFragments.add(tab03); // mBadgeViewforFaxian = new BadgeView(getActivity()); // mBadgeViewforLiaotian = new BadgeView(getActivity()); // mBadgeViewforTongxunlu = new BadgeView(getActivity()); } @Override public void success(String result, int tag) { } @Override public void onclick(View v) { } }