viewpager图片轮播?viewpager 缓存个数?Android ViewPager 的使用总结 码农网(2)

电脑杂谈  发布时间:2016-07-06 03:01:10  来源:网络整理

自定义Myviewpager

package com.example.myviewpager; import android.content.Context; import android.support.v4.view.ViewPager; import android.util.AttributeSet; import android.view.MotionEvent; /**  * 自定义滑动翻页可控,可通过设置isCanScroll参数来控制是否允许滑动切换页面  */ public class MyViewPager extends ViewPager { /** 是否允许滑动翻页 ,默认可滑动*/ private boolean isCanScroll = true; public MyViewPager(Context context, AttributeSet attrs) { super(context, attrs); } public Myviewpager(Context context) { super(context); } public boolean isCanScroll() { return isCanScroll; } /** 设置是否可以滑动翻页 */ public void setCanScroll(boolean isCanScroll) { this.isCanScroll = isCanScroll; } @Override public void scrollTo(int x, int y) { super.scrollTo(x, y); } // 设置禁止滑动的关键 @Override public boolean onTouchEvent(MotionEvent arg0) { if (!isCanScroll) return true; return super.onTouchEvent(arg0); } @Override public boolean onInterceptTouchEvent(MotionEvent arg0) { return super.onInterceptTouchEvent(arg0); } @Override public void setCurrentItem(int item, boolean smoothScroll) { super.setCurrentItem(item, smoothScroll); } @Override public void setCurrentItem(int item) { super.setCurrentItem(item); } }

适配器:

package com.example.myviewpager; import java.util.List; import android.support.v4.view.PagerAdapter; import android.view.View; import android.view.ViewGroup; /**  * viewpager适配器  * */ public class MyViewPagerAdapter extends PagerAdapter{     private List<View> mListViews;       public MyviewpagerAdapter(List<View> mListViews) {           this.mListViews = mListViews;//构造方法,参数是我们的页卡,这样比较方便      }     @Override       public void destroyItem(ViewGroup container, int position, Object object)   {              container.removeView(mListViews.get(position));//删除页卡       }       @Override       public Object instantiateItem(ViewGroup container, int position) {  //这个方法用来实例化页卡         container.addView(mListViews.get(position), 0);//添加页卡           return mListViews.get(position);     }       @Override       public int getCount() {                    return  mListViews.size();//返回页卡的数目      }       @Override       public boolean isViewFromObject(View arg0, Object arg1) {                      return arg0==arg1;//官方提示这样写     } }

第一个view

package com.example.myviewpager; import android.content.Context; import android.view.LayoutInflater; import android.view.View; /**  * 第一个  * @author cgx  *  */ public class View1 { private Context mContext; private View rootView; public View1(Context mContext) { // TODO Auto-generated constructor stub this.mContext=mContext; //加载布局 rootView = LayoutInflater.from(mContext).inflate( R.layout.view1_layout, null); } public View getView(){ return rootView; } }

activity布局文件

以上就是关于viewpager的全部内容,相信你一定会非常满意。


本文来自电脑杂谈,转载请注明本文网址:
https://www.pc-fly.com/a/ruanjian/article-12000-2.html

相关阅读
    发表评论  请自觉遵守互联网相关的政策法规,严禁发布、暴力、反动的言论

    • 王露霖
      王露霖

      岀名后说话更应慎重才是

      • 张演
        张演

        美国对伊拉克有领导权

    热点图片
    拼命载入中...