ViewPager
1android studou 导入jar包
1打开File
2打开ProjectStructure
3选中工程
ViewPager效果
MainActivity
public class MainActivity extends Activity {
private ViewPager mViewPager;
private List<View> views;
private LayoutInflater mInflater;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mViewPager = (ViewPager) findViewById(R.id.viewpager);
views = new ArrayList<>();
mInflater = getLayoutInflater();
View view1 = mInflater.inflate(R.layout.viewpager_item1, null);
View view2 = mInflater.inflate(R.layout.viewpager_item2, null);
View view3 = mInflater.inflate(R.layout.viewpager_item3, null);
views.add(view1);
views.add(view2);
views.add(view3);
MyAdapter myAdapter=new MyAdapter(views);
mViewPager.setAdapter(myAdapter);
}
}
Adapter
public class MyAdapter extends PagerAdapter {
private List<View>views;
public MyAdapter(List<View> views) {
this.views = views;
}
@Override
public int getCount() {
return views.size();
}
@Override
public Object instantiateItem(ViewGroup container, int position) {
View view=views.get(position);
container.addView(view);
if (position==2){
Button btn=(Button)view.findViewById(R.id.button);
btn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Toast.makeText(v.getContext(),"",Toast.LENGTH_LONG).show();
}
});
}
return view;
}
@Override
public boolean isViewFromObject(View arg0, Object arg1) {
return arg0==arg1;
}
@Override
public void destroyItem(ViewGroup container, int position, Object object) {
container.removeView(views.get(position));
}
}
布局文件
新写法
<android.support.v4.view.ViewPager>
</android.support.v4.view.ViewPager>
如图所示,每个界面对应一个布局文件。第一副图放置了一张图片,第二幅图放着了一个TextView第三幅图放置了一个按钮
在接下来将会继续增添功能
1实现图片下面的小圆点代表当前
2实现循环滚动
3实现嵌套