• AndroidImageSlider(图片轮播控件)


    1,引入

    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'
    }
    <!-- if you want to load images from the internet -->
    <uses-permission android:name="android.permission.INTERNET" /> 
    
    <!-- if you want to load images from a file OR from the internet -->
    <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />

    Step3: 
    Add the Slider to your layout:

    xmlns:custom="http://schemas.android.com/apk/res-auto"
    <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"
            />

    关键参数设置: 
    custom:pager_animation=”Accordion” 切换动画效果 
    custom:auto_cycle=”true” 自动播放 
    custom:indicator_visibility=”visible” 显示指示器

    <com.daimajia.slider.library.SliderLayout
        android:id="@+id/slider1"
        android:layout_width="match_parent"
        custom:pager_animation="Accordion" 
        custom:auto_cycle="true"
        custom:indicator_visibility="visible"
        custom:pager_animation_span="1100"
        android:layout_height="200dp"/>

    自定义指示器: 
    custom:shape=”oval” 或 rect 圆形,矩形

    <com.daimajia.slider.library.Indicators.PagerIndicator
            android:id="@+id/custom_indicator"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:gravity="center"
            custom:selected_color="#0095BF"
            custom:unselected_color="#55333333"
            custom:selected_drawable="@drawable/bird"
            custom:shape="oval"
            custom:selected_padding_left="5dp"
            custom:selected_padding_right="5dp"
            custom:unselected_padding_left="5dp"
            custom:unselected_padding_right="5dp"
            android:layout_centerHorizontal="true"
            android:layout_alignParentBottom="true"
            custom:selected_width="6dp"
            custom:selected_height="6dp"
            custom:unselected_width="6dp"
            custom:unselected_height="6dp"
            android:layout_marginBottom="40dp"
            />
            <!-- style 在lib里面 -->
        <com.daimajia.slider.library.Indicators.PagerIndicator
            android:id="@+id/custom_indicator2"
            style="@style/AndroidImageSlider_Corner_Oval_Orange"
            android:layout_centerHorizontal="true"
            android:layout_alignParentBottom="true"
            android:layout_marginBottom="20dp"
            />

    可用 style设置基本参数 
    默认提供三种 
    AndroidImageSlider_Corner_Oval_Orange,AndroidImageSlider_Attractive_Rect_Blue,AndroidImageSlider_Magnifier_Oval_Black

    用代码设置:

    private SliderLayout mDemoSlider1;
    
    mDemoSlider1 = (SliderLayout)findViewById(R.id.slider1);
    
    HashMap<String,String> url_maps = new HashMap<String, String>();
            url_maps.put("Hannibal", "http://static2.hypable.com/wp-content/uploads/2013/12/hannibal-season-2-release-date.jpg");
            url_maps.put("Big Bang Theory", "http://tvfiles.alphacoders.com/100/hdclearart-10.png");
            url_maps.put("House of Cards", "http://cdn3.nflximg.net/images/3093/2043093.jpg");
            url_maps.put("Game of Thrones", "http://images.boomsbeat.com/data/images/full/19640/game-of-thrones-season-4-jpg.jpg");
    //        HashMap<String,Integer> file_maps = new HashMap<String, Integer>();
    //        file_maps.put("Hannibal",R.drawable.nemo);
    //        file_maps.put("Big Bang Theory",R.drawable.up);
    //        file_maps.put("House of Cards",R.drawable.wall);
    //        file_maps.put("Game of Thrones", R.drawable.toystory);
            for(String name : url_maps.keySet()){
                // DefaultSliderView sliderView = new DefaultSliderView(this);
                TextSliderView textSliderView = new TextSliderView(this);
                // initialize a SliderLayout
                textSliderView
                        .description(name)
                        .image(url_maps.get(name))
                        .setScaleType(BaseSliderView.ScaleType.Fit)
                        .setOnSliderClickListener(this);
    
                //add your extra information 点击图片时可用到
                textSliderView.bundle(new Bundle());
                textSliderView.getBundle()
                        .putString("extra",name);
    
                mDemoSlider1.addSlider(textSliderView);
            }
           // 设置默认过渡效果(可在xml中设置)
               //mDemoSlider.setPresetTransformer(SliderLayout.Transformer.Default);
          mDemoSlider1.setPresetTransformer(SliderLayout.Transformer.Accordion);
            // 设置默认指示器位置(默认指示器白色,位置在sliderlayout底部)
            mDemoSlider1.setPresetIndicator(SliderLayout.PresetIndicators.Center_Bottom);
            // 设置自定义指示器(位置自定义)
            mDemoSlider1.setCustomIndicator((PagerIndicator) findViewById(R.id.custom_indicator));
            // 设置TextView自定义动画
            mDemoSlider1.setCustomAnimation(new DescriptionAnimation());
            //mDemoSlider2.setCustomAnimation(new ChildAnimationExample()); // 多种效果,进入该类修改,参考效果github/daimajia/AndroidViewAnimations
            // 设置持续时间
            mDemoSlider1.setDuration(2000);
            mDemoSlider1.addOnPageChangeListener(this);
  • 相关阅读:
    常见自动化场景处理
    等待设置的三种方法
    selenium-浏览器操作
    一个 tomcat 下如何部署多个项目?附详细步骤
    Python篇:测试小白也能懂的常用加密算法解析
    如何高效开展测试用例评审?附用例评审检查清单及用例评审报告模板
    手机大厂必备测试技能-GMS 认证
    Python自动化 让接口数据秒变 python 代码
    Python自动化 谈谈 cookies
    Python自动化 作为代码小白,我是这样成为自动化大神的!
  • 原文地址:https://www.cnblogs.com/java-g/p/5690703.html
Copyright © 2020-2023  润新知