淘宝首页怎么设计 手机如何制作淘宝详情页( 二 )


// TODO Auto-generated method stub
if (isCanScroll) {
return super.onTouchEvent(arg0);
} else {
return false;
}
}
@Override
public boolean onInterceptTouchEvent(MotionEvent arg0) {
// TODO Auto-generated method stub
if (isCanScroll) {
return super.onInterceptTouchEvent(arg0);
} else {
return false;
}
}
}
因为禁止左右滑动,viewpager也只是对 ontouchevent事件做了些处理,很简单,也就不解释了 。
再来看OrderActivity.java代码
[plain] view plain copypackage com.taobao.pll.tborderdemo;
import android.graphics.Color;
import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentActivity;
import android.support.v4.view.ViewPager;
import android.util.DisplayMetrics;
import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.RadioButton;
import android.widget.RadioGroup;
import com.taobao.pll.tborderdemo.adapter.FragmentAdapter;
import com.taobao.pll.tborderdemo.fragment.OrderGetFragment;
import com.taobao.pll.tborderdemo.fragment.OrderListFragment;
import com.taobao.pll.tborderdemo.fragment.OrderPayFragment;
import com.taobao.pll.tborderdemo.fragment.OrderSendFragment;
import com.taobao.pll.tborderdemo.fragment.OrderServiceFragment;
import com.taobao.pll.tborderdemo.view.CustomViewPager;
import java.util.ArrayList;
import java.util.List;
public class OrderActivity extends FragmentActivity {
private List mFragmentList;//五个界面的集合
private FragmentAdapter mFragmentAdapter;//界面适配器
private CustomViewPager vp_order;//自定义viewpager
private int page;//得到选择的页码
private RadioGroup rg_order;//顶部页码
/**
* Tab显示内容TextView
*/
private RadioButton tv_order_all, tv_order_pay, tv_order_send, tv_order_get,tv_order_service;
//顶部导航栏的集合
private ArrayList tabList;
/**
* Tab的那个引导线
*/
private ImageView mTabLineIv;
/**
* Fragment
*/
private OrderListFragment mOrderListFragment;//全部订单
private OrderPayFragment mOrderPayFragment;//待支付
private OrderSendFragment mOderSendFragment;//待发货
private OrderGetFragment mOderGetFragment;//待收货
private OrderServiceFragment mOderServiceFragment;//售后服务
/**
* ViewPager的当前选中页
*/
private int currentIndex;
/**
* 屏幕的宽度
*/
private int screenWidth;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_order);
initView();
initData();
initTabLineWidth();
}
/**
* 设置滑动条的宽度为屏幕的1/5(根据Tab的个数而定)
*/
private void initTabLineWidth() {
DisplayMetrics dpMetrics = new DisplayMetrics();
getWindow().getWindowManager().getDefaultDisplay()
.getMetrics(dpMetrics);
screenWidth = dpMetrics.widthPixels;
LinearLayout.LayoutParams lp = (LinearLayout.LayoutParams) mTabLineIv
.getLayoutParams();
lp.width = screenWidth / 5;
mTabLineIv.setLayoutParams(lp);
}
private void initData() {
/**
* 进入时候根据page值设置导航栏选中哪个
*/
initDataForTopPage();
/**
* 加载引导页的数据
*/
mFragmentList = new ArrayList();
mOrderListFragment = new OrderListFragment();
mOrderPayFragment = new OrderPayFragment();
mOderSendFragment = new OrderSendFragment();
mOderGetFragment = new OrderGetFragment();
mOderServiceFragment = new OrderServiceFragment();
mFragmentList.add(mOrderListFragment);
mFragmentList.add(mOrderPayFragment);
mFragmentList.add(mOderSendFragment);
mFragmentList.add(mOderGetFragment);
mFragmentList.add(mOderServiceFragment);
mFragmentAdapter = new FragmentAdapter(this.getSupportFragmentManager(), mFragmentList);
vp_order.setAdapter(mFragmentAdapter);
vp_order.setCurrentItem(page);
vp_order.setOnPageChangeListener(new ViewPager.OnPageChangeListener() {
@Override
public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) {
LinearLayout.LayoutParams lp = (LinearLayout.LayoutParams) mTabLineIv
.getLayoutParams();
/**
* 利用currentIndex(当前所在页面)和position(下一个页面)以及offset来
* 设置mTabLineIv的左边距 滑动场景:
* 记5个页面,
* 从左到右分别为0,1,2,3,4
* 0->1; 1->2; 2->3; 3->4; 4->3; 3->2;2->1; 1->0
*/
if (currentIndex == 0 && position == 0)// 0->1


推荐阅读