酷炫轮播广告

上面是程序截图

这里主要实现一个android图片轮播的功能。 该功能借助github的AndroidImageSlider来实现。 是一个使用简单,功能强大,有美感的东东,值得学习!

初始配置

引入所需文件

build.gradle文件里面加入以下配置,让后点击Sync_Now,需联网。

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'
}

加入权限

<uses-permission android:name="android.permission.INTERNET" />


<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />

开始使用

MainActivity.java代码如下

package com.example.whoami.androidimagesliderdemo;

import android.support.annotation.NonNull;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;

import com.daimajia.slider.library.Animations.DescriptionAnimation;
import com.daimajia.slider.library.Indicators.PagerIndicator;
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;

public class MainActivity extends AppCompatActivity {

    SliderLayout sliderShow;
    PagerIndicator custom_indicator;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        sliderShow = (SliderLayout) findViewById(R.id.slider);
        custom_indicator = (PagerIndicator) findViewById(R.id.custom_indicator);
        getTextSliderViews();

    }

    @NonNull
    private void getTextSliderViews() {
        TextSliderView textSliderView = new TextSliderView(this);
        for (int i=0;i<=3 ;i++) {
            textSliderView
                    .description("this is "+i+" image")
                    .image("http://images.boomsbeat.com/data/images/full/19640/game-of-thrones-season-4-jpg.jpg")
                    .setOnSliderClickListener(new BaseSliderView.OnSliderClickListener() {
                        @Override
                        public void onSliderClick(BaseSliderView slider) {
                            //点击事件的监听方法
                        }
                    });
            sliderShow.addSlider(textSliderView);
        }
    //设置转场动画
    //下面代码是设置图片中的小员点的位置,下面的效果就是设置小员点的位置为左上角,如果想简单一些也可以 直接使用下面代码,然后把布局文件里面的。
    //com.daimajia.slider.library.Indicators.PagerIndicat去掉,把本文件里关于com.daimajia.slider.library.Indicators.PagerIndicat的配置去掉
    //sliderShow.setPresetIndicator(SliderLayout.PresetIndicators.Left_Top);

    //我们也可以使用自定义小员点,方法就是在布局中添加com.daimajia.slider.library.Indicators.PagerIndicat

    sliderShow.setPresetTransformer(SliderLayout.Transformer.CubeIn);//转场动画风格
    sliderShow.setCustomIndicator(custom_indicator);//添加自定义样式的小员点
    sliderShow.setCustomAnimation(new DescriptionAnimation());
    sliderShow.setDuration(300);//转场动画的时间

        //设置滚动监听方法
        sliderShow.addOnPageChangeListener(new ViewPagerEx.OnPageChangeListener() {
            @Override
            public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) {

            }

            @Override
            public void onPageSelected(int position) {

            }

            @Override
            public void onPageScrollStateChanged(int state) {

            }
        });
        //设置点击(事件)监听方法


    }

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

MainActivity布局代码如下

<?xml version="1.0" encoding="utf-8"?>

    <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:layout_gravity="center"
        android:id="@+id/custom_indicator"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:gravity="center"
        custom:selected_color="#FF5500"
        custom:unselected_color="#55333333"
        custom:shape="rect"
        custom:selected_padding_left="2dp"
        custom:selected_padding_right="2dp"
        custom:unselected_padding_left="2dp"
        custom:unselected_padding_right="2dp"
        custom:selected_width="16dp"
        custom:selected_height="3dp"
        custom:unselected_width="16dp"
        custom:unselected_height="3dp"
        />


</LinearLayout>

源代码百度云下载地址

地址一 (http://pan.baidu.com/s/1dFBIsCx)地址二(http://pan.baidu.com/s/1hrFzIHe),提取码:qe1g


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值