0
点赞
收藏
分享

微信扫一扫

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


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

一、ViewPager介绍

  ViewPager是由google为我们提供的兼容android的软件包v4提供的。利用它可以做许多事情,比如我们平时常见的软件刚安装时的滑动面,淘宝的自动循环的界面、最简单的导航等。
  它的使用与ListView相似需要一个适配器,只是它需要的是PagerAdapter,但是它又有不同之处,listview中传递的是对象,而ViewPager中传递的是View

二、v4 jar包的导入

先找到jar包

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

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


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


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

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

三、简单使用例子

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

<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()<初始化>

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

MainActivity:

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


举报

相关推荐

0 条评论