android学习之文本显示走马灯
来源:互联网 发布:公交数据接口 编辑:程序博客网 时间:2024/05/20 11:51
实现文本动态,走马灯
单行显示:
android:singleLine="true"显示走马灯: android:ellipsize="marquee"
获得焦点: android:focusable="true"
强制获得焦点:android:focusableInTouchMode="true"
走马灯的模式:android:marqueeRepeatLimit="marquee_forever"
- 为实现获多个焦点,我们用代码来生成跑马灯
- 1.创建一个类去继承TextView
- 2.生成一个参数和两个参数的构造器,让一个参数构造器来指向第二个参数
- 3.重写isFocused方法来欺骗系统实现多个跑马灯
public class FocusedTextView extends TextView{
//一般传入两个参数
public FocusedTextView(Context context) {
this(context,null);
}
//布局到xml中使用
public FocusedTextView(Context context, AttributeSet attrs) {
super(context, attrs);
//单行显示: android:singleLine="true"
setSingleLine(true);
//显示走马灯: android:ellipsize="marquee"
setEllipsize(TruncateAt.MARQUEE);
//获得焦点: android:focusable="true"
setFocusable(true);
//强制获得焦点:android:focusableInTouchMode="true"
setFocusableInTouchMode(true);
//走马灯的模式:android:marqueeRepeatLimit="marquee_forever"
setMarqueeRepeatLimit(-1);//-1表示一直动
}
//系统默认的是只有一个焦点,只能实现一个走马灯,我们可以重写他的方法来欺骗系统
@Override
public boolean isFocused() {
return true;
}
//在一个window中的多个view中
//当其他编辑文本,或者对话框抢占焦点,为了让跑马灯继续跑起来,我们需要重写方法
@Override
protected void onFocusChanged(boolean focused, int direction,
Rect previouslyFocusedRect) {
//我让他为true时才走这个构造方法,这样他就不会改变状态
if(focused){
super.onFocusChanged(focused, direction, previouslyFocusedRect);
}
}
//在多个windows中,任然有焦点,重写方法
@Override
public void onWindowFocusChanged(boolean hasWindowFocus) {
if(hasWindowFocus){
super.onWindowFocusChanged(hasWindowFocus);
}
}
}
焦点:是一种标记focusable:在一个window中只有一个view可以有焦点,flag---可以运行或者不运行enable:可用与不可用selected:选中或不选中焦点应用到文件中,设置两个文本走马灯欺骗系统来实现走马灯 可能会出现的问题:有时候显示文字没有走动?显示跑马灯效果的前提条件就是你的文本内容要比显示文本的外部组件长,即外部组件无法完整的显示内部的文本内容。
因此要实现跑马灯效果有两种设置方式:
1、layout_width=”"设置为成比文本内容短的固定值,最好不要写成wrap_content或者fill_parent。
2、如果layout_width=”"设置wrap_content或者fill_parent,那么可以增加上 padding的值使两端的距离加大而无法全部显示文本内容,但是这有一个缺陷就是在手机的屏幕变大时,距离没有变大,外部组件又可以正常显示内部文本,于是又无法显示跑马灯效果,因此建议第一种设置为佳。
1 0
- android学习之文本显示走马灯
- android 文本走马灯代码
- iOS走马灯上下滚动显示文本
- Android学习之路---Toast显示文本及图片
- Android走马灯
- android Textview 使用之二:走马灯效果
- 学习笔记之vi文本显示行号
- uCGUI学习笔记之显示文本
- uCGUI学习笔记之显示文本
- JAVA Swing学习之窗体文本显示
- Android实现TextView走马灯效果同时自动更新显示当前时间
- android - TextView单行显示...或者文字左右滚动(走马灯效果)
- Android之UI学习篇一:TextVeiw如何显示丰富的文本
- 走马灯(学习笔记)
- android TextView 走马灯效果
- Android TextView走马灯效果
- Android TextView 走马灯效果
- android textview 走马灯设计
- Android应用中定义权限的基本方法
- spring笔记
- Linux 常用命令
- Android Activity的四种launchMode
- ng面试题整理
- android学习之文本显示走马灯
- python之urllib模块urlretrieve()函数初窥
- java反射之Class类
- Linux 安装字体
- 【OpenCV】OpenCV的样本训练
- init
- 奇偶校验
- qt4.8.6解析xml
- UILabel周边出现灰色线