在玩qq聊天软件的时候都会用到这个效果,以前一直不知道,现在解决了。,主要要新建一个lib文件,里面还要导入android-support-04.jar文件

首先修改布局文件:

View Code
 1 <?xml version="1.0" encoding="utf-8"?>
2 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
3 android:orientation="vertical"
4 android:layout_width="fill_parent"
5 android:layout_height="fill_parent">
6 <android.support.v4.view.ViewPager
7 android:layout_width="match_parent"
8 android:layout_height="120dp"
9 android:id="@+id/awesomepager"/>
10 </LinearLayout>


第二步:导入照片

第三步:修改AwesomePagerActivity.java文件解释都在代码里

View Code
  1 package cn.shaoyangjiang.com;
2
3 import java.util.ArrayList;
4 import java.util.List;
5 import com.geekyouup.paug.awesomepager.R;
6 import android.app.Activity;
7 import android.os.Bundle;
8 import android.os.Parcelable;
9 import android.support.v4.view.PagerAdapter;
10 import android.support.v4.view.ViewPager;
11 import android.view.View;
12 import android.widget.ImageView;
13
14 public class AwesomePagerActivity extends Activity {
15 //ViewPager实例化
16 private ViewPager awesomePager;
17 //实例化一个AwesomeAdapter
18 private AwesomePagerAdapter awesomeAdapter;
19 //实例化容器
20 private List<View> mListViews;
21 @Override
22 public void onCreate(Bundle savedInstanceState) {
23 super.onCreate(savedInstanceState);
24 setContentView(R.layout.main);
25 //创建awesomeAdapter
26 awesomeAdapter = new AwesomePagerAdapter();
27 //获得awesomePaper实例
28 awesomePager = (ViewPager) findViewById(R.id.awesomepager);
29 //绑定
30 awesomePager.setAdapter(awesomeAdapter);
31 mListViews = new ArrayList<View>();
32 //为mListViews添加四个组件
33 mListViews.add(addImageView(R.drawable.katong));
34 mListViews.add(addImageView(R.drawable.shan));
35 mListViews.add(addImageView(R.drawable.touming));
36 mListViews.add(addImageView(R.drawable.meinv));
37
38 }
39 // 定义添加ImageView的工具方法
40 private View addImageView(int resId){
41 ImageView imageView = new ImageView(this);
42 imageView.setImageResource(resId);
43 imageView.setScaleType(ImageView.ScaleType.CENTER_CROP);
44 return imageView;
45 }
46
47 private class AwesomePagerAdapter extends PagerAdapter{
48 @Override
49 public int getCount() {
50 return mListViews.size();
51 }
52
53 /**
54 * Create the page for the given position. The adapter is responsible
55 * for adding the view to the container given here, although it only
56 * must ensure this is done by the time it returns from
57 * {@link #finishUpdate()}.
58 *
59 * @param container The containing View in which the page will be shown.
60 * @param position The page position to be instantiated.
61 * @return Returns an Object representing the new page. This does not
62 * need to be a View, but can be some other container of the page.
63 */
64 @Override
65 public Object instantiateItem(View collection, int position) {
66
67
68 ((ViewPager) collection).addView(mListViews.get(position),0);
69
70 return mListViews.get(position);
71 }
72
73 /**
74 * Remove a page for the given position. The adapter is responsible
75 * for removing the view from its container, although it only must ensure
76 * this is done by the time it returns from {@link #finishUpdate()}.
77 *
78 * @param container The containing View from which the page will be removed.
79 * @param position The page position to be removed.
80 * @param object The same object that was returned by
81 * {@link #instantiateItem(View, int)}.
82 */
83 @Override
84 public void destroyItem(View collection, int position, Object view) {
85 ((ViewPager) collection).removeView(mListViews.get(position));
86 }
87
88 @Override
89 public boolean isViewFromObject(View view, Object object) {
90 return view==(object);
91 }
92 /**
93 * Called when the a change in the shown pages has been completed. At this
94 * point you must ensure that all of the pages have actually been added or
95 * removed from the container as appropriate.
96 * @param container The containing View which is displaying this adapter's
97 * page views.
98 */
99 @Override
100 public void finishUpdate(View arg0) {}
101
102
103 @Override
104 public void restoreState(Parcelable arg0, ClassLoader arg1) {}
105
106 @Override
107 public Parcelable saveState() {
108 return null;
109 }
110
111 @Override
112 public void startUpdate(View arg0) {}
113
114 }
115
116 }

效果图:

更多相关文章

  1. 从内存卡读取xml文件到内存,写入xml到sd卡
  2. Android(安卓)FileProvider的理解
  3. 【Android】8.1 主题基本用法
  4. android 仿微信多图选择器(带预览、照相功能)
  5. Android(安卓)Launcher 如何去掉主菜单,所有应用摆在桌面,类似小米
  6. Android(安卓)Activity 四种启动模式
  7. android MultiDex
  8. Android(安卓)Property
  9. Android(安卓)studio创建assets目录并且利用webView加载html

随机推荐

  1. 将tensorflow训练好的模型移植到android
  2. Linux 下Android(安卓)开发环境搭建 ---Cent
  3. Android常用图片加载库介绍及对比
  4. Android消息处理机制:源码剖析Handler、Lo
  5. Android(安卓)HAL模块实现
  6. 从Android项目学习Kotlin(一)
  7. android的binder机制研究(C++部分)
  8. android控件属性介绍
  9. Android中的SurfaceView详解
  10. 《阿里巴巴Android开发手册》正式发布,安