android圖片輪播效果,RollViewPager的簡單使用

來源:互聯網
上載者:User

標籤:

圖片輪播算是我們用的比較多的一個功能,我之前也寫過類似的文章(http://blog.csdn.net/double2hao/article/details/48896297),但是說實話自己寫並不是特別方便,而且往往bug會比較多。而在github上有一些大神專門寫了viewpager的輪播架構並且開源,供大家學習參考,這篇部落格就教大家如何簡單地使用開源架構RollViewPager。


對RollViewPager有興趣,或者希望更深入學習的可以直接去github下載源碼學習:https://github.com/Jude95/RollViewPager


效果:(源碼在文章結尾)



主要支援的一些功能:

支援無限迴圈。 觸摸時會暫停播放,直到結束觸摸一個延遲周期以後繼續播放。 看起來就像這樣。指標可以為點可以為數字還可以自訂,位置也可以變。


主要操作過程:

1、設定播放時間間隔、透明度、指標(指標可以是預設原點,數字,也可以自訂圖片)

2、設定適配器,本demo中是StaticPagerAdapter,這個比較簡單,用的比較多,有其他需要的可以看github源碼。

主要需要設定圖片、圖片數量等等。



MainActivity:

package com.example.double2.rollviewpagertest;import android.graphics.Color;import android.os.Bundle;import android.support.v7.app.AppCompatActivity;import android.view.Menu;import android.view.MenuItem;import android.view.View;import android.view.ViewGroup;import android.widget.ImageView;import com.jude.rollviewpager.RollPagerView;import com.jude.rollviewpager.adapter.StaticPagerAdapter;import com.jude.rollviewpager.hintview.ColorPointHintView;public class MainActivity extends AppCompatActivity {    private RollPagerView mRollViewPager;    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);        mRollViewPager = (RollPagerView) findViewById(R.id.roll_view_pager);        //設定播放時間間隔        mRollViewPager.setPlayDelay(1000);        //設定透明度        mRollViewPager.setAnimationDurtion(500);        //設定適配器        mRollViewPager.setAdapter(new TestNormalAdapter());        //設定指標(順序依次)        //自訂指標圖片        //設定圓點指標顏色        //設定文字指標        //隱藏指標        //mRollViewPager.setHintView(new IconHintView(this, R.drawable.point_focus, R.drawable.point_normal));        mRollViewPager.setHintView(new ColorPointHintView(this, Color.YELLOW,Color.WHITE));        //mRollViewPager.setHintView(new TextHintView(this));        //mRollViewPager.setHintView(null);    }    private class TestNormalAdapter extends StaticPagerAdapter {        private int[] imgs = {                R.drawable.img1,                R.drawable.img2,                R.drawable.img3,                R.drawable.img4,        };        @Override        public View getView(ViewGroup container, int position) {            ImageView view = new ImageView(container.getContext());            view.setImageResource(imgs[position]);            view.setScaleType(ImageView.ScaleType.CENTER_CROP);            view.setLayoutParams(new ViewGroup.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.MATCH_PARENT));            return view;        }        @Override        public int getCount() {            return imgs.length;        }    }}


activity_main:
<?xml version="1.0" encoding="utf-8"?><RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"                xmlns:app="http://schemas.android.com/apk/res-auto"                xmlns:tools="http://schemas.android.com/tools"                android:layout_width="match_parent"                android:layout_height="match_parent"                tools:context=".MainActivity">    <com.jude.rollviewpager.RollPagerView        android:id="@+id/roll_view_pager"        android:layout_width="match_parent"        android:layout_height="180dp"        app:rollviewpager_play_delay="3000"/></RelativeLayout>


源碼:http://download.csdn.net/detail/double2hao/9511532

android圖片輪播效果,RollViewPager的簡單使用

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.