viewpager过渡页
来源:互联网 发布:linux diff命令的功能 编辑:程序博客网 时间:2024/06/10 15:16
学习引导:
http://blog.csdn.net/bobo8945510/article/details/52743570 第二节 viewpager实现滑动条功能
http://blog.csdn.net/bobo8945510/article/details/52779629 第三节 viewpager实现滑动条及导航功能
http://blog.csdn.net/bobo8945510/article/details/52786360 第四节 viewpager实现带小园点过渡页
viewpager的用法
一、谷歌官方给我们提供的一个兼容低版本安卓设备的软件包,里面包囊了只有在安卓3.0以上可以使用的api。而viewpager就是其中之一!
二、现在只要做个APP,几乎就不会少得了这个组件。今天我开始复习次组件。
三、其实viewPager同listview用法大致相同,也是需要适配器,而viewPager继承的是PagerAdapter,然后会让你重写下面四个方法。
1、 getCount();就是数据的条数
2、isViewFromObject(View view, Object object) ; 这个不慎了解,就按照代码中的写就行了
3、instantiateItem(ViewGroup container, int position):实例话每个页面(显示页面的方法,请仔细看代码)
4、destroyItem(ViewGroup container, int position,Object object);删除索引页面
一、效果图
- u**其实使用viewPager是很容易的,我们先看一个最简单的图片轮播。效果如下:**
二、如何使用viewPager
1、首先我们需要xml布局
<android.support.v4.view.ViewPager android:id="@+id/viewp_01" android:layout_width="match_parent" android:layout_height="match_parent"> </android.support.v4.view.ViewPager>
2、因为我们是三张图片轮播,这里我写了三个布局,每个布局显示一张图片,你也可以创建一个图片集合。找到适合自己的方法,xml如下
<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:id="@+id/img01" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" tools:context="com.example.enz.viewpagertext.MainActivity"> <ImageView android:layout_width="match_parent" android:layout_height="match_parent" android:background="@mipmap/guide_350_01" /></LinearLayout>......下面两个省略,下面两个布局只是图片不同,其他一切都一样
3、在代码中加载我们布局好的view,代码中我写了详细的介绍
import android.app.Activity;import android.os.Bundle;import android.support.v4.view.ViewPager;import android.view.LayoutInflater;import android.view.View;import java.util.ArrayList;import java.util.List;public class MainActivity extends Activity { private ViewPager vp; //把定义好的三个布局进行初始化对象 private View item_view01,item_view02,item_view03; //创建一个list集合 参数为view private List<View> Mview = new ArrayList<>(); //用于引用布局好的三个itemView布局 private LayoutInflater inflater; private ViewPagerAdapter adapter; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); /* * LayoutInflater讲解 * 对于一个没有被载入或者想要动态载入的界面,都需要使用LayoutInflater.inflate()来载入; * 对于一个已经载入的界面,就可以使用Activiyt.findViewById()方法来获得其中的界面元素。 * 想了解更多:http://www.cnblogs.com/maliqian/p/3473800.html * */ inflater = getLayoutInflater(); setView(); } private void setView() { //初始化viewPager vp = (ViewPager)findViewById(R.id.viewp_01); item_view01 = inflater.inflate(R.layout.item01,null); item_view02 = inflater.inflate(R.layout.item02,null); item_view03 = inflater.inflate(R.layout.item03,null); //把三个View布局对象加载到list中,这些就是item的数据 Mview.add(item_view01); Mview.add(item_view02); Mview.add(item_view03); //把数据传递给适配器中,进行数据处理。 adapter = new ViewPagerAdapter(this,Mview); vp.setAdapter(adapter); }}
4、现在就需要把封装好的data数据,传递给viewpager的适配器中,使其显示到界面中
import android.content.Context;import android.support.v4.view.PagerAdapter;import android.view.View;import android.view.ViewGroup;import java.util.List;/** * Created by ENZ on 2016/9/29. * viewpager继承的是PagerAdapter * 其他同listview大致一样 */public class ViewPagerAdapter extends PagerAdapter { private Context context; private List<View> viewdata; public ViewPagerAdapter(MainActivity mainActivity, List<View> mview) { context = mainActivity; viewdata = mview; } //这个方法是获取一共有多少个item @Override public int getCount() { return viewdata.size(); } //这个就这样写就OK ,无需管 @Override public boolean isViewFromObject(View view, Object object) { return view==object; } //这个方法用来实例化页卡 @Override public Object instantiateItem(ViewGroup container, int position) { container.addView(viewdata.get(position),0); return viewdata.get(position); } //删除实例化页卡 @Override public void destroyItem(ViewGroup container, int position, Object object) { // TODO Auto-generated method stub container.removeView(viewdata.get(position)); }}
demo:http://download.csdn.net/detail/bobo8945510/9646225
2 0
- viewpager过渡页
- viewpager过渡页
- viewpager带圆点的过渡页
- viewpager带圆点的过渡页
- ViewPager的过渡动画
- Android 自定义ViewPager 过渡效果
- Android实现真正的ViewPager【平滑过渡】+【循环滚动】!!!顺带还有【末页跳转】。
- Android自定义ViewPager的过渡动画
- android的viewpager 指示文字过渡效果
- ViewPager过渡动画position的理解
- Android两行代码搞定ViewPager的过渡动画
- Android 如何实现一个平滑过渡的ViewPager广告条
- Android ViewPager实现无限循环(1.首尾完美过渡)
- Android 如何实现一个平滑过渡的ViewPager广告条
- 自定义ViewPager轮播,设置切换过渡时间
- 两行代码搞定ViewPager的过渡动画
- viewpager实现banner轮播的平滑过渡
- 过渡页(桥页)
- C/C++野指针
- 1.mysql bin-log日志基本操作与数据库备份还原
- scipy求一些统计量的p值和分位数
- C Primer Plus学习 十六 函数概述
- android中data binding的使用
- viewpager过渡页
- SQL存储过程返回受影响的行数
- 关于用java实现RMI通信的项目,MeetingRMI
- 2.mysql mysql备份数据与恢复方案
- LeetCode[204] Count Primes
- Eclipse 使用Egit插件通过SSH上传代码到GitHub
- Android SharedPreferences
- UML——构件图、部署图(实现图)
- 3.mysql主从复制