package com.testviewpager;
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 TestviewpagerActivity 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.item1, null));
pageViews.add(inflater.inflate(R.layout.item2, null));
pageViews.add(inflater.inflate(R.layout.item3, null));
pageViews.add(inflater.inflate(R.layout.item4, 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(TestviewpagerActivity.this);
imageView.setLayoutParams(new LayoutParams(20,20));
imageView.setPadding(20, 0, 20, 0);
imageViews[i] = imageView;
if (i == 0) {
//默认选中第一张图片
imageViews[i].setBackgroundResource(R.drawable.guide_dot_black);
} else {
imageViews[i].setBackgroundResource(R.drawable.guide_dot_white);
}
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.guide_dot_black);
if (arg0 != i) {
imageViews[i]
.setBackgroundResource(R.drawable.guide_dot_white);
}
}
}
}
}
没有合适的资源?快使用搜索试试~ 我知道了~
Android中使用ViewPager实现r左右拖动效果
共47个文件
png:20个
class:9个
xml:7个
3星 · 超过75%的资源 需积分: 3 41 下载量 179 浏览量
2012-04-01
11:53:53
上传
评论
收藏 1021KB ZIP 举报
温馨提示
现在很多Android应用在首次安装完都会有指引如何使用该应用的某些功能的指引界面,这样会获得很好的用户体验,能够帮助用户更好使用应用的某些功能。 资源文件例子中附带android-support-v4.jar
资源推荐
资源详情
资源评论
收起资源包目录
testviewpager.zip (47个子文件)
testviewpager
.project 849B
project.properties 360B
proguard.cfg 1KB
src
com
testviewpager
TestviewpagerActivity.java 5KB
lib
android-support-v4.jar 242KB
AndroidManifest.xml 742B
res
drawable-ldpi
ic_launcher.png 2KB
drawable-hdpi
guide02.png 50KB
guide_dot_white.png 200B
guide01.png 57KB
ic_launcher.png 4KB
guide_dot_black.png 200B
guide05.png 57KB
guide03.png 55KB
guide04.png 41KB
drawable-mdpi
ic_launcher.png 3KB
layout
item2.xml 466B
item1.xml 466B
item3.xml 466B
main.xml 1KB
item4.xml 466B
values
strings.xml 192B
.settings
org.eclipse.core.resources.prefs 88B
assets
gen
com
testviewpager
R.java 1KB
.classpath 429B
bin
resources.ap_ 113KB
classes
com
testviewpager
R$layout.class 507B
R$drawable.class 637B
R$attr.class 337B
TestviewpagerActivity.class 3KB
TestviewpagerActivity$GuidePageChangeListener.class 1KB
R$id.class 418B
R.class 524B
R$string.class 424B
TestviewpagerActivity$GuidePageAdapter.class 2KB
res
drawable-ldpi
ic_launcher.png 2KB
drawable-hdpi
guide02.png 20KB
guide_dot_white.png 200B
guide01.png 21KB
ic_launcher.png 4KB
guide_dot_black.png 200B
guide05.png 20KB
guide03.png 21KB
guide04.png 15KB
drawable-mdpi
ic_launcher.png 2KB
testviewpager.apk 218KB
classes.dex 242KB
共 47 条
- 1
资源评论
- ltbo992014-03-14不错,效果好,有借鉴意义。
- BUAA海海2013-03-07要是楼主能提供不同的View之间切换效果的代码就好了。不过总的来说还不错,谢啦
意诚
- 粉丝: 5
- 资源: 4
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功