viewpager嵌套viewpager
来源:互联网 发布:javascript注释 编辑:程序博客网 时间:2024/06/05 06:57
重写父viewpager
在父ViewPager覆盖canScroll:
@Overrideprotected boolean canScroll(View v, boolean checkV, int dx, int x, int y) { if(v != this && v instanceof ViewPager) { return true; } return super.canScroll(v, checkV, dx, x, y);}自定义父ViewPagerpackage com.example.viewpager_demo_qiantao;import android.content.Context;import android.support.v4.view.ViewPager;import android.util.AttributeSet;import android.view.View;public class MyViewPager extends ViewPager { public MyViewPager(Context context, AttributeSet attrs) { super(context, attrs); } @Override protected boolean canScroll(View v, boolean checkV, int dx, int x, int y) { if (v != this && v instanceof ViewPager) { return true; } return super.canScroll(v, checkV, dx, x, y); }}主页面:<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" tools:context="com.example.viewpager_demo_qiantao.MainActivity" > <com.example.viewpager_demo_qiantao.MyViewPager android:id="@+id/vp" android:layout_width="wrap_content" android:layout_height="wrap_content" /></RelativeLayout>主activity:package com.example.viewpager_demo_qiantao;import java.util.ArrayList;import java.util.Timer;import java.util.TimerTask;import android.os.Bundle;import android.os.Handler;import android.support.v4.view.PagerAdapter;import android.support.v4.view.ViewPager;import android.support.v7.app.ActionBarActivity;import android.view.MotionEvent;import android.view.View;import android.view.View.OnTouchListener;import android.view.ViewGroup;public class MainActivity extends ActionBarActivity { private MyViewPager vp; private ArrayList<View> list; private ViewPager vp2; Handler handler = new Handler() { public void handleMessage(android.os.Message msg) { if (msg.what == 0) { int count = vp2.getCurrentItem(); count++; vp2.setCurrentItem(count); } }; }; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); vp = (MyViewPager) findViewById(R.id.vp); list = new ArrayList<>(); View view1 = View.inflate(this, R.layout.view1, null); // 内部viewpager vp2 = (ViewPager) view1.findViewById(R.id.vp2); View view2 = View.inflate(this, R.layout.view2, null); View view3 = View.inflate(this, R.layout.view3, null); list.add(view1); list.add(view2); list.add(view3); vp.setAdapter(new PagerAdapter() { @Override public boolean isViewFromObject(View arg0, Object arg1) { // TODO Auto-generated method stub return arg0 == arg1; } @Override public int getCount() { // TODO Auto-generated method stub return list.size(); } @Override public void destroyItem(ViewGroup container, int position, Object object) { container.removeView(list.get(position)); } @Override public Object instantiateItem(ViewGroup container, int position) { View view = list.get(position); if (position == 0) { ArrayList<String> list = new ArrayList<>(); list.add("http://resource.jufan.tv/jufan/ad20160910/cafab4bd953139f28507.jpg"); list.add("http://resource.jufan.tv/jufan/ad20160911/3231339eb04ba4c21c74.jpg"); list.add("http://resource.jufan.tv/jufan/ad/20160705/2a203939059ca2a7766f.png"); list.add("http://resource.jufan.tv/jufan/ad/20160803/20b9660a04f4668e1314.png"); list.add("http://resource.jufan.tv/jufan/ad20160901/b2b7d4738f6c3499214a.jpg"); MyAdapter adapter = new MyAdapter(MainActivity.this, list); vp2.setAdapter(adapter); vp2.setCurrentItem(list.size() * 1000); Timer timer = new Timer(); timer.schedule(new TimerTask() { @Override public void run() { handler.sendEmptyMessage(0); } }, 3000, 3000); vp2.setAdapter(adapter); } container.addView(view); return view; } }); }}view1的xml:<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" > <android.support.v4.view.ViewPager android:id="@+id/vp2" android:layout_width="wrap_content" android:layout_height="200dp" android:background="@android:color/holo_blue_light" /> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="内部viewpager" android:textColor="#f00" /></LinearLayout>
0 0
- viewpager嵌套viewpager
- viewpager嵌套viewpager
- viewpager嵌套viewpager
- viewpager嵌套viewpager
- ViewPager嵌套ViewPager
- ViewPager 嵌套 ViewPager的解决方法
- ViewPager 嵌套ViewPager 焦点解决
- ViewPager嵌套ViewPager的问题
- viewpager嵌套viewpager滑动处理
- viewPager+fragment嵌套viewPager+fragment
- ViewPager+Fragment嵌套ViewPager+Fragment
- 解决viewpager嵌套scrowllview或者viewpager嵌套viewpager的问题
- ScrollView嵌套ViewPager
- ViewPager嵌套问题
- ListView嵌套ViewPager
- ListView嵌套ViewPager
- Viewpager嵌套Listview
- Viewpager嵌套冲突问题
- poj 1789 Truck History(最小生成树模板题)
- Codevs 1574 广义斐波那契数列(矩阵乘法)
- jQuery
- Oracle语句优化
- [读书笔记] 深入探索C++对象模型-第四章-Function语义学(中)
- viewpager嵌套viewpager
- 使用FIR.im发布自己的移动端APP
- 百度笔试题
- 计算机视觉——算法与应用
- 坚持#第38天~独在异乡为异客,每逢佳节倍思亲
- 【VS开发】visual studio 2015的NuGet Manager解决方案管理功能
- struct hostent结构体使用
- select函数使用时应注意的问题
- 【Thinking in Java】操作符