Android随机布局控件RandomLayout

作者: wkp111 | 来源:发表于2018-01-23 14:54 被阅读223次

    Android开发中,先前有很多新闻类应用都用到了随机布局的控件,主要就是推荐一些热门标题,然后再加上切换动画,视觉效果还是不错的。今天,我们就来学习一个随机布局控件库RandomLayout,库中主要包括控件RandomLayout及其封装控件FlyLayout,下面,我们一起了解一下吧。

    效果演示图

    RandomLayout.gif

    Android Studio集成方式

    dependencies{
          compile 'com.wkp:RandomLayout:1.0.3'
          //Android Studio3.0+可用以下方式
          //implementation 'com.wkp:RandomLayout:1.0.3'
    }
    

    Note:使用版本请以Github为准。

    使用详解

    • 1.RandomLayout使用简介
    API介绍
    1.setData 设置控件显示数据
    2.setAnimationDuration 设置控件动画时长
    3.setDetectorVelocity 设置屏幕滑动临界速度
    4.setDefaultSize 设置数据显示文本大小
    5.setTvPadding 设置数据文本内边距
    6.setTvMargin 设置数据文本外边距
    7.startAnimation 开启控件动画
    8.setOnItemClickListener 设置条目点击监听
    9.setOnAnimationEndListener 设置动画结束监听
    
    
    简单示例
    RandomLayout randomLayout = new RandomLayout(mContext);
    randomLayout.setData((ArrayList<String>) param);
    randomLayout.setOnItemClickListener(this);
    randomLayout.setOnAnimationEndListener(this);
    randomLayout.startAnimation();
    
    • 2.FlyLayout使用简介
    API介绍
    1.setData 设置数据
    2.startAnimation 开启动画
    3.setOnFlyEverythingListener 设置监听
    
    
    代码示例
    public class MainActivity extends AppCompatActivity {
        String[] tag1 = new String[]{
                "博鳌亚洲论坛", "哈佛商业评论", "财经国家周刊", "每日经济新闻", "中国企业家", "路透中文网", "国际金融报",
                "中国证券网", "中国经营报", "经济观察报", "中国经济网",
                "印度去年四季度GDP增7.3% 领跑全", "大年初一全国电影总票房6.6亿元刷新纪", "都说爱钱如命 你知道人民币上的姑娘是谁",
                "中国最美女富豪身价过百亿 马云曾千里寻", "100万在世界各国能买什么房 最后一张", "一个捡破烂的!他三年竟然赚了270万"};
        String[] tag2 = new String[]{   "FT中文网", "财经网", "创业家", "福布斯", "美通社", "21世纪经济报道", "华尔街见闻", "中国黄金交易网",
                "CCTV证券资讯网", "中国发展研究基金会", "证券日报", "中国民族证券", "新财富杂志", "环球企业家", "中国证券报",
                "证券时报网", "易三板", "中国金融网", "易三板", "未央网", "商学院", "欧美股市大跌 金价创八个月来新高",
                "证券市场周刊", "财新网", "华夏时报", "第一财经",
                "中国货币政策拐点或已到来", "春运最拥挤火车站公布 北京西站未进前十", "日本拟建1700米高“天空之城” 超越"};
    
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
            FlyLayout flyLayout = (FlyLayout) findViewById(R.id.rl);
            flyLayout.setData(tag1,tag2);
            flyLayout.setOnFlyEverythingListener(new FlyLayout.OnFlyEverythingListener() {
                @Override
                public void onItemClick(View view, int position, String text) {
                    Toast.makeText(MainActivity.this, text, Toast.LENGTH_SHORT).show();
                }
    
                @Override
                public void onAnimationEnd(RandomLayout randomLayout, int animationCount) {
                    Log.d("test", "randomLayout:" + randomLayout);
                }
            });
        }
    }
    

    结语

    控件支持直接代码创建,还有更多API请观看RandomLayout.javaFlyLayout.java内的注释说明。
    欢迎大家使用Github地址,感觉好用请给个Star鼓励一下,谢谢!
    大家如果有更好的意见或建议以及好的灵感,请邮箱作者,谢谢!
    QQ邮箱:1535514884@qq.com
    163邮箱:15889686524@163.com
    Gmail邮箱:wkp15889686524@gmail.com

    相关文章

      网友评论

        本文标题:Android随机布局控件RandomLayout

        本文链接:https://www.haomeiwen.com/subject/ndysaxtx.html