美文网首页
好用的跑马灯library库

好用的跑马灯library库

作者: 红色的玉 | 来源:发表于2017-09-22 13:35 被阅读0次

1,一个好用的跑马灯library库:

     开发当中好用的开源库能帮程序员省很多时间,省得自己造轮子,所以有好用的库要赶紧积累起来哦。

     该库源码GitHub地址:https://github.com/gongwen/MarqueeViewLibrary

2,效果图

3,使用

Module的gradle:

compile'com.gongwen:marqueelibrary:1.1.1

简单使用:

xml:

android:id="@+id/simple_marquee_view"

android:layout_width="match_parent"

android:layout_height="@dimen/dimen_50dp"

android:background="@color/colorTextBg"

android:flipInterval="2500"

android:paddingLeft="@dimen/dimen_10dp"

app:smvTextColor="@color/colorBlack"

app:smvTextGravity="center_vertical"

app:smvTextSize="@dimen/text_size_15sp"

android:inAnimation="@anim/in_top"

android:outAnimation="@anim/out_bottom"

app:marqueeAnimDuration="2000"/>

逻辑:

SimpleMarqueeView mSimpleMarqueeView = (SimpleMarqueeView) findViewById(R.id.simple_marquee_view);

finalList datas =Arrays.asList(getString(R.string.text_one),getString(R.string.text_two),getString(R.string.text_three),getString(R.string.text_four));

SimpleMF marqueeFactory =newSimpleMF(this);

marqueeFactory.setData(datas);

mSimpleMarqueeView.setMarqueeFactory(marqueeFactory);

mSimpleMarqueeView.startFlipping();

点击事件监听:

marqueeFactory.setOnItemClickListener(newMarqueeFactory.OnItemClickListener() {

@Override

public voidonItemClickListener(MarqueeFactory.ViewHolder holder) {

Toast.makeText(MainActivity.this, holder.data, Toast.LENGTH_SHORT).show();

}

});

通过属性inAnimation和outAnimation设置不同的移入移出效果,如效果图所示。

另外,还可以自定义MarqueeFactory来设置不同类型ItemView

xml:

android:id="@+id/marquee_view_4"

android:layout_width="match_parent"

android:layout_height="@dimen/dimen_50dp"

android:background="@color/colorTextBg"

android:flipInterval="2500"

android:paddingLeft="10dp"

app:smvTextColor="@color/colorBlack"

app:smvTextGravity="center_vertical"

app:smvTextSize="@dimen/text_size_15sp"

app:marqueeAnimDuration="2000"/>

自定义MarqueeFactory:

public classComplexViewMFextendsMarqueeFactory {

privateLayoutInflaterinflater;

publicComplexViewMF(Context mContext) {

super(mContext);

inflater= LayoutInflater.from(mContext);

}

@Override

protectedRelativeLayout generateMarqueeItemView(ItemBean data) {

RelativeLayout view = (RelativeLayout)inflater.inflate(R.layout.item,null);

((TextView) view.findViewById(R.id.tv_title)).setText(data.getTitle());

((TextView) view.findViewById(R.id.tv_second_title)).setText(data.getSecondTitle());

((TextView) view.findViewById(R.id.tv_time)).setText(data.getTime());

return view;

}

}

即可实现列表滚动效果,如效果图所示。

相关文章

网友评论

      本文标题:好用的跑马灯library库

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