現(xiàn)在很多商城類的app經(jīng)常會有一小段垂直輪播的公告值朋,網(wǎng)上搜索了一下相關(guān)的內(nèi)容,淘寶的首頁有垂直頭條
Github鏈接:
https://github.com/sfsheng0322/MarqueeView眨八,在此感謝這位大腿。
使用方法也比較簡單:xml里核心代碼:
<comm.marqueeview.MarqueeView
android:id="@+id/marqueeview"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="10dp"
app:mvAnimDuration="500"
app:mvInterval="3000"
app:mvTextColor="#ff0000"
app:mvTextSize="14sp">
</comm.marqueeview.MarqueeView>
根布局添加一句:
xmlns:app="http://schemas.android.com/apk/res-auto"
關(guān)于下面屬性的設(shè)置,可以自定義:
mvAnimDuration 動畫執(zhí)行時間(滾動速度坑鱼,值越小智什,滾動速度越快)
mvInterval 翻頁時間間隔(每隔多長時間滾動下一條)
mvTextSize 文字大小
mvTextColor 文字顏色
在Activity中的使用也很簡單:
package com.example.lenovo.marqueeview;
import android.app.Activity;
import android.os.Bundle;
import android.widget.TextView;
import android.widget.Toast;
import java.util.ArrayList;
import java.util.List;
import comm.marqueeview.MarqueeView;
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
MarqueeView marqueeView = (MarqueeView) findViewById(R.id.marqueeview);
List<String> info = new ArrayList<>();
info.add("公告內(nèi)容1");
info.add("公告內(nèi)容2");
info.add("公告內(nèi)容3");
marqueeView.startWithList(info);
//每一項的點擊事件監(jiān)聽
marqueeView.setOnItemClickListener(new MarqueeView.OnItemClickListener() {
@Override
public void onItemClick(int position, TextView textView) {
//執(zhí)行需求的業(yè)務(wù)邏輯
Toast.makeText(MainActivity.this, "點擊了第"+position+"條公告", Toast.LENGTH_SHORT).show();
}
});
}
}