第一图:

        

页面中填充内容是随机关键词飞入和飞出动画效果,随后会更新,如今请先无视吧

---2015-02-27---

两年后最终更新了,网上都能搜到的,哎 无奈太懒http://blog.csdn.net/onlyonecoder/article/details/43965695

-----------

首先是 导入jar包   下载地址: android-support-v4.jar

布局文件中加入viewPager布局

        <android.support.v4.view.ViewPagerandroid:id="@+id/search_viewpager"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_gravity="center" ></android.support.v4.view.ViewPager>

再创建两个item布局用于填充在ViewPager里


然后就是Activity了,主要写了左右滑动切换页面,另一个小图片随页面切换 位移的动画效果

public class SearchAllcityActivity extends Activity {private KeywordsFlow keywordsFlow;private ViewPager viewPager;private ImageView imageView;private List<View> lists = new ArrayList<View>();private ViewPagerAdapter adapter;private Bitmap cursor;private int offSet;private int currentItem;private Matrix matrix = new Matrix();private int bmWidth;private Animation animation;private Button shuaxin_sq, shuaxin_fl;public void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.search_allcity);// 随页面滑动图片imageView = (ImageView) findViewById(R.id.viewpaget_img);// 热门商圈和热门分类 页面加入到viewPager集合lists.add(getLayoutInflater().inflate(R.layout.search_hot_shangqu, null));lists.add(getLayoutInflater().inflate(R.layout.search_hot_fenlei, null));// 初始化滑动图片位置initeCursor();adapter = new ViewPagerAdapter(lists);viewPager = (ViewPager) findViewById(R.id.search_viewpager);viewPager.setAdapter(adapter);// ViewPager滑动监听器viewPager.setOnPageChangeListener(new ViewPager.OnPageChangeListener() {@Overridepublic void onPageSelected(int arg0) {// TODO Auto-generated method stub// 当滑动时。顶部的imageView是通过animation缓慢的滑动switch (arg0) {case 0:if (currentItem == 1) {animation = new TranslateAnimation(offSet * 2 + bmWidth, 0, 0,0);} else if (currentItem == 2) {animation = new TranslateAnimation(offSet * 4 + 2 * bmWidth, 0,0, 0);}break;case 1:if (currentItem == 0) {animation = new TranslateAnimation(0, offSet * 2 + bmWidth, 0,0);} else if (currentItem == 2) {animation = new TranslateAnimation(4 * offSet + 2 * bmWidth,offSet * 2 + bmWidth, 0, 0);}break;}currentItem = arg0;animation.setDuration(500);animation.setFillAfter(true);imageView.startAnimation(animation);}@Overridepublic void onPageScrolled(int arg0, float arg1, int arg2) {// TODO Auto-generated method stub}@Overridepublic void onPageScrollStateChanged(int arg0) {// TODO Auto-generated method stub}});}/*** 计算滑动的图片的位置*/private void initeCursor() {cursor = BitmapFactory.decodeResource(getResources(),R.drawable.viewpager_img);bmWidth = cursor.getWidth();DisplayMetrics dm;dm = getResources().getDisplayMetrics();offSet = (dm.widthPixels - 2 * bmWidth) / 4;matrix.setTranslate(offSet, 0);imageView.setImageMatrix(matrix); // 须要iamgeView的scaleType为matrixcurrentItem = 0;}}

最后,不能忘了ViewPager的Adapter

public class ViewPagerAdapter extends PagerAdapter{List<View> viewLists;public ViewPagerAdapter(List<View> lists){viewLists = lists;}@Overridepublic int getCount() {                                                                 //获得size// TODO Auto-generated method stubreturn viewLists.size();}@Overridepublic boolean isViewFromObject(View arg0, Object arg1) {                         // TODO Auto-generated method stubreturn arg0 == arg1;}@Overridepublic void destroyItem(View view, int position, Object object)                       //销毁Item{((ViewPager) view).removeView(viewLists.get(position));}@Overridepublic Object instantiateItem(View view, int position)                                //实例Item{((ViewPager) view).addView(viewLists.get(position), 0);return viewLists.get(position);}}

ViewPager用法相关推荐

  1. react-native viewpager用法

    用到的框架 react-native-community/viewpager yarn add @react-native-community/viewpager import React, {Com ...

  2. Android ViewPager用法

    1.适配器PagerAdapter ViewPager使用适配器类将数据和view的处理分离,ViewPager的适配器叫PagerAdapter,这是一个抽象类,不能实例化,所以它有两个子类:Fra ...

  3. ViewPager添加圆点

    ViewPager用法参考上一篇http://blog.csdn.net/taoolee/article/details/48162507 方法一XML中实现 public class MainAct ...

  4. 自动部署 php,Jenkins实现PHP的自动部署

    用HTML5 CANVAS做自定义路径的动态效果图片! 最近对HTML5开始感兴趣了,实现的效果如下图,大家可以从代码里换掉图片 我用的是canvas里面的2d绘图,其中上图的路径是网上在线绘制的,我 ...

  5. ViewPager的用法

    话不多说,直接介绍用法 使用方法其实与Listview和RecyclerView的方法类似 一.文字切换页面 1.布局文件用ViewPager <android.support.v4.view. ...

  6. ViewPager基本用法

    目录 1 添加ViewPager 2 创建Adapter类 3 在Adapter类中准备数据 4 重写适配器中的方法 4.1 重写getCount 4.2 重写isViewFromObject 4.3 ...

  7. android 上划卡住tab_Android SlidingTabLayout用法禁止ViewPager滑动

    Android 提供的API例子程序中有个自定义View,SlidingTabLayout+SlidingTabStrip,两者结合构造完美可滑动Tab 主要代码 import android.os. ...

  8. Android TabLayout(选项卡布局)简单用法实例分析

    本文实例讲述了Android TabLayout(选项卡布局)简单用法.分享给大家供大家参考,具体如下: 我们在应用viewpager的时候,经常会使用TabPageIndicator来与其配合.达到 ...

  9. ViewPager 详解(三)---PagerTabStrip与PagerTitleStrip添加标题栏的异同

     相关文章: 1.<ViewPager 详解(一)---基本入门> 2.<ViewPager 详解(二)---详解四大函数> 3.<ViewPager 详解(三)-- ...

最新文章

  1. 【备忘录】使用mongodb,报db.collection is not a function
  2. CentOS5.4下安装和配置Apache、PHP、MySql、PHPMyAdmin
  3. STL标准容器类简介
  4. 数字电路技术可能出现的简答题_数字电子技术复习题(本科)
  5. 洛谷P2296-寻找道路【日常图论,最短路,SPFA】
  6. 如果唐朝人拿到一篇现代文章……
  7. php输出一条直线,Photoshop脚本 绘制一条线
  8. oracle性能优化总结1
  9. (3)Deep Learning之神经网络和反向传播算法
  10. java_home的变量是_JAVA坏境变量中的JAVA_HOME path classpath 的设置与作用
  11. html页面旋转图标或标签
  12. java——MP3转wav
  13. webgl的平行光漫反射示例
  14. 项目管理工具project软件学习(二) - 自定义日历【标准+节假日】
  15. isSucess = result == sucess_signal
  16. 科目二经验之谈 10小时必过秘笈
  17. win10启动修复_win10开机死循环无限重启怎么解决?
  18. 道高一尺,魔高一丈之细菌耐药性
  19. Python处理示波器CSV表格数据、微软excel格式数据
  20. DB4AI:使能数据库原生AI计算,助力数据湖场景业务成功

热门文章

  1. 安装smac的注意事项
  2. Nominal data 与Ordinal data区别
  3. 【存储知识学习】第三章磁盘原理与技术3.4硬盘接口技术和SCSI硬盘接口--《大话存储》阅读笔记
  4. MongoDB简介与入门
  5. 【青海】2021年下半年软考报考时间及通知
  6. 常用于生产部署方式详解 灰度发布 滚动发布 蓝绿发布
  7. 笔记-项目沟通管理-如何改进项目沟通
  8. centos7 安装owncloud-10 自测部署安装
  9. PHP - 解决中文乱码问题
  10. JS中生成8位的随机数字