ViewPager的滑动切换

来源:互联网 发布:java定时任务时间设置 编辑:程序博客网 时间:2024/05/14 02:19

    之前写了篇ViewFillper的文章,其实我一直不明白ViewPager和ViewFillper的区别,我觉得把,ViewPager的扩展性比较好,好了说正事,ViewPager的用法,下面的程序包含两个类,一个是MainActivity另个是ViewPagerAdapter

  

package com.example.myviewpager;import java.util.ArrayList;import java.util.zip.Inflater;import org.w3c.dom.Text;import android.os.Bundle;import android.R.integer;import android.app.Activity;import android.support.v4.app.ActionBarDrawerToggle;import android.support.v4.view.ViewPager;import android.view.Menu;import android.view.View;import android.view.Window;import android.widget.ImageView;import android.widget.TextView;public class MainActivity extends Activity {private ViewPager viewpager;//private ImageView[] imageView;private ArrayList<View> pageViews;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);requestWindowFeature(Window.FEATURE_NO_TITLE);// 设置无标题栏setContentView(R.layout.activity_main);viewpager=(ViewPager)findViewById(R.id.viewpager);   pageViews=new ArrayList<View>();//View的数组   View view1=(View)View.inflate(this, R.layout.layout1, null);//获得视图1   TextView Textview=(TextView)view1.findViewById(R.id.textView1);     Textview.setText("licheng");
   View view2=(View)View.inflate(this,R.layout.layout2 , null);   View view3=(View)View.inflate(this, R.layout.layout3, null);    pageViews.add(view1);    pageViews.add(view2);    pageViews.add(view3);    //用法类似List    ViewPageAdapter v=new ViewPageAdapter(pageViews, MainActivity.this);     viewpager.setAdapter(v);}@Overridepublic boolean onCreateOptionsMenu(Menu menu) {// Inflate the menu; this adds items to the action bar if it is present.getMenuInflater().inflate(R.menu.main, menu);return true;}}
package com.example.myviewpager;import java.util.ArrayList;import android.R.integer;import android.content.Context;import android.support.v4.view.PagerAdapter;import android.support.v4.view.ViewPager;import android.view.LayoutInflater;import android.view.View;import android.widget.ImageView;public class ViewPageAdapter extends PagerAdapter{//private int[] imageId=new int[3];private ArrayList<View> pageViews;private Context context;public ViewPageAdapter(ArrayList<View> pageViews,Context context){//this.imageId=image;this.context=context;this.pageViews=pageViews;}@Overridepublic int getCount() {// TODO Auto-generated method stubreturn pageViews.size();//return imageId.length;}@Overridepublic Object instantiateItem(View container, int position) {// TODO Auto-generated method stub  ((ViewPager) container).addView(pageViews.get(position));return pageViews.get(position);}@Overridepublic void destroyItem(View container, int position, Object object) {// TODO Auto-generated method stub//super.destroyItem(container, position, object);((ViewPager) container).removeView(pageViews.get(position));}// 判断是否由对象生成界面@Overridepublic boolean isViewFromObject(View arg0, Object arg1) {// TODO Auto-generated method stubreturn arg0 == arg1;}}

程序就可以手势滑动了

原创粉丝点击