Android攻城狮—TextView实现跑马灯
2019独角兽企业重金招聘Python工程师标准>>>
示例程序
1.换行显示长文本
<TextViewandroid:id="@+id/textview1"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="@string/long_string" />
显示效果:如下图,长文本换行显示。
2.单行显示长文本
<TextViewandroid:id="@+id/textview1"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="@string/long_string" android:singleLine="true"/>
控件属性 android:singleLine="true" 。
显示效果:如下图,长文本单行显示,超出部分显示为省略号...
3.单行“跑马灯”(滚动)显示
<TextViewandroid:id="@+id/textview1"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="@string/long_string" android:singleLine="true"android:ellipsize="marquee"android:focusable="true"android:focusableInTouchMode="true"/>
控件属性:android:ellipsize="marquee" ( 需获得当前焦点);
显示效果: 如图,长文本能够单行滚动显示;
4.多行滚动显示
由上可知,你可能回想:是不是直接复制一个控件就可实现多行滚动了呢?答案是否定的,因为android:ellipsize="marquee" 需要获得当前焦点,而默认情况下,多个控件中只有第一个控件能获得焦点,所以直接复制多个控件的效果是:只有第一行控件具有滚动效果。
这是需要新建一个继承父类 TextView 的子类,并重构 isFocused() 方法,具体步骤如下:
1.新建类继承 TextView
public class MainActivity extends Activity
2.添加构造函数:右键 — Sourse — Generate Constructors from Superclass
3.新建子类重写父类 TextView 方法 isFocused(),返回值改为 return true;
@Overridepublic boolean isFocused() {// TODO Auto-generated method stub//return super.isFocused();return true;}
4.改用自定义控件
<com.jincheung.marquee.MyMarqueeandroid:id="@+id/textview1"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="@string/long_string" android:singleLine="true"android:ellipsize="marquee"android:focusable="true"android:focusableInTouchMode="true"/><com.jincheung.marquee.MyMarqueeandroid:id="@+id/textview2"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_alignParentTop="true"android:layout_centerHorizontal="true"android:layout_marginTop="49dp"android:ellipsize="marquee"android:focusable="true"android:focusableInTouchMode="true"android:singleLine="true"android:text="@string/long_string" />
4.现在就可以实现多行滚动了
转载于:https://my.oschina.net/zhangyujian/blog/787526
Android攻城狮—TextView实现跑马灯相关推荐
- 写给即将/正在找工作的Android攻城狮
写给即将/正在找工作的Android攻城狮 版权声明:转载必须注明本文转自严振杰的博客:http://blog.yanzhenjie.com 这段时间从北上广深杭不断传来一两个月找不到工作的消息,我一 ...
- Android攻城狮fragment
1 //1,fragment静态加载:MainActivity MainActivty1_2 Myfragment1 2 //2,fragment动态加载 :MainActivity Myfragme ...
- Android攻城狮ScrollView
ScrollView 滚动视图 滚动视图是指当前拥有很多内容,屏幕显示不完整时,需要通过滚动来显示完整的视图. ----------------------------- ScrollBar分两种: ...
- Android攻城狮Handler简介
Handler是什么? Handler是Android提供的一套用来更新UI的机制,也是一套消息处理机制,可以通过它发送消息,也可以通过它处理消息. 所有Activity生命周期回调的方法(例如onC ...
- Android攻城狮重新认识Toast
什么是Toast 1. Toast是一种提供给用户简洁提示信息的视图. 2. 该视图以悬浮于应用程序之上的形式呈现给用户.Toast提示界面不获取焦点,所以不影响用户的操作.Toast提示就是在不影响 ...
- Android攻城狮 progressBarprogressDialog
ProgressBar的关键属性 android:max="100" --最大显示进度 android:progress="50" --第一显示进度 andro ...
- Android攻城狮ListView
适配器: 数据适配器:把复杂的数据填充在指定的视图界面上ArrayAdapter 数组适配器 用于绑定格式单一的数据 数据源:可以是集合或数组 SimpleAdapter 简单适配器:用于绑定格式复杂 ...
- Android攻城狮Gallery和ImageSwitcher制作图片浏览器
使用Gallery 和 ImageSwitcher 制作图片浏览器 Gallery介绍 我们有时候在手机上或者PC上看到动态的图片,可以通过鼠标或者手指触摸来移动它,产生动态的图片滚动效果,还可以根据 ...
- Android攻城狮GestureDetector和GestureOverlayView
手势识别 可以通过以下两种方式实现: 1. 使用GestureDetector 2. 使用GestureOverlayView(属于线程的控件)手势交互过程(原理): 1. 触屏一刹那,触发 Moti ...
- Android攻城狮ViewFlipper
使用ViewFlipper实现屏幕切换动画效果. ViewFlipper和ViewPager一样,都是Android自带的一个多页面管理控件,不同的是ViewPager是手动切换页面,而ViewFli ...
最新文章
- java 列表框简单案例
- 【网络安全】如何使用QueenSono从ICMP提取数据
- 微信小程序中显示空格
- 【LeetCode】5.最长回文子串
- gpio 树莓派3a+_树莓派4上市:性能飙升起售价依然是35美元
- Codeforces Round #708 (Div. 2)
- java 获取td_[Java教程]jQuery获取table表中的td标签
- 7 orm 有批量更新_2020.12.24更新公告
- 修改华为服务器管理口地址,修改华为服务器管理口地址
- mysql注入 xfkxfk_WSS最新版多处SQL注入直接获取数据三(官方demo演示及快速定位漏洞技巧)...
- CSRF 攻击的应对之道
- 「解读苏宁」30年门店数字化发展心法与实践分享
- excel怎么自动填充连续数字
- 计算上周一开始时间戳
- 主题黑板.html,黑板报主题
- 回归预测 | MATLAB实现贝叶斯优化门控循环单元(BO-GRU)多输入单输出
- Max OS 打开 JD-GUI 报错
- 金山办公CEO章庆元:数字化、云化、订阅化趋势下,组织数字办公走向纵深
- 获取rowid的两种方法。
- CSDN博文创作编辑器新增投票功能啦