如何在Android中利用viewpager實(shí)現(xiàn)一個(gè)無(wú)限輪播功能?針對(duì)這個(gè)問(wèn)題,這篇文章詳細(xì)介紹了相對(duì)應(yīng)的分析和解答,希望可以幫助更多想解決這個(gè)問(wèn)題的小伙伴找到更簡(jiǎn)單易行的方法。
成都創(chuàng)新互聯(lián)公司專(zhuān)注于成都做網(wǎng)站、成都網(wǎng)站制作、網(wǎng)頁(yè)設(shè)計(jì)、網(wǎng)站制作、網(wǎng)站開(kāi)發(fā)。公司秉持“客戶至上,用心服務(wù)”的宗旨,從客戶的利益和觀點(diǎn)出發(fā),讓客戶在網(wǎng)絡(luò)營(yíng)銷(xiāo)中找到自己的駐足之地。尊重和關(guān)懷每一位客戶,用嚴(yán)謹(jǐn)?shù)膽B(tài)度對(duì)待客戶,用專(zhuān)業(yè)的服務(wù)創(chuàng)造價(jià)值,成為客戶值得信賴的朋友,為客戶解除后顧之憂。
小圓點(diǎn)屬性
dot_focused.xml
dot_normal.xml
dot_layout.xml
activity_main.xml
以上是布局
下面src代碼
import android.content.Intent; import android.os.AsyncTask; import android.os.Handler; import android.os.Message; import android.support.v4.view.PagerAdapter; import android.support.v4.view.ViewPager; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.Button; import android.widget.ImageView; import android.widget.LinearLayout; import com.bwie.bean.SuperClass; import com.bwie.utils.NetWorkUtils; import com.bwie.utils.URLDB; import com.google.gson.Gson; import com.nostra13.universalimageloader.core.ImageLoader; import java.util.ArrayList; import java.util.List; import java.util.Timer; import java.util.TimerTask; public class MainActivity extends AppCompatActivity { private ViewPager viewPager; private Button bt; private LinearLayout layout; private Listdata; private NetWorkUtils netWorkUtils = new NetWorkUtils();//實(shí)例化工具類(lèi) private List imgs = new ArrayList ();//圖片的集合 private List dots = new ArrayList (); //小圓點(diǎn)集合 private int i = 0; private int dot = 0; private Handler handler = new Handler(){ @Override public void handleMessage(Message msg) { super.handleMessage(msg); viewPager.setCurrentItem(i); dots.get(dot).setBackgroundResource(R.drawable.dots_normal); dots.get(i%imgs.size()).setBackgroundResource(R.drawable.dots_focus); dot=i%imgs.size(); } }; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); //異步網(wǎng)絡(luò)請(qǐng)求 new AsyncTask (){ @Override protected String doInBackground(String... params) { String json = netWorkUtils.getJsonHttpConnetion(URLDB.URL_IJ); return json; } @Override protected void onPostExecute(String s) { super.onPostExecute(s); SuperClass superClass = new Gson().fromJson(s, SuperClass.class); data = superClass.getResult().getData(); init();//初始化方法 } }.execute(); } //初始化方法 private void init() { viewPager = (ViewPager) findViewById(R.id.viewPager); layout = (LinearLayout) findViewById(R.id.ll); getImgs();//獲取圖片 getDots();//獲取小圓點(diǎn) //viewPager適配器 viewPager.setAdapter(new PagerAdapter() { @Override public int getCount() { return Integer.MAX_VALUE; } @Override public boolean isViewFromObject(View view, Object object) { return view==object; } @Override public Object instantiateItem(ViewGroup container, int position) { int i = position % imgs.size(); ImageView imageView = imgs.get(i); imageView.setScaleType(ImageView.ScaleType.FIT_XY); container.addView(imageView); return imageView; } @Override public void destroyItem(ViewGroup container, int position, Object object) { container.removeView((View) object); } }); //設(shè)置初始化位置 i = imgs.size()*10; //得到位置 viewPager.setCurrentItem(i); //設(shè)置第一個(gè)圓點(diǎn)為true dots.get(0).setBackgroundResource(R.drawable.dots_focus); //timer自動(dòng)輪播 Timer timer = new Timer(); timer.schedule(new TimerTask() { @Override public void run() { i = viewPager.getCurrentItem() + 1; handler.sendEmptyMessage(i); } },1,2000); } //圖片的方法 private void getImgs() { for(int i = 0;i steps = data.get(i).getSteps(); String url = steps.get(0).getImg(); ImageView img = new ImageView(this); img.setScaleType(ImageView.ScaleType.FIT_XY); ImageLoader.getInstance().displayImage(url,img); imgs.add(img); } } //小圓點(diǎn)的方法 private void getDots() { for(int i=0;i 關(guān)于如何在Android中利用viewpager實(shí)現(xiàn)一個(gè)無(wú)限輪播功能問(wèn)題的解答就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,如果你還有很多疑惑沒(méi)有解開(kāi),可以關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道了解更多相關(guān)知識(shí)。
網(wǎng)站題目:如何在Android中利用viewpager實(shí)現(xiàn)一個(gè)無(wú)限輪播功能
鏈接分享:http://weahome.cn/article/pcphds.html