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. LeetCode 155 Min Stack(最小栈)

    翻译 设计支持push.pop.top和在常量时间内检索最小元素的栈. push(x) -- 推送元素X进栈 pop() -- 移除栈顶元素 top() -- 得到栈顶元素 getMin() -- 检 ...

  2. springboot web 服务器选择

    Spring Boot 揭秘与实战(五) 服务器篇 - 其他内嵌服务器 拓展链接 http://www.jianshu.com/p/9710585258fb 发表于 2017-01-03 | Spri ...

  3. AutoFac文档10(转载)

    目录 开始 Registering components 控制范围和生命周期 用模块结构化Autofac xml配置 与.net集成 深入理解Autofac 指导 关于 词汇表 循环依赖 循环依赖是指 ...

  4. redis基础之基本键值操作和使用(三)

    前言 redis安装完毕后开始使用redis,先熟悉命令行操作. redis数据的类型 键:redis的所有的键都是string类型: 值:五种类型 string:字符串类型:一个string最大可以 ...

  5. jMiniLang设计思路

    前言 项目地址:https://github.com/bajdcc/jMiniLang 演示视频:https://www.bilibili.com/video/av13294962 jMiniLang ...

  6. web.py+fastcgi+nginx 502错误解决

    用web.py照着官网在服务器上搭好了后台.这次很奇怪地出现了一个Nginx 502 Bad Gateway的错误. 执行上面的kill `pgrep -f "python /path/to ...

  7. span和img标签对齐

    html代码 <li> <span class="left_item">在线</span> <img class="right_ ...

  8. kettle利用触发器实现数据同步

    2016年8月17日 一.目的 通过触发器实现数据同步二.思路 1.在数据库需要同步的源表中建立一个insert触发器,当有新数据插入时,会自动将新插入数据的主键记录到临时表temp中.(当然也可以记 ...

  9. 你真的需要一个jQuery插件吗

    jQuery的插件提供了一个很好的方法,节省了时间和简化了开发,避免程序员从头开始编写每个组件.但是,插件也将一个不稳定因素引入代码中.一个好的插件节省了无数的开发时间,一个质量不好的插件会导致修复错 ...

  10. Linux中安装配置hadoop集群

    一. 简介 参考了网上许多教程,最终把hadoop在ubuntu14.04中安装配置成功.下面就把详细的安装步骤叙述一下.我所使用的环境:两台ubuntu 14.04 64位的台式机,hadoop选择 ...