您的位置:首页 > 产品设计 > UI/UE

Android UI设计(引导界面):ViewPager之基本用法

2015-09-01 21:36 441 查看


一、ViewPager介绍

  ViewPager是由google为我们提供的兼容android的软件包v4提供的。利用它可以做许多事情,比如我们平时常见的软件刚安装时的滑动面,淘宝的自动循环的界面、最简单的导航等。

  它的使用与ListView相似需要一个适配器,只是它需要的是PagerAdapter,但是它又有不同之处,listview中传递的是对象,而ViewPager中传递的是View

二、v4 jar包的导入

先找到jar包

D:\software\android\Sdk\Sdk\extras\android\m2repository\com\android\support







Ecplise:点击jar包,复制,点开ecplise中相应的project,找到lib文件夹,复制进去即可。

Android Studio:File ——projectconstructor——viewpager-dependence-点击“+”找到support v4即可。

三、简单使用例子

ViewPager的使用,也是先需要在布局中引入,但是在布局文件中引入时需要注意要写全包名,view是小写。

[code]<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".MainActivity" >
    <!-- 注意,一定写全称 -->
    <android.support.v4.view.ViewPager
       android:id="@+id/viewpager"
         android:layout_width="match_parent"
        android:layout_height="match_parent"
        >

    </android.support.v4.view.ViewPager>

</RelativeLayout>


PagerAdapter

适配器的创建需要重写它的两个方法destroyItem()<销毁>和 instantiateItem()<初始化>

[code]package com.example.myviewpager;

import java.util.List;

import android.graphics.Picture;
import android.support.v4.view.PagerAdapter;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.ViewGroup;
import android.widget.Button;
import android.widget.Toast;

public class MyViewPagerAdapter extends PagerAdapter{
    private List<View> views;

    public MyViewPagerAdapter(List<View> views) {
        super();
        this.views = views;
    }

    @Override
    public void destroyItem(ViewGroup container, int position, Object object) {
        container.removeView( views.get(position));

    }

    @Override
    public Object instantiateItem(ViewGroup container, int position) {
        View view=views.get(position);
        container.addView(view);
        if(position==2){
        Button button=(Button) view.findViewById(R.id.button);
        button.setOnClickListener(new OnClickListener() {

            @Override
            public void onClick(View v) {
                Toast.makeText(v.getContext(),"点击成功", Toast.LENGTH_SHORT).show();

            }
        });
        }
        return view;
    }

    @Override
    public int getCount() {
        // TODO Auto-generated method stub
        return views.size();
    }

    @Override
    public boolean isViewFromObject(View arg0, Object arg1) {
        // TODO Auto-generated method stub
        return arg0==arg1;
    }

}


MainActivity:

[code]public class MainActivity extends Activity {
    private ViewPager mviewpager;
    private List<View> views;
    private MyViewPagerAdapter madapter;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        mviewpager=(ViewPager) findViewById(R.id.viewpager);
        views=new ArrayList<View>();
        View view1=getLayoutInflater().inflate(R.layout.viewpager_item1, null);
        View view2=getLayoutInflater().inflate(R.layout.viewpager_item2, null);
        View view3=getLayoutInflater().inflate(R.layout.viewpager_item3, null);
        views.add(view1);
        views.add(view2);
        views.add(view3);
        madapter=new MyViewPagerAdapter(views);
        mviewpager.setAdapter(madapter);
    }
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: