Relativelayout Viewpagercontainer =(relativelayout) Headerview.findviewbyid (r.id.content_pager_layout); Imgpager=(viewpagerfixed) Headerview.findviewbyid (R.ID.CONTENT_VP); Imgpager.setpagemargin (10); Pageradapter=NewMypageradapter ();pageradapter.setfilelist (mimages); Imgpager.setadapter (Pageradapter); Imgpager.setonpagechangelistener (NewMyonpagechangelistener (Viewpagercontainer)); Viewpagercontainer.setontouchlistener (NewOntouchlistener () {@Override Public BooleanOnTouch (View V, motionevent event) {//dispatch the events to the Viewpager and to solve the problem so we can swipe only the middle view. returnimgpager.dispatchtouchevent (event); } });
Public classMyonpagechangelistenerImplementsOnpagechangelistener {PrivateRelativelayout Viewpagercontainer; PublicMyonpagechangelistener (relativelayout viewpagercontainer) { This. Viewpagercontainer =Viewpagercontainer; } @Override Public voidOnpageselected (intposition) {} @Override Public voidOnpagescrolled (intPositionfloatPositionoffset,intpositionoffsetpixels) { if(Viewpagercontainer! =NULL) {viewpagercontainer.invalidate (); }} @Override Public voidOnpagescrollstatechanged (intarg0) { } }
classMypageradapterextendsPageradapter {/**Refresh View **/ Public voidSetfilelist (list<file>IMGs) { This. Imgfile =IMGs; Notifydatasetchanged (); } /**Refresh View **/ Public voidSetlist (listrow) { This. imglist =Row; Notifydatasetchanged (); } @Override Public intGetCount () { returnSize} @Override Public Booleanisviewfromobject (View view, Object object) {return(View = =object); } @Override PublicObject Instantiateitem (ViewGroup container,intposition) { FinalImageView ImageView =NewImageView (mactivity); Imageview.setbackgroundcolor (Color.ltgray); Imageview.setlayoutparams (Newlayoutparams (layoutparams.match_parent, layoutparams.match_parent));Imageview.settag (IMAGEURL); Imageview.setimagebitmap (loadedimage);( (Viewpager) container). AddView (ImageView,0); returnImageView; } @Override Public voidDestroyitem (ViewGroup container,intposition, Object object) {((Viewpager) container). Removeview ((ImageView) object); } }
<RelativelayoutAndroid:id= "@+id/content_pager_layout"Android:layout_width= "Match_parent"Android:layout_height= "365DP"Android:clipchildren= "false"Android:layertype= "Software" > <com.dotfive.chuanbang.layout.ViewPagerFixedAndroid:id= "@+id/content_vp"Android:layout_width= "Match_parent"Android:layout_height= "Match_parent"android:layout_gravity= "Center"Android:layout_margin= "15DP"Android:clipchildren= "false"android:gravity= "Center" /> </Relativelayout>
Android-viewpager Achieve Gallery effect