ViewPager嵌套ViewPager的问题
来源:互联网 发布:在线ping测试网络 编辑:程序博客网 时间:2024/05/29 17:57
package com.example.view;
import com.example.view.fragment.FirstFragment;
import com.example.view.fragment.SecondFragment;
import android.os.Bundle;
import android.app.Activity;
import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentActivity;
import android.support.v4.app.FragmentManager;
import android.support.v4.app.FragmentPagerAdapter;
import android.support.v4.view.ViewPager;
import android.view.Menu;
public class MainActivity extends FragmentActivity {
private ViewPager vp;
// viewpager嵌套viewpager时,会出现内部的viewpager划不动,必须重建一个类继承viewpager,在子viewpager的xml定义时,用自定义的viewpager
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
// 查找控件
vp = (ViewPager) findViewById(R.id.vp);
//设置适配器
vp.setAdapter(new MyFragmentPagerAdapter(getSupportFragmentManager()));
}
class MyFragmentPagerAdapter extends FragmentPagerAdapter { public MyFragmentPagerAdapter(FragmentManager fm) { super(fm); } @Override public Fragment getItem(int arg0) { Fragment mm = null; switch (arg0) { case 0: mm=new FirstFragment(); break; case 1: mm=new SecondFragment(); break; case 2: mm=new SecondFragment(); break; } return mm; } @Override public int getCount() { // TODO Auto-generated method stub return 3; }}
}
//子定义viewpager(子viewpager布局里用)
package com.example.view.viewpager;
import android.support.v4.content.ContextCompat;
import android.support.v4.view.ViewPager;
public class MyViewPager extends ViewPager {
private float x;//用来极坐标private float y;public MyViewPager(Context context, AttributeSet attrs) { super(context, attrs);}//重写viewpager里的 dispatchTouchEvent 方法@Overridepublic boolean dispatchTouchEvent(MotionEvent ev) { switch (ev.getAction()) { case MotionEvent.ACTION_DOWN://当按下的时候 x=ev.getX(); y=ev.getY(); getParent().requestDisallowInterceptTouchEvent(true);//父类的viewpager容许子viewpager有滑动效果 break; case MotionEvent.ACTION_UP: break; case MotionEvent.ACTION_CANCEL: float x2 = ev.getX(); float y2 = ev.getY(); if(Math.abs(x2-x)>Math.abs(y2-y)){ getParent().requestDisallowInterceptTouchEvent(true); }else{ getParent().requestDisallowInterceptTouchEvent(false); } break; } return super.dispatchTouchEvent(ev);}
}
//子viewpager的布局
- ViewPager嵌套ViewPager的问题
- 解决viewpager嵌套scrowllview或者viewpager嵌套viewpager的问题
- viewpager的fragment嵌套viewpager的问题
- ViewPager嵌套ViewPager滑动问题的解决
- viewPager嵌套viewPager的事件冲突问题,
- 解决viewpager嵌套viewpager,子viewpager无法滑动的问题
- viewpager嵌套的滑动问题~~
- android,viewpager嵌套的问题
- Viewpager 嵌套fragment的问题
- 关于ListView嵌套ViewPager,ViewPager嵌套GridView的一些问题。
- ViewPager 嵌套 ViewPager的解决方法
- ViewPager嵌套问题
- Viewpager嵌套冲突问题
- ViewPager嵌套问题
- 解决ViewPager嵌套后子ViewPager不能滑动的问题
- 解决ScrollView嵌套ViewPager,导致ViewPager不能滑动的问题
- 关于viewpager+fragment中嵌套viewpager+fragment的问题处理:
- 解决ViewPager中嵌套ViewPager的滑动分发问题
- 在Android环境下实现仿IOS的DiaLog
- ExecutorService线程池的用法
- 简便方法IOS中自适应文字高度
- SQL Server 中master..spt_values的应用
- java实体类转成Map
- ViewPager嵌套ViewPager的问题
- ExecutorService 的理解与使用
- MovContext结构体
- ionic在app内部打开pdf文件
- 如何通过远程桌面重启计算机?
- 记录一篇演讲
- 决策树之cart算法
- 纯代码实现button+fragment底部菜单栏
- 有弹出页面的新增