Android中TextView实现垂直滚动和上下滚动效果
发布时间 - 2026-01-11 00:43:39 点击率:次
布局里面就是两个自定义的TextView,上面的左右滑动的是AutoHorizontalScrollTextView;
下面上下滚动的是AutoVerticalScrollTextView;
上面左右滑动的非常好实现,直接把AutoHorizontalScrollTextView复制到项目中,复制全类名到布局文件中,和系统TextView一样,只需设置文本其他什么都不用设置;
下面垂直滚动的AutoVerticalScrollTextView相比AutoHorizontalScrollTextView稍微麻烦一点;但是也非常简单;
如果在项目中使用的话直接把AutoVerticalScrollTextView复制到项目中;
有些属性在布局文件中没有办法设置,需要在makeView()方法中设置:现在这个字体是白色的,如果不需要去掉
//这里返回的TextView,就是我们看到的View,可以设置自己想要的效果
public View makeView() {
TextView textView = new TextView(mContext);
textView.setGravity(Gravity.LEFT);
textView.setTextSize(20);
textView.setSingleLine(true);
textView.setGravity(Gravity.CENTER_VERTICAL);
textView.setEllipsize(TextUtils.TruncateAt.END);
textView.setTextColor(Color.WHITE);
return textView;
}
接下来看下布局文件:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical"> <!--左右滚动的textview--> <www.autotextview.com.autotextview.View.AutoHorizontalScrollTextView android:textSize="20sp" android:background="#000000" android:textColor="#ffffff" android:id="@+id/textview" android:layout_width="match_parent" android:layout_height="wrap_content" android:singleLine="true" /> <!--上下滚动的TextView--> <www.autotextview.com.autotextview.View.AutoVerticalScrollTextView android:id="@+id/textview_auto_roll" android:layout_width="match_parent" android:layout_height="wrap_content" android:background="#000000" android:padding="5dp" /> </LinearLayout>
布局文件就非常简单了,接下来说下两个View具体怎么使用:
左右滚动的TextView,直接设置一个TextView即可;
horizontalScrollTV = (AutoHorizontalScrollTextView) findViewById(R.id.textview); horizontalScrollTV.setText(titleStr);
而垂直滚动的TextView需要的是一个数组,当执行next()方法的时候会执行动画切换下一个数据;
在项目中我直接定义了一个计时器,每隔2秒发送一个消息,然后执行AutoVerTicalScrollTextView.next();
private String[] strings={"我的剑,就是你的剑!","俺也是从石头里蹦出来得!","我用双手成就你的梦想!","人在塔在!","犯我德邦者,虽远必诛!","我会让你看看什么叫残忍!","我的大刀早已饥渴难耐了!"};
verticalScrollTV = (AutoVerticalScrollTextView) findViewById(R.id.textview_auto_roll);
verticalScrollTV.setText(strings[0]);
new Thread(){
@Override
public void run() {
while (isRunning){
SystemClock.sleep(3000);
handler.sendEmptyMessage(199);
}
}
}.start();
private Handler handler = new Handler() {
public void handleMessage(Message msg) {
if (msg.what == 199) {
verticalScrollTV.next();
number++;
verticalScrollTV.setText(strings[number%strings.length]);
}
}
};
点击事件是后期加上去的,在MainActivity的initView()方法中添加以下代码:
verticalScrollTV.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Toast.makeText(MainActivity.this,strings[number%strings.length],Toast.LENGTH_SHORT).show();
}
});
以上所述是小编给大家介绍的Android中TextView实现垂直滚动效和上下滚动效果,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对网站的支持!
# android
# textview垂直滚动
# textview上下滚动
# Android中TextView实现分段显示不同颜色的字符串
# Android中TextView显示圆圈背景或设置圆角的方法
# Android TextView实现多文本折叠、展开效果
# Android textview 实现长按自由选择复制功能的方法
# Android中使用TextView实现文字跑马灯效果
# Android实现可收缩和扩展的TextView
# 浅析Android TextView常用属性
# 的是
# 小编
# 让你
# 我会
# 在此
# 不需要
# 只需
# 计时器
# 是从
# 我用
# 给大家
# 自定义
# 非常好
# 没有办法
# 什么叫
# 每隔
# 所述
# 给我留言
# 感谢大家
# 蹦出
相关栏目:
【
网站优化151355 】
【
网络推广146373 】
【
网络技术251813 】
【
AI营销90571 】
相关推荐:
如何在云主机上快速搭建多站点网站?
如何为不同团队 ID 动态生成多个非值班状态按钮
Laravel怎么写单元测试_PHPUnit在Laravel项目中的基础测试入门
Laravel如何集成微信支付SDK_Laravel使用yansongda-pay实现扫码支付【实战】
Laravel如何使用Gate和Policy进行授权?(权限控制)
谷歌Google入口永久地址_Google搜索引擎官网首页永久入口
Android 常见的图片加载框架详细介绍
Laravel如何记录日志_Laravel Logging系统配置与自定义日志通道
Laravel Seeder填充数据教程_Laravel模型工厂Factory使用
如何在腾讯云免费申请建站?
如何在HTML表单中获取用户输入并用JavaScript动态控制复利计算循环
Laravel队列任务超时怎么办_Laravel Queue Timeout设置详解
Laravel如何使用Blade组件和插槽?(Component代码示例)
Laravel如何处理JSON字段_Eloquent原生JSON字段类型操作教程
简单实现Android验证码
Laravel Asset编译怎么配置_Laravel Vite前端构建工具使用
网站优化排名时,需要考虑哪些问题呢?
清除minerd进程的简单方法
创业网站制作流程,创业网站可靠吗?
Windows10如何删除恢复分区_Win10 Diskpart命令强制删除分区
微信公众帐号开发教程之图文消息全攻略
Laravel Blade模板引擎语法_Laravel Blade布局继承用法
如何在阿里云高效完成企业建站全流程?
详解vue.js组件化开发实践
Laravel怎么实现软删除SoftDeletes_Laravel模型回收站功能与数据恢复【步骤】
bootstrap日历插件datetimepicker使用方法
Laravel怎么返回JSON格式数据_Laravel API资源Response响应格式化【技巧】
怎么用AI帮你为初创公司进行市场定位分析?
Laravel如何构建RESTful API_Laravel标准化API接口开发指南
google浏览器怎么清理缓存_谷歌浏览器清除缓存加速详细步骤
HTML5空格和margin有啥区别_空格与外边距的使用场景【说明】
如何利用DOS批处理实现定时关机操作详解
网页设计与网站制作内容,怎样注册网站?
网页制作模板网站推荐,网页设计海报之类的素材哪里好?
如何挑选优质建站一级代理提升网站排名?
Mybatis 中的insertOrUpdate操作
Laravel全局作用域是什么_Laravel Eloquent Global Scopes应用指南
香港服务器WordPress建站指南:SEO优化与高效部署策略
在线教育网站制作平台,山西立德教育官网?
香港服务器如何优化才能显著提升网站加载速度?
如何用ChatGPT准备面试 模拟面试问答与职场话术练习教程
怎样使用JSON进行数据交换_它有什么限制
高配服务器限时抢购:企业级配置与回收服务一站式优惠方案
php静态变量怎么调试_php静态变量作用域调试技巧【解答】
laravel怎么在请求结束后执行任务(Terminable Middleware)_laravel Terminable Middleware请求结束任务执行方法
Laravel Eloquent模型如何创建_Laravel ORM基础之Model创建与使用教程
原生JS获取元素集合的子元素宽度实例
Python进程池调度策略_任务分发说明【指导】
千问怎样用提示词获取健康建议_千问健康类提示词注意事项【指南】
Laravel如何正确地在控制器和模型之间分配逻辑_Laravel代码职责分离与架构建议

