package cn.crane.application.greenlife.ui.order; import java.util.ArrayList; import com.nineoldandroids.view.ViewHelper; import android.content.Context; import android.support.v4.view.ViewPager; import android.view.View; import android.widget.Button; import android.widget.LinearLayout; import android.widget.RelativeLayout; import android.widget.TextView; import cn.crane.application.greenlife.App; import cn.crane.application.greenlife.R; import cn.crane.framework.activity.BaseActivity; import cn.crane.framework.adapter.FragmentViewpaperAdapter; import cn.crane.framework.fragment.BaseFragment; /** * @author Ruifeng.yu E-mail:xyyh0116@aliyun.com * @version Create Time:May 29, 2015 11:18:18 PM * */ public class OrderDetailActivity extends BaseActivity { private FragmentViewpaperAdapter mAdapter; private ViewPager mPager; private FragmentOrderState index = new FragmentOrderState(); private FragmentOrderDetail index2 = new FragmentOrderDetail(); private ArrayList<BaseFragment> pagerItemList = new ArrayList<BaseFragment>(); private Button btnBack; private Button btnRight; private TextView tvTitle; private TextView tvOrderState; private TextView tvOrderDetail; private View view_select; private LinearLayout ll_tvmenus; private int iCurrentPos = 0; private TextView [] tvMenus; // private ArrayList<MenuItem> arrMenuItems = new ArrayList<MenuItem>(); // private PopMenu popMenu; @Override protected int getLayoutId() { return R.layout.ac_order_detail; } @Override protected void findViews() { mPager = (ViewPager) findViewById(R.id.viewpager); btnBack = (Button) findViewById(R.id.btn_back); btnRight = (Button) findViewById(R.id.btn_right); tvTitle = (TextView) findViewById(R.id.tv_title); tvOrderState = (TextView) findViewById(R.id.tv_order_state); tvOrderDetail = (TextView) findViewById(R.id.tv_order_detail); tvTitle = (TextView) findViewById(R.id.tv_title); view_select = findViewById(R.id.view_select); ll_tvmenus = (LinearLayout) findViewById(R.id.ll_tvmenus); tvMenus = new TextView[]{tvOrderState,tvOrderDetail}; mPager.setOffscreenPageLimit(5); } @Override protected void bindViews() { btnBack.setOnClickListener(this); btnRight.setOnClickListener(this); tvOrderState.setOnClickListener(this); tvOrderDetail.setOnClickListener(this); } @Override protected void init() { pagerItemList.clear(); pagerItemList.add(index); pagerItemList.add(index2); mAdapter = new FragmentViewpaperAdapter(getSupportFragmentManager(), pagerItemList); mPager.setAdapter(mAdapter); mPager.setOnPageChangeListener(new ViewPager.OnPageChangeListener() { @Override public void onPageSelected(int position) { setiCurrentPos(position); } @Override public void onPageScrolled(int arg0, float arg1, int arg2) { int x= 0,y =0; int [] pos = new int[]{x,y}; tvMenus[arg0].getLocationOnScreen(pos); ViewHelper.setTranslationX(view_select, pos[0] + tvMenus[arg0].getWidth() * arg1); } @Override public void onPageScrollStateChanged(int position) { } }); setiCurrentPos(0); // initMenu(); } // private void initMenu() { // arrMenuItems.clear(); // MenuItem item = null; // item = new MenuItem(); // item.setTag(MenuItem.TAG_MENU_MERCHANT_LIANXI); // item.setTitle(getString(R.string.order_contact_merchant)); // item.setIconRes(R.drawable.icon_order_detail_tel); // arrMenuItems .add(item); // item = new MenuItem(); // item.setTag(MenuItem.TAG_MENU_MERCHANT_TOUSU); // item.setTitle(getString(R.string.order_tousu_merchant)); // item.setIconRes(R.drawable.icon_order_detail_msg); // item.setBnew(false); // arrMenuItems.add(item); // popMenu = new PopMenu(this, arrMenuItems, onMenuClickListener, // PopMenu.width1); // } // // /** // * 菜单点击回调 // */ // private OnMenuClickListener onMenuClickListener = new OnMenuClickListener() { // // @Override // public void onMenuClick(MenuItem item) { // if (item != null) { // switch (item.getTag()) { // case MenuItem.TAG_MENU_MERCHANT_LIANXI: // MerchantFeedbackActivity.show(OrderDetailActivity.this); // break; // case MenuItem.TAG_MENU_MERCHANT_TOUSU: // MerchantFeedbackActivity.show(OrderDetailActivity.this); // break; // // default: // break; // } // if (popMenu != null && popMenu.isShowing()) // popMenu.dismiss(); // } // } // }; @Override public void onWindowFocusChanged(boolean hasFocus) { super.onWindowFocusChanged(hasFocus); if(hasFocus) { RelativeLayout.LayoutParams layoutParams = new RelativeLayout.LayoutParams(tvOrderState.getWidth(), (int) (2 * App.fDensity)); layoutParams.addRule(RelativeLayout.ALIGN_PARENT_BOTTOM, RelativeLayout.TRUE); view_select.setLayoutParams(layoutParams); } } public void setiCurrentPos(int iCurrentPos) { this.iCurrentPos = iCurrentPos; for(int i = 0;i< tvMenus.length;i++) { if(i == iCurrentPos) { tvMenus[i].setTextColor(getResources().getColor(R.color.main_color)); }else { tvMenus[i].setTextColor(getResources().getColor(R.color.txt_gray)); } } if(iCurrentPos >= 0 && tvMenus != null && iCurrentPos < tvMenus.length) { int x= 0,y =0; int [] pos = new int[]{x,y}; tvMenus[iCurrentPos].getLocationOnScreen(pos); ViewHelper.setTranslationX(view_select, pos[0]); } } @Override public void onClick(View v) { // TODO Auto-generated method stub super.onClick(v); switch (v.getId()) { case R.id.tv_order_state: mPager.setCurrentItem(0); break; case R.id.tv_order_detail: mPager.setCurrentItem(1); break; case R.id.btn_right: // popMenu.showAsDropDown(btnRight); break; default: break; } } @Override protected boolean isSupportSwiptBack() { return false; } public static void show(Context context) { context.startActivity(createIntent(context, OrderDetailActivity.class)); } }