使用SliderLayout实现banner图片切换

要想使用SliderLayout实现实现banner图片切换须要在app目录下的build.gradle文件中配置
dependencies {
     compile "com.android.support:support-v4:+"  compile 'com.squareup.picasso:picasso:2.3.2'  compile 'com.nineoldandroids:library:2.4.0'  compile 'com.daimajia.slider:library:1.1.5@aar' }
 
而后再main_activity布局文件中
 
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
    xmlns:android="http://schemas.android.com/apk/res/android"  xmlns:tools="http://schemas.android.com/tools"  android:orientation="vertical"  android:layout_width="match_parent"  android:layout_height="match_parent"  tools:context="com.mh.daimajiademo.MainActivity">

    <com.daimajia.slider.library.SliderLayout
        android:id="@+id/slider"  android:layout_width="match_parent"  android:layout_height="200dp"  />
   <!-- <com.daimajia.slider.library.Indicators.PagerIndicator
        android:id="@+id/custom_indicator"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:gravity="center"-->
        />
</LinearLayout>

Activity中Activity须要实现
BaseSliderView.OnSliderClickListener,ViewPagerEx.OnPageChangeListener,请看下方代码
 
package com.mh.daimajiademo;

import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.util.Log;
import android.widget.Toast;

import com.daimajia.slider.library.Animations.DescriptionAnimation;
import com.daimajia.slider.library.SliderLayout;
import com.daimajia.slider.library.SliderTypes.BaseSliderView;
import com.daimajia.slider.library.SliderTypes.TextSliderView;
import com.daimajia.slider.library.Tricks.ViewPagerEx;

import java.util.HashMap;


public class MainActivity extends AppCompatActivity implements BaseSliderView.OnSliderClickListener,ViewPagerEx.OnPageChangeListener{
    private SliderLayout mDemoSlider;
    @Override  protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        mDemoSlider = (SliderLayout) findViewById(R.id.slider);

        HashMap<String,Integer> file_maps = new HashMap<String, Integer>();
        file_maps.put("Hannibal",R.drawable.hannibal);
        file_maps.put("Big Bang Theory",R.drawable.bigbang);
        file_maps.put("House of Cards",R.drawable.house);
        file_maps.put("Game of Thrones", R.drawable.game_of_thrones);

        for(String name : file_maps.keySet()){
            TextSliderView textSliderView = new TextSliderView(this);
            // initialize a SliderLayout
            textSliderView
                    .description(name)
                    .image(file_maps.get(name))
                    .setScaleType(BaseSliderView.ScaleType.Fit)
                    .setOnSliderClickListener(this);

            //add your extra information
            textSliderView.bundle(new Bundle());
            textSliderView.getBundle()
                    .putString("extra",name);

            mDemoSlider.addSlider(textSliderView);
        }
//这里能够设置图片轮播的样式 具体有哪些样式能够去github官网看
//https://github.com/daimajia/AndroidImageSlider
        mDemoSlider.setPresetTransformer(SliderLayout.Transformer.Default);
//        mDemoSlider.setPresetTransformer(SliderLayout.Transformer.Accordion);
        mDemoSlider.setPresetIndicator(SliderLayout.PresetIndicators.Center_Bottom);
        mDemoSlider.setCustomAnimation(new DescriptionAnimation());
        mDemoSlider.setDuration(4000);
        mDemoSlider.addOnPageChangeListener(this);

    }

    @Override  protected void onStop() {
        mDemoSlider.stopAutoCycle();
        super.onStop();
    }


    @Override  public void onSliderClick(BaseSliderView slider) {
        Toast.makeText(this,slider.getBundle().get("extra") + "",Toast.LENGTH_SHORT).show();
    }

    @Override  public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) {

    }

    @Override  public void onPageSelected(int position) {
        Log.d("Slider Demo", "Page Changed: " + position);
    }

    @Override  public void onPageScrollStateChanged(int state) {

    }
}

就这样一个图片切换就实现了,连adapter都不须要  十分方便