您的位置:首页 > 移动开发 > Android开发

Android:使用ViewPager实现左右滑动切换图片(图上有点点)

2014-08-05 18:30 1336 查看
在以下实例的基础上加上点点

Android:使用ViewPager实现左右滑动切换图片 (简单版)

效果预览:



因为要把点点放图片上,所以修改布局为相对布局:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<!-- 切换卡 -->
<android.support.v4.view.ViewPager
android:id="@+id/viewPager"
android:layout_width="match_parent"
android:layout_height="wrap_content"
>
</android.support.v4.view.ViewPager>

<!-- 点点 -->
<LinearLayout
android:id="@+id/viewGroup"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_marginBottom="40dp"
android:gravity="center_horizontal"
android:orientation="horizontal" >
</LinearLayout>
</RelativeLayout>


程序新增:

private ImageView imageView;
private ImageView[] imageViews;
//包裹点点的LinearLayout
private ViewGroup group;


group = (ViewGroup)findViewById(R.id.viewGroup);

//有多少张图就有多少个点点
imageViews = new ImageView[pageview.size()];
for(int i =0;i<pageview.size();i++){
imageView = new ImageView(MainActivity.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_unfocused);
}

group.addView(imageViews[i]);
}

//pageView监听器
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) {
// TODO Auto-generated method stub
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_unfocused);
}
}

}

}

//绑定监听事件
viewPager.setOnPageChangeListener(new GuidePageChangeListener());


>>>>>>>>>>>>>>>>实例下载

相关文章:

Android 使用ViewPager实现左右循环滑动图片
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: