android教程viewpager自動(dòng)循環(huán)和手動(dòng)循環(huán)
package com.imoyo.expert;
import java.util.ArrayList;
import android.app.Activity;
import android.os.Bundle;
import android.os.Handler;
import android.support.v4.view.ViewPager;
import android.support.v4.view.ViewPager.OnPageChangeListener;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.view.Window;
import android.view.ViewGroup.LayoutParams;
import android.widget.ImageView;
public class ExActivity extends Activity {
ViewPager viewPager;
ArrayList<View> list;
ViewGroup main, group;
boolean cunhuan = false;
ImageView imageView;
ImageView[] imageViews;
private static int c_id = 0;
static int page_id = 1;
private Runnable switchTask = new Runnable() {
public void run() {
if (cunhuan) {
viewPager.setCurrentItem(page_id);
page_id++;
}
cunhuan=true;
Log.e("is_run", cunhuan+"");
mHandler.postDelayed(switchTask, 3000);
}
};
Handler mHandler = new Handler();
@Override
protected void onResume() {
super.onResume();
switchTask.run();
}
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
this.requestWindowFeature(Window.FEATURE_NO_TITLE);
getView();
imageViews = new ImageView[list.size()];
ViewGroup main = (ViewGroup) inflater.inflate(R.layout.activity_main,
null);
ViewGroup group = (ViewGroup) main.findViewById(R.id.viewGroup);
viewPager = (ViewPager) main.findViewById(R.id.viewPager);
for (int i = 0; i < 5; i++) {
imageView = new ImageView(this);
imageView.setLayoutParams(new LayoutParams(12, 12));
imageViews[i] = imageView;
if (i == 0) {
imageViews[i].setBackgroundResource(R.drawable.img_blue_point);
} else {
imageViews[i].setBackgroundResource(R.drawable.img_white_point);
}
group.addView(imageView);
}
setContentView(main);
ViewPagerAdapter adapter = new ViewPagerAdapter(this, list);
viewPager.setAdapter(adapter);
viewPager.setOnPageChangeListener(listener);
viewPager.setCurrentItem(2);
}
public void getView() {
inflater = getLayoutInflater();
list = new ArrayList<View>();
list.add(inflater.inflate(R.layout.item4, null));
list.add(inflater.inflate(R.layout.item5, null));
list.add(inflater.inflate(R.layout.item1, null));
list.add(inflater.inflate(R.layout.item2, null));
list.add(inflater.inflate(R.layout.item3, null));
list.add(inflater.inflate(R.layout.item4, null));
list.add(inflater.inflate(R.layout.item5, null));
list.add(inflater.inflate(R.layout.item1, null));
list.add(inflater.inflate(R.layout.item2, null));
}
OnPageChangeListener listener = new OnPageChangeListener() {
@Override
public void onPageSelected(int arg0) {
if (arg0 == 0) {
viewPager.setCurrentItem(5, false);
page_id=5;
} else if (arg0 == 8) {
viewPager.setCurrentItem(3, false);
page_id=3;
}else{
page_id=arg0;
}
Log.e("arg", arg0 + "");
for (int i = 2; i < 7; i++) {
imageViews[i - 2]
.setBackgroundResource(R.drawable.img_white_point);
}
switch (arg0) {
case 7:
case 2:
imageViews[0]
.setBackgroundResource(R.drawable.img_blue_point);
break;
case 3:
case 8:
imageViews[1]
.setBackgroundResource(R.drawable.img_blue_point);
break;
case 4:
imageViews[2]
.setBackgroundResource(R.drawable.img_blue_point);
break;
case 0:
case 5:
imageViews[3]
.setBackgroundResource(R.drawable.img_blue_point);
break;
case 1:
case 6:
imageViews[4]
.setBackgroundResource(R.drawable.img_blue_point);
break;
}
}
@Override
public void onPageScrolled(int arg0, float arg1, int arg2) {
}
@Override
public void onPageScrollStateChanged(int arg0) {
}
};
private LayoutInflater inflater;
}
- Android使用ViewPager實(shí)現(xiàn)啟動(dòng)引導(dǎo)頁(yè)
- Android開發(fā)實(shí)戰(zhàn)之漂亮的ViewPager引導(dǎo)頁(yè)
- Android控件ViewPager實(shí)現(xiàn)帶有動(dòng)畫的引導(dǎo)頁(yè)
- Android UI設(shè)計(jì)與開發(fā)之使用ViewPager實(shí)現(xiàn)歡迎引導(dǎo)頁(yè)面
- Android UI設(shè)計(jì)與開發(fā)之ViewPager仿微信引導(dǎo)界面以及動(dòng)畫效果
- Android UI設(shè)計(jì)與開發(fā)之ViewPager介紹和簡(jiǎn)單實(shí)現(xiàn)引導(dǎo)界面
- Android利用ViewPager實(shí)現(xiàn)用戶引導(dǎo)界面效果的方法
- Android利用ViewPager實(shí)現(xiàn)滑動(dòng)廣告板實(shí)例源碼
- Android ViewPager相冊(cè)橫向移動(dòng)的實(shí)現(xiàn)方法
- Android開發(fā)實(shí)現(xiàn)的ViewPager引導(dǎo)頁(yè)功能(動(dòng)態(tài)加載指示器)詳解
相關(guān)文章
flutter showModalBottomSheet常用屬性及說明
這篇文章主要介紹了flutter showModalBottomSheet常用屬性及說明,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-09-09Android中Dialog對(duì)話框的使用小結(jié)
這篇文章主要給大家總結(jié)了一些關(guān)于Android中Dialog對(duì)話框的使用方法,這其中包括普通對(duì)話框、確定取消對(duì)話框、多按鈕對(duì)話框、列表對(duì)話框、帶Adapter的對(duì)話框、單選對(duì)話框以及多選對(duì)話框等,需要的朋友可以參考學(xué)習(xí),下面來(lái)一起看看詳細(xì)的介紹吧。2017-04-04Android安裝應(yīng)用 INSTALL_FAILED_DEXOPT 問題及解決辦法
這篇文章主要介紹了Android安裝應(yīng)用 INSTALL_FAILED_DEXOPT 解決辦法,本文通過圖文并茂的形式給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-04-04Android實(shí)現(xiàn)新浪微博一鍵分享的實(shí)例代碼
這篇文章主要介紹了Android實(shí)現(xiàn)新浪微博一鍵分享的實(shí)例代碼,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-07-07Android實(shí)現(xiàn)文字逐字顯示出來(lái)
這篇文章主要為大家詳細(xì)介紹了Android實(shí)現(xiàn)文字逐字顯示出來(lái)效果,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-05-05android app判斷是否有系統(tǒng)簽名步驟詳解
這篇文章主要為大家介紹了android app判斷是否有系統(tǒng)簽名步驟詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-11-11Android通過記住密碼功能學(xué)習(xí)數(shù)據(jù)存儲(chǔ)類SharedPreferences詳解及實(shí)例
這篇文章主要通過“記住密碼”實(shí)例功能學(xué)習(xí)為大家介紹了Android數(shù)據(jù)存儲(chǔ)類SharedPreferences,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2016-03-03