廢話就不多說了,直接上效果圖和代碼
創(chuàng)新互聯(lián)是專業(yè)的福建網(wǎng)站建設(shè)公司,福建接單;提供網(wǎng)站設(shè)計、網(wǎng)站建設(shè),網(wǎng)頁設(shè)計,網(wǎng)站設(shè)計,建網(wǎng)站,PHP網(wǎng)站建設(shè)等專業(yè)做網(wǎng)站服務(wù);采用PHP框架,可快速的進(jìn)行福建網(wǎng)站開發(fā)網(wǎng)頁制作和功能擴(kuò)展;專業(yè)做搜索引擎喜愛的網(wǎng)站,專業(yè)的做網(wǎng)站團(tuán)隊,希望更多企業(yè)前來合作!


fry.Activity01
package fry;
import java.util.ArrayList;
import java.util.Collection;
import java.util.Iterator;
import java.util.List;
import java.util.ListIterator;
import com.example.viewPager.R;
import android.app.Activity;
import android.os.Bundle;
import android.support.v4.view.ViewPager;
import android.support.v4.view.ViewPager.OnPageChangeListener;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.ViewGroup.LayoutParams;
import android.widget.ImageView;
import android.widget.LinearLayout;
public class Activity01 extends Activity implements OnPageChangeListener,OnClickListener{
private ViewPager viewPager;
private List<View> views;//用來存放放進(jìn)ViewPager里面的ImageView
private int[] imageID;//
private ImagePagerAdapter adapter;//適配器
private LinearLayout linearLayout;
private int currentPoint;//當(dāng)前被選中中頁面的下標(biāo)
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.activity01);
initData();
initView();
}
//初始化view
void initView(){
adapter=new ImagePagerAdapter(views);
viewPager=(ViewPager) findViewById(R.id.viewPager);
viewPager.setAdapter(adapter);
linearLayout=(LinearLayout) findViewById(R.id.linearLayout);
initPoint();
viewPager.setOnPageChangeListener(this);
}
//初始化數(shù)據(jù)
void initData(){
//將圖片的id全部放到imageID集合中
imageID=new int[]{R.drawable.guide1,R.drawable.guide2,R.drawable.guide3,R.drawable.guide4};
views=new ArrayList<View>();
//給iamgeView設(shè)置LayoutParams參數(shù)
LayoutParams layoutParams=new LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT);
for(int i:imageID){
//不確定1
ImageView imageView=new ImageView(this);
imageView.setImageResource(i);
imageView.setLayoutParams(layoutParams);
views.add(imageView);
}
}
/*
* 初始化頁面下方的點(diǎn)
*/
private void initPoint(){
ImageView[] imageView=new ImageView[imageID.length];
for(int i=0;i<linearLayout.getChildCount();i++){
imageView[i]=(ImageView) linearLayout.getChildAt(i);
imageView[i].setImageResource(R.drawable.point_normal);
imageView[i].setOnClickListener(this);
imageView[i].setTag(i);
}
currentPoint=0;
imageView[currentPoint].setImageResource(R.drawable.point_select);
}
/*
* 將頁面下方的點(diǎn)全部置為未選中狀態(tài)
*/
private ImageView[] clearPoint(){
ImageView[] imageView=new ImageView[imageID.length];
for(int i=0;i<linearLayout.getChildCount();i++){
imageView[i]=(ImageView) linearLayout.getChildAt(i);
imageView[i].setImageResource(R.drawable.point_normal);
}
return imageView;
}
@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
}
/*
* 頁面被選中時候執(zhí)行的方法
* (non-Javadoc)
* @see android.support.v4.view.ViewPager.OnPageChangeListener#onPageSelected(int)
*/
@Override
public void onPageSelected(int position) {
// TODO Auto-generated method stub
ImageView[] imageView= clearPoint();
imageView[position].setImageResource(R.drawable.point_select);
}
//小圓點(diǎn)點(diǎn)擊事件
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
int i=(Integer) v.getTag();
viewPager.setCurrentItem(i);
}
}
fry.ImagePagerAdapter
package fry;
import java.util.ArrayList;
import java.util.List;
import android.support.v4.view.PagerAdapter;
import android.support.v4.view.ViewPager;
import android.view.View;
import android.view.ViewGroup;
public class ImagePagerAdapter extends PagerAdapter{
private List<View> views;
public ImagePagerAdapter(List<View> views) {
this.views=views;
}
@Override
public int getCount() {
// TODO Auto-generated method stub
return this.views.size();
}
/**
* position是在viewPager中顯示圖片的位置
* 我對應(yīng)的圖片放到對應(yīng)的位置就好了
* instantiateItem和destroyItem是對應(yīng)的
* 一個是創(chuàng)建item,一個是銷毀item
*/
@Override
public Object instantiateItem(ViewGroup container, int position) {
((ViewPager)container).addView(views.get(position));
return views.get(position);
}
@Override
public boolean isViewFromObject(View arg0, Object arg1) {
// TODO Auto-generated method stub
return arg0==arg1;
}
@Override
public void destroyItem(ViewGroup container, int position, Object object) {
((ViewPager)container).removeView(views.get(position));
}
}
/viewPager/res/layout/activity01.xml
<?xml version="1.0" encoding="utf-8"?> <FrameLayout 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="match_parent" > </android.support.v4.view.ViewPager> <LinearLayout android:id="@+id/linearLayout" android:layout_width="wrap_content" android:layout_height="wrap_content" android:orientation="horizontal" android:layout_gravity="bottom|center" > <ImageView android:id="@+id/point1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:src="@drawable/point_select" android:padding="25dip" /> <ImageView android:id="@+id/point2" android:layout_width="wrap_content" android:layout_height="wrap_content" android:src="@drawable/point_normal" android:padding="25dip" /> <ImageView android:id="@+id/point3" android:layout_width="wrap_content" android:layout_height="wrap_content" android:src="@drawable/point_normal" android:padding="25dip" /> <ImageView android:id="@+id/point4" android:layout_width="wrap_content" android:layout_height="wrap_content" android:src="@drawable/point_normal" android:padding="25dip" /> </LinearLayout> </FrameLayout>

1、多個控件(這里指小圓點(diǎn))可以用List來一起訪問
2、可用動態(tài)的控件設(shè)置tag來區(qū)分控件
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持創(chuàng)新互聯(lián)。
分享文章:ViewPager實現(xiàn)漂亮的引導(dǎo)頁
地址分享:http://chinadenli.net/article26/jpcjcg.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供小程序開發(fā)、搜索引擎優(yōu)化、營銷型網(wǎng)站建設(shè)、關(guān)鍵詞優(yōu)化、ChatGPT、網(wǎng)站收錄
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)