好用的跑馬燈library庫

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;

}

}

即可實現列表滾動效果,如效果圖所示。

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容