RelativeLayout viewPagerContainer = (RelativeLayout) headerView.findViewById(R.id.content_pager_layout);
imgPager = (ViewPagerFixed) headerView.findViewById(R.id.content_VP);
imgPager.setPageMargin(10);
pagerAdapter = new MyPagerAdapter();
pagerAdapter.setFileList(mImages);
imgPager.setAdapter(pagerAdapter);
imgPager.setOnPageChangeListener(new MyOnPageChangeListener(viewPagerContainer)); viewPagerContainer.setOnTouchListener(new OnTouchListener() { @Override
public boolean onTouch(View v, MotionEvent event) {
// dispatch the events to the ViewPager, to solve the problem that we can swipe only the middle view.
return imgPager.dispatchTouchEvent(event);
}
});
public class MyOnPageChangeListener implements OnPageChangeListener {
private RelativeLayout viewPagerContainer; public MyOnPageChangeListener(RelativeLayout viewPagerContainer) {
this.viewPagerContainer = viewPagerContainer;
} @Override
public void onPageSelected(int position) {
} @Override
public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) {
if (viewPagerContainer != null) {
viewPagerContainer.invalidate();
}
} @Override
public void onPageScrollStateChanged(int arg0) {
} }
class MyPagerAdapter extends PagerAdapter {/**刷新视图**/
public void setFileList(List<File> imgs) {
this.imgFile = imgs;
notifyDataSetChanged();
} /**刷新视图**/
public void setList(List<img> row) {
this.imgList = row;
notifyDataSetChanged();
} @Override
public int getCount() {
return size;
} @Override
public boolean isViewFromObject(View view, Object object) {
return (view == object);
} @Override
public Object instantiateItem(ViewGroup container, int position) {
final ImageView imageView = new ImageView(mActivity);
imageView.setBackgroundColor(Color.LTGRAY);
imageView.setLayoutParams(new LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT));
    imageView.setTag(imageUrl);
imageView.setImageBitmap(loadedImage);
((ViewPager) container).addView(imageView, 0);
return imageView; } @Override
public void destroyItem(ViewGroup container, int position, Object object) {
((ViewPager) container).removeView((ImageView) object);
}
}
<RelativeLayout
android:id="@+id/content_pager_layout"
android:layout_width="match_parent"
android:layout_height="365dp"
android:clipChildren="false"
android:layerType="software" > <com.dotfive.chuanbang.layout.ViewPagerFixed
android: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实现Gallery效果的更多相关文章

  1. 备忘-Android ViewPager 与Gallery滑动冲突解决方法

    解决方法,重新定义gallery,禁止触发pager的触摸事件 1 public class UserGallery extends Gallery implements OnGestureListe ...

  2. ViewPager 仿 Gallery效果

    xml: <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android ...

  3. Android:ViewPager 切换动画效果

    ViewPager 可以设置不同页面切换效果,通过方法 setPageTransformer(boolean reverseDrawingOrder, PageTransformer transfor ...

  4. Android 使用HorizontalScrollView 实现Gallery效果

    Gallery(画廊)是一个锁定中心条目并且拥有水平滚动列表的视图,一般用来浏览图片,并且可以响应事件显示信息:Gallery还可以和ImageSwitcher组件结合使用来实现一个通过缩略图来浏览图 ...

  5. Android 自己定义RecyclerView 实现真正的Gallery效果

    转载请标明出处:http://blog.csdn.net/lmj623565791/article/details/38173061 .本文出自:[张鸿洋的博客] 上一篇博客我使用自己定义Horizo ...

  6. Android ViewPager 动画效果

    找到个不错的开源项目:https://github.com/jfeinstein10/JazzyViewPager Android ViewPager 动画效果   

  7. Android ViewPager打造3D画廊

    本文已授权微信公众号:鸿洋(hongyangAndroid)在微信公众号平台原创首发. 网上有很多关于使用Gallery来打造3D画廊的博客,但是在关于Gallery的官方说法中表明: This cl ...

  8. ViewFlipper、ViewPager和Gallery

    1.ViewFlipper 1)View切换的控件—ViewFlipper介绍 ViewFilpper类继承于ViewAnimator类.而ViewAnimator类继承于FrameLayout. 查 ...

  9. Android ViewPager用法小结

    android-support-v4.jar 是谷歌提供给我们的一个兼容低版本号安卓设备的软件包.里面包囊了仅仅有在 Android 3.0 以上可用的API.而 ViewPager 就是当中之中的一 ...

随机推荐

  1. php 实现打印预览的功能

    <inputid="btnPrint" type="button" value="打印"onclick="javascrip ...

  2. Ubuntu安装deb软件包错误(依赖关系问题)解决

    执行命令 sudo dpkg -i XXX.deb 返回依赖关系错误提示 执行 sudo apt-get -f install 这条命令将自动安装需要的依赖包. 再次执行命令 sudo dpkg -i ...

  3. mysql基础知识详解

    分享一些mysql数据库的基础知识. 1.每个客户端连接都会从服务器进程中分到一个属于它的线程.而该连接的相应查询都都会通过该线程处理.2.服务器会缓存线程.因此并不会为每个新连接创建或者销毁线程.3 ...

  4. MySQL是如何做到安全登陆

    首先Mysql的密码权限存储在mysql.user表中.我们不关注鉴权的部分,我们只关心身份认证,识别身份,后面的权限控制是很简单的事情.在mysql.user表中有个authentication_s ...

  5. 李洪强iOS开发之Block和协议

    李洪强iOS开发之Block和协议 OC语言BLOCK和协议 一.BOLCK (一)简介 BLOCK是什么?苹果推荐的类型,效率高,在运行中保存代码.用来封装和保存代码,有点像函数,BLOCK可以在任 ...

  6. 孙源即将分享 DynamicCocoa 实现细节

    孙源即将分享 DynamicCocoa 实现细节   我的公众号之前发的一文中提到滴滴做了一个很牛逼的动态化方案 DynamicCocoa.该方案设计得非常精巧,解决了两种不同的语言在代码上如何等价生 ...

  7. CSS 命名规范总结

    CSS 命名规范总结 BEM 命名给 CSS 以及 html 提供清晰结构,命名空间提供更多信息,模块化提高代码的重用,以达到 CSS 命名语义化.可重用性高.后期维护容易.加载渲染快的要求. 首先, ...

  8. linux如何查看CPU,内存,机器型号,网卡信息

    查看CPU信息(型号)# cat /proc/cpuinfo | grep name | cut -f2 -d: | uniq -c      8  Intel(R) Xeon(R) CPU     ...

  9. CGPathCreateMutable

      ios 图形与动画学习笔记 构造路径(CGPathCreateMutable) 一系列点放在一起,构成了一个形状.一系列的形状放在一起,构成了一个路径. /* 路径属于我们正在绘制他们的上下文.路 ...

  10. mysql数据库批量操作

    批量KILL会话: 1.首先,根据条件将查询到要kill的进程写入文件:如:desc information_schema.processlist; SELECT concat('KILL ',id, ...