package com.andyidea.guidedemo;
import java.util.ArrayList;
import android.app.Activity;
import android.os.Bundle;
import android.os.Parcelable;
import android.support.v4.view.PagerAdapter;
import android.support.v4.view.ViewPager;
import android.support.v4.view.ViewPager.OnPageChangeListener;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.view.ViewGroup.LayoutParams;
import android.view.Window;
import android.widget.ImageView;
public class GuideViewDemoActivity extends Activity {
private ViewPager viewPager;
private ArrayList<View> pageViews;
private ViewGroup main, group;
private ImageView imageView;
private ImageView[] imageViews;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
this.requestWindowFeature(Window.FEATURE_NO_TITLE);
LayoutInflater inflater = getLayoutInflater();
pageViews = new ArrayList<View>();
pageViews.add(inflater.inflate(R.layout.item01, null));
pageViews.add(inflater.inflate(R.layout.item02, null));
pageViews.add(inflater.inflate(R.layout.item03, null));
pageViews.add(inflater.inflate(R.layout.item04, null));
imageViews = new ImageView[pageViews.size()];
main = (ViewGroup)inflater.inflate(R.layout.main, null);
// group是R.layou.main中的负责包裹小圆点的LinearLayout.
group = (ViewGroup)main.findViewById(R.id.viewGroup);
viewPager = (ViewPager)main.findViewById(R.id.guidePages);
for (int i = 0; i < pageViews.size(); i++) {
imageView = new ImageView(GuideViewDemoActivity.this);
imageView.setLayoutParams(new LayoutParams(20,20));
imageView.setPadding(20, 0, 20, 0);
imageViews[i] = imageView;
if (i == 0) {
//默认选中第一张图片
imageViews[i].setBackgroundResource(R.drawable.page_indicator_focused);
} else {
imageViews[i].setBackgroundResource(R.drawable.page_indicator);
}
group.addView(imageViews[i]);
}
setContentView(main);
viewPager.setAdapter(new GuidePageAdapter());
viewPager.setOnPageChangeListener(new GuidePageChangeListener());
}
/** 指引页面Adapter */
class GuidePageAdapter extends PagerAdapter {
@Override
public int getCount() {
return pageViews.size();
}
@Override
public boolean isViewFromObject(View arg0, Object arg1) {
return arg0 == arg1;
}
@Override
public int getItemPosition(Object object) {
// TODO Auto-generated method stub
return super.getItemPosition(object);
}
@Override
public void destroyItem(View arg0, int arg1, Object arg2) {
// TODO Auto-generated method stub
((ViewPager) arg0).removeView(pageViews.get(arg1));
}
@Override
public Object instantiateItem(View arg0, int arg1) {
// TODO Auto-generated method stub
((ViewPager) arg0).addView(pageViews.get(arg1));
return pageViews.get(arg1);
}
@Override
public void restoreState(Parcelable arg0, ClassLoader arg1) {
// TODO Auto-generated method stub
}
@Override
public Parcelable saveState() {
// TODO Auto-generated method stub
return null;
}
@Override
public void startUpdate(View arg0) {
// TODO Auto-generated method stub
}
@Override
public void finishUpdate(View arg0) {
// TODO Auto-generated method stub
}
}
/** 指引页面改监听器 */
class GuidePageChangeListener implements OnPageChangeListener {
@Override
public void onPageScrollStateChanged(int arg0) {
// TODO Auto-generated method stub
}
@Override
public void onPageScrolled(int arg0, float arg1, int arg2) {
// TODO Auto-generated method stub
}
@Override
public void onPageSelected(int arg0) {
for (int i = 0; i < imageViews.length; i++) {
imageViews[arg0]
.setBackgroundResource(R.drawable.page_indicator_focused);
if (arg0 != i) {
imageViews[i]
.setBackgroundResource(R.drawable.page_indicator);
}
}
}
}
}
没有合适的资源?快使用搜索试试~ 我知道了~
Android中如何使用ViewPager实现类似laucher左右拖动效果源码
共44个文件
png:18个
class:9个
xml:7个
5星 · 超过95%的资源 需积分: 13 132 下载量 163 浏览量
2012-04-11
06:38:24
上传
评论
收藏 1.14MB RAR 举报
温馨提示
Android中如何使用ViewPager实现类似laucher左右拖动效果源码
资源推荐
资源详情
资源评论
收起资源包目录
GuideViewDemo.rar (44个子文件)
GuideViewDemo
bin
classes.dex 148KB
res
drawable-ldpi
ic_launcher.png 2KB
drawable-hdpi
feature_guide_0.png 63KB
feature_guide_2.png 73KB
page_indicator_focused.png 380B
ic_launcher.png 4KB
feature_guide_1.png 66KB
page_indicator.png 181B
feature_guide_3.png 17KB
drawable-mdpi
ic_launcher.png 2KB
GuideViewDemo.apk 300KB
classes
com
andyidea
guidedemo
GuideViewDemoActivity.class 3KB
GuideViewDemoActivity$GuidePageChangeListener.class 1KB
R$layout.class 526B
R$id.class 433B
R$drawable.class 659B
R$attr.class 352B
R.class 559B
GuideViewDemoActivity$GuidePageAdapter.class 2KB
R$string.class 439B
resources.ap_ 233KB
res
drawable-ldpi
ic_launcher.png 2KB
drawable-hdpi
feature_guide_0.png 63KB
feature_guide_2.png 73KB
page_indicator_focused.png 380B
ic_launcher.png 4KB
feature_guide_1.png 66KB
page_indicator.png 181B
feature_guide_3.png 17KB
values
strings.xml 192B
drawable-mdpi
ic_launcher.png 3KB
layout
item01.xml 449B
item04.xml 445B
item03.xml 449B
main.xml 978B
item02.xml 449B
assets
gen
com
andyidea
guidedemo
R.java 1KB
proguard.cfg 1KB
src
com
andyidea
guidedemo
GuideViewDemoActivity.java 5KB
.project 849B
.classpath 430B
project.properties 360B
AndroidManifest.xml 747B
libs
android-support-v4.jar 137KB
共 44 条
- 1
lideguo1979
- 粉丝: 148
- 资源: 77
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
- 1
- 2
- 3
- 4
前往页