主布局
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<android.support.v4.view.ViewPager
android:id="@+id/today_main_vp"
android:overScrollMode="never"
android:layout_width="match_parent"
android:layout_height="match_parent"/>
内容布局其他的自己添加
<ScrollView
android:id="@+id/view_main_sv"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:scrollbars="none" >
<LinearLayout
android:id="@+id/main_ll"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:paddingBottom="@dimen/dp20" >
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="158dp" >
<com.uedoctor.client.patient.widget.TouchViewPager
android:id="@+id/img_play_vp"
android:layout_width="match_parent"
android:layout_height="wrap_content" >
</com.uedoctor.client.patient.widget.TouchViewPager>
<LinearLayout
android:id="@+id/img_bottom_ll"
android:layout_width="match_parent"
android:layout_height="@dimen/dp30"
android:layout_alignParentBottom="true"
android:layout_centerHorizontal="true"
android:gravity="center"
android:orientation="horizontal" >
</LinearLayout>
</RelativeLayout>
<LinearLayout
android:id="@+id/middle_ll"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_margin="@dimen/dp10"
android:orientation="horizontal" >
</LinearLayout>
</LinearLayout>
</ScrollView>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="#86000000"
android:gravity="center_vertical"
android:paddingBottom="@dimen/dp5"
android:paddingLeft="@dimen/dp15"
android:paddingRight="@dimen/dp15"
android:paddingTop="@dimen/dp5" >
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/icon_noticetop" />
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="@dimen/dp15"
android:alpha="0.6"
android:ellipsize="end"
android:singleLine="true"
android:text="武如意 刚刚荣获了武媚娘称号,大家快来临幸她吧"
android:textColor="@color/_FFFFFF" />
</LinearLayout>
TouchViewPager 实现
public class TouchViewPager extends ViewPager {
public TouchViewPager(Context context) {
super(context);
}
public TouchViewPager(Context context, AttributeSet attrs) {
super(context, attrs);
}
@Override
public boolean dispatchTouchEvent(MotionEvent ev) {
((ViewPager)getRootView().findViewById(R.id.today_main_vp)).requestDisallowInterceptTouchEvent(true);
// ((ScrollView)getRootView().findViewById(R.id. view_main_sv)).requestDisallowInterceptTouchEvent(true);
return super.dispatchTouchEvent(ev);
}
float mLY,mLX,mDX,mDY;
int mLastAct;
boolean mIntercept;
@Override
public boolean onInterceptTouchEvent(MotionEvent ev) {
switch (ev.getAction()) {
case MotionEvent.ACTION_DOWN :
mDX = mDY = 0f;
mLX = ev.getX();
mLY = ev.getY();
break;
case MotionEvent.ACTION_MOVE :
final float X = ev.getX();
final float Y = ev.getY();
mDX += Math.abs(X - mLX);
mDY += Math.abs(Y - mLY);
mLX = X;
mLY = Y;
if (mIntercept && mLastAct == MotionEvent.ACTION_MOVE) {
((ScrollView)getRootView().findViewById(R.id. view_main_sv)).requestDisallowInterceptTouchEvent(true);
return true;
}
if (mDX > mDY) {
mIntercept = true;
mLastAct = MotionEvent.ACTION_MOVE;
return false;
}
}
mLastAct = ev.getAction();
mIntercept = false;
return super.onInterceptTouchEvent(ev);
}
估计有些小bug 请留言讨论
谢谢