• Stars
    star
    246
  • Rank 164,726 (Top 4 %)
  • Language
    Java
  • License
    Apache License 2.0
  • Created about 7 years ago
  • Updated about 5 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

💥【MarqueeView】类似淘宝头条、京东头条的跑马灯效果,上下轮播,支持单行/多行显示、自定义轮播布局

API License

XMarqueeView

类似淘宝头条、京东头条的跑马灯效果,上下轮播,支持单行/双行显示

主要功能:

  • 支持自定义轮播布局
  • 支持自定义轮播效果
  • 支持单/多行轮播显示,随意定制显示条目

效果图

1

基本使用

1.添加Gradle依赖

Add it in your root build.gradle at the end of repositories:

allprojects {
		repositories {
			...
			maven { url 'https://jitpack.io' }
		}
	}

Step 2. Add the dependency

	dependencies {
	        implementation 'com.github.xiaohaibin:XMarqueeView:latestVersion'//将latestVersion替换成上面 jitpack 后面的版本号
	}

2.在布局文件中添加

   <com.stx.xmarqueeview.XMarqueeView
            android:id="@+id/upview2"
            android:layout_width="0dp"
            app:isSingleLine="true"
            app:isSetAnimDuration="true"
            app:marquee_count="3"
            android:layout_height="match_parent"
            android:layout_weight="1" />

3.创建MarqueeView适配器


public class MarqueeViewAdapter extends XMarqueeViewAdapter<String> {

    private Context mContext;
    public MarqueeViewAdapter(List<String> datas, Context context) {
        super(datas);
        mContext = context;
    }

    @Override
    public View onCreateView(XMarqueeView parent) {
        //跑马灯单个显示条目布局,自定义
        return LayoutInflater.from(parent.getContext()).inflate(R.layout.marqueeview_item, null);
    }

    @Override
    public void onBindView(View parent, View view, final int position) {
        //布局内容填充
        TextView tvOne = (TextView) view.findViewById(R.id.marquee_tv_one);
        tvOne.setText(mDatas.get(position));
        view.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                Toast.makeText(mContext, "position" + position, Toast.LENGTH_SHORT).show();
            }
        });
    }
}

4.数据设置

        List<String> data = new ArrayList<>();
        data.add("神奇宝贝(精灵宝可梦)有哪些著名的梗?");
        data.add("我翻开自我保护的书,上面只写了两个大字:证据");
        data.add("接纳自己,是无条件地爱,包括爱所有的痛苦");
        data.add("3 岁前,世界对待孩子的一切,都会给他们留下深刻的第一印象");
        data.add("担心今天没锻炼,现在站起来,做一组完美深蹲");

        XMarqueeView xMarqueeView = (XMarqueeView) findViewById(R.id.marquee3);
        xMarqueeView.setAdapter(new MarqueeViewAdapter(data, this));
        //刷新数据
        //marqueeViewAdapter.setData(data);

5.重影问题可参考以下解决方案

@Override
public void onStart() {
    super.onStart(); 
    marqueeView.startFlipping();
}

@Override
public void onStop() {
    super.onStop();
    marqueeView.stopFlipping();
}

自定义属性说明

属性名 属性说明 属性值
isSetAnimDuration 是否设置动画时间间隔 boolean,默认为false
isSingleLine 是否单行显示 boolean ,默认true 单行显示
marquee_interval 轮播间隔 ,轮播间隔 int类型,默认3000ms
marquee_animDuration 轮播动画执行时间 int类型,默认为1000ms
marquee_textSize 轮播字体大小 dimension,默认为14sp
marquee_textColor 轮播字体颜色 color,默认为 #888888
marquee_count 轮播显示条目数量 int类型,默认为 1,单行显示

关于我

如果觉得文章帮到你,喜欢我的文章可以关注我和朋友一起运营的微信公众号,将会定期推送优质技术文章,求关注~~~

欢迎关注“大话安卓”微信公众号

欢迎加入“大话安卓”技术交流群,一起分享,共同进步

欢迎加入“大话安卓”技术交流群,互相学习提升

License

Copyright (C) 2016 [email protected]

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.

如果喜欢,还请statr&Fork&follow进行支持,谢谢!

More Repositories

1

XBanner

🔥【图片轮播】支持图片无限轮播,支持AndroidX、自定义指示点、显示提示文字、切换动画、自定义布局,一屏多显、视频图片混合轮播等功能
Java
2,131
star
2

OpenEyes

🔥 仿【开眼视频】客户端,一款精美的短视频应用
Java
674
star
3

DMGameApp

⭐【游戏资讯】一款游戏资讯应用
Java
304
star
4

VitamioDemo

⭐【Vitamio】视频播放器demo,自定义控制器界面(停止维护)
Java
258
star
5

PageMenuLayout

😉【Android分页菜单控件】快速实现美团、饿了么、京东、淘宝首页分页菜单效果
Java
257
star
6

CustomWaterView

⭐ 仿支付宝蚂蚁森林效果
Java
131
star
7

CustomTitleBar

💥【通用标题栏】通用Android标题栏控件 A Common Titlebar For Android
Java
106
star
8

KotlinEnjoyLife

😉【乐享】Kotlin 版本 每天一张精选妹纸图、一个精选短视频,知乎美文的精美应用
Kotlin
74
star
9

Maillineview

💥【信封分割线】类似京东收件地址信封分割线
Java
68
star
10

AndroidFAQSolutions

Android开发各类常见错误解决方案(不断更新中)
54
star
11

EnjoyLife

😉【乐享】每天一张精选妹纸图、一个精选短视频,知乎美文的精美应用
Java
19
star
12

AFrame

Android 快速开发框架
Java
12
star
13

TakeImageDialog

简易图片选择对话框(适配7.0以上设备)
Java
6
star
14

ARouterDemo

Android 模块化ARouter Demo
Java
3
star
15

PythonFaceRecognition

基于Face_Recognition的人脸识别
Python
2
star
16

flutter_enjoylife

乐享 flutter版
Dart
2
star