码迷,mamicode.com
首页 > 移动开发 > 详细

Android-ConvenientBanner轻松实现广告头效果

时间:2015-09-07 16:56:23      阅读:371      评论:0      收藏:0      [点我收藏+]

标签:

Android-ConvenientBanner通用的广告栏控件,让你轻松实现广告头效果。支持无限循环,可以设置自动翻页和时间(而且非常智能,手指触碰则暂停翻页,离开自动开始翻页。你也可以设置在界面onPause的时候不进行自动翻页,onResume之后继续自动翻页),
并且提供多种翻页特效。 对比其他广告栏控件,大多都需要对源码进行改动才能加载网络图片,或者帮你集成不是你所需要的图片缓存库。而这个库能让有代码洁癖的你欢喜,不需要对库源码进行修改你就可以使用任何你喜欢的网络图片库进行配合。自定义你Holder,实现更多复杂的界面,不一定是图片翻页,其他任何控件翻页亦可。

运行效果:

 

  • 技术分享

 

完整源码下载地址:http://www.itlanbao.com/code/20150907/10000/100508.html

 

       //各种翻页效果

        transformerList.add(Transformer.DefaultTransformer.getClassName());

        transformerList.add(Transformer.AccordionTransformer.getClassName());

        transformerList.add(Transformer.BackgroundToForegroundTransformer.getClassName());

        transformerList.add(Transformer.CubeInTransformer.getClassName());

        transformerList.add(Transformer.CubeOutTransformer.getClassName());

        transformerList.add(Transformer.DepthPageTransformer.getClassName());

        transformerList.add(Transformer.FlipHorizontalTransformer.getClassName());

        transformerList.add(Transformer.FlipVerticalTransformer.getClassName());

        transformerList.add(Transformer.ForegroundToBackgroundTransformer.getClassName());

        transformerList.add(Transformer.RotateDownTransformer.getClassName());

        transformerList.add(Transformer.RotateUpTransformer.getClassName());

        transformerList.add(Transformer.StackTransformer.getClassName());

        transformerList.add(Transformer.ZoomInTransformer.getClassName());

        transformerList.add(Transformer.ZoomOutTranformer.getClassName());

 

        transformerArrayAdapter.notifyDataSetChanged();

    }

 

    /**

     * 通过文件名获取资源id 例子:getResId("icon", R.drawable.class);

     *

     * @param variableName

     * @param c

     * @return

     */

    public static int getResId(String variableName, Class<?> c) {

        try {

            Field idField = c.getDeclaredField(variableName);

            return idField.getInt(idField);

        } catch (Exception e) {

            e.printStackTrace();

            return -1;

        }

    }

 

    // 开始自动翻页

    @Override

    protected void onResume() {

        super.onResume();

        //开始自动翻页

        convenientBanner.startTurning(5000);

    }

 

     // 停止自动翻页

    @Override

    protected void onPause() {

        super.onPause();

        //停止翻页

        convenientBanner.stopTurning();

    }

 

    //点击切换效果

    @Override

    public void onItemClick(AdapterView<?> adapterView, View view, int position, long id) {

        String name = transformerList.get(position);

        Transformer transformer = Transformer.valueOf(name);

        convenientBanner.setPageTransformer(transformer);

    }

 

}

Android-ConvenientBanner轻松实现广告头效果

标签:

原文地址:http://my.oschina.net/u/2449503/blog/502367

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!