https://github.com/sunfusheng/MarqueeView
俗名:可垂直跑、可水平跑的跑马灯;
学名:可垂直翻、可水平翻的翻页公告
compile 'com.sunfusheng:MarqueeView:'
Attribute 属性 | Description 描述 |
mvAnimDuration | 一行文字动画执行时间 |
mvInterval | 两行文字翻页时间间隔 |
mvTextSize | 文字大小 |
mvTextColor | 文字颜色 |
mvGravity | 文字位置:left、center、right |
mvSingleLine | 单行设置 |
mvDirection | 动画滚动方向:bottom_to_top、top_to_bottom、right_to_left、left_to_right |
mvFont | 设置字体 |
- <com.sunfusheng.marqueeview.MarqueeView
- android:id="@+id/marqueeView"
- android:layout_width="match_parent"
- android:layout_height="30dp"
- app:mvAnimDuration="1000"
- app:mvDirection="bottom_to_top"
- app:mvInterval="3000"
- app:mvTextColor="@color/white"
- app:mvTextSize="14sp"
- app:mvSingleLine="true"
- app:mvFont="@font/huawenxinwei"/>
- MarqueeView marqueeView = (MarqueeView) findViewById(R.id.marqueeView);
-
- List<String> messages = new ArrayList<>();
- messages.add("1. 大家好,我是孙福生。");
- messages.add("2. 欢迎大家关注我哦!");
- messages.add("3. GitHub帐号:sunfusheng");
- messages.add("4. 新浪微博:孙福生微博");
- messages.add("5. 个人博客:sunfusheng.com");
- messages.add("6. 微信公众号:孙福生");
- marqueeView.startWithList(messages);
-
- // 或者设置自定义的Model数据类型
- public class CustomModel implements IMarqueeItem {
- @Override
- public CharSequence marqueeMessage() {
- return "...";
- }
- }
-
- List<CustomModel> messages = new ArrayList<>();
- marqueeView.startWithList(messages);
-
- // 在代码里设置自己的动画
- marqueeView.startWithList(messages, R.anim.anim_bottom_in, R.anim.anim_top_out);
- String message = "心中有阳光,脚底有力量!心中有阳光,脚底有力量!心中有阳光,脚底有力量!";
- marqueeView.startWithText(message);
-
- // 在代码里设置自己的动画
- marqueeView.startWithText(message, R.anim.anim_bottom_in, R.anim.anim_top_out);
- marqueeView.setOnItemClickListener(new MarqueeView.OnItemClickListener() {
- @Override
- public void onItemClick(int position, TextView textView) {
- Toast.makeText(getApplicationContext(), String.valueOf(marqueeView1.getPosition()) + ". " + textView.getText(), Toast.LENGTH_SHORT).show();
- }
- });
- @Override
- public void onStart() {
- super.onStart();
- marqueeView.startFlipping();
- }
-
- @Override
- public void onStop() {
- super.onStop();
- marqueeView.stopFlipping();
- }
- @Override
- public void onViewDetachedFromWindow(@NonNull ViewHolder holder) {
- super.onViewDetachedFromWindow(holder);
- holder.marqueeView.stopFlipping();
- }