IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 移动开发 -> Android中文字轮播控件TextBannerView控件的使用 -> 正文阅读

[移动开发]Android中文字轮播控件TextBannerView控件的使用

现在的很多APP特别是类似淘宝京东等这些大型APP都有文字轮播界面,实现循环轮播多个广告词等功能;这种空间俗称“跑马灯”,而TextBannerView已经实现了可垂直跑、可水平跑的跑马灯了。

1.效果图

我这里的需求是在首页进行搜索关键字的轮播,上传不了动图,只能看个静图,如下:
在这里插入图片描述

2.控件属性和方法

1、属性

Attributesdescribe
setInterval文字切换时间间隔,默认3000
setAnimDuration动画持续时间,默认1500
setTextSize设置文字尺寸
setTextColor设置文字颜色,默认黑色
setSingleLine是否为显示单行
setGravity文字显示位置,默认左边居中;可设置left、center、right
setDirection文字轮播方向,默认水平从右到左轮播:right_to_left;还可以设置left_to_right(从左到右轮播)、bottom_to_top(从底部到顶部轮播)、top_to_bottom(从顶部到底部轮播)

2 、方法:

方法名描述
setDatas(List datas)设置数据
startViewAnimator()设置开始文字切换(默认自动)
stopViewAnimator()设置暂停文字切换
setItemOnClickListener(listener)设置点击监听事件回调
setDatasWithDrawableIcon()设置带图标的数据;第一个参数:数据 。第二参数:drawable. 第三参数drawable尺寸。第四参数图标位置(仅支持Gravity.LEFT、Gravity.TOP、Gravity.RIGHT、Gravity.BOTTOM)
3.使用步骤
1. 引入依赖
  //文字轮播控件
    implementation 'com.superluo:textbannerview:1.0.5'
2. 布局中使用TextBannerView
  <com.superluo.textbannerlibrary.TextBannerView
                android:id="@+id/tv_banner"
                android:visibility="gone"
                app:setInterval="1500"
                app:setDirection="top_to_bottom"
                app:setTextColor="@color/theme_defaultText"
                app:setTextSize="@dimen/default_size"
                android:background="@color/white"
                android:layout_width="wrap_content"
                android:layout_height="match_parent"/>
3…在Activity或者Fragment中配置TextBannerView

我这里是在Fragment中设置的

// 1.初始化TextBannerView
TextBannerView tv_banner = (TextBannerView) findViewById(R.id.tv_banner);
 
//2. 设置数据
List<String> promoList= new ArrayList<>();

 //我这里的data 是从后台获取到的
for(int i=0;i<data.length();i++){
    JSONObject item = data.getJSONObject(i);
    promoList.add(item.getString("keyword"));
  }
tv_banner.setDatas(promoList);
 
//调用setDatas(List<String>)方法后,TextBannerView自动开始轮播
//注意:此方法目前只接受List<String>类型

 
 // 2.
Drawable drawable = getResources().getDrawable(R.mipmap.ic_launcher);
/**这里可以设置带图标的数据(1.0.2新方法),比setDatas方法多了带图标参数;
第一个参数:数据 。
第二参数:drawable. 
第三参数:drawable尺寸。
第四参数:图标位置仅支持Gravity.LEFT、Gravity.TOP、Gravity.RIGHT、Gravity.BOTTOM
*/
mTvBanner.setDatasWithDrawableIcon(mList,drawable,18, Gravity.LEFT);
        
 
// 3. 设置TextBannerView点击监听事件,返回点击的data数据, 和position位置
 tv_banner.setItemOnClickListener(new ITextBannerItemClickListener() {
            @Override
            public void onItemClick(String data, int position) {
            //获取点击的数据,然后需要做的事情,根据情况而定,我这里是实现跳转
                intent = new Intent(Classify.this.getContext(), GoodSearch.class);
                intent.putExtra("promoKeyWord",promoList.get(position));
                startActivity(intent);
            }
        });


// 4.为了出现重影,还得在onResume和onStop中设置
 @Override
    public void onResume() {
        super.onResume();
        tv_banner.startViewAnimator(); //1.防止出现重影
    }

    @Override
    public void onStop() {
        super.onStop();
       tv_banner.stopViewAnimator();  //2.防止出现重影
    }
 
  移动开发 最新文章
Vue3装载axios和element-ui
android adb cmd
【xcode】Xcode常用快捷键与技巧
Android开发中的线程池使用
Java 和 Android 的 Base64
Android 测试文字编码格式
微信小程序支付
安卓权限记录
知乎之自动养号
【Android Jetpack】DataStore
上一篇文章      下一篇文章      查看所有文章
加:2021-07-17 12:03:47  更:2021-07-17 12:04:09 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年5日历 -2024/5/16 13:25:17-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码