API Demos 2.3 学习笔记 (6) Text>Marquee

更多精彩内容,请点击阅读:《API Demos 2.3 学习笔记》


在TextView及其子类控件中,当文本内容太长,超过控件长度时,默认情况下,无法完全显示文本内容。此时,通过在xml布局文件中设置控件的android:ellipsize属性,可以将无法显示的部分用省略号表示,并放在文本的起始,中间或者结束位置;还可以跑马灯的方式来显示文本(即文本控件获得焦点时,文本会进行滚动显示)。具体设置方法如下所示:
1、默认不处理
android:singleLine="true"
android:ellipsize="none"

2、省略号放在起始
android:singleLine="true"
android:ellipsize="start"

3、省略号放在中间
android:singleLine="true"
android:ellipsize="middle"

4、省略号放在结束
android:singleLine="true"
android:ellipsize="end"

5、跑马灯效果
android:focusable="true"
android:focusableInTouchMode="true"
android:singleLine="true"
android:ellipsize="marquee"
android:marqueeRepeatLimit="marquee_forever"

注:1、android:singleLine="true"表示单行显示。
2、在设置跑马灯效果时候,最好加上android:focusable="true"和android:focusableInTouchMode="true",分别表示可以获得焦点,和在触摸模式下可以获得焦点。
3、android:marqueeRepeatLimit表示跑马灯效果重复显示的次数,只能取值marquee_forever和正整数。取值marquee_forever时,表示跑马灯效果一直重复显示。


下面我们进行实例代码解析:

res-value-string.xml

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <string name="marquee_default">This use the default marquee animation limit of 3</string>
    <string name="marquee_once">This will run the marquee animation once</string>
    <string name="marquee_forever">This will run the marquee animation forever</string>
</resources>

res-layout-marquee.xml
<?xml version="1.0" encoding="utf-8"?>

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="match_parent" 
    android:layout_height="match_parent">
    
    <!-- 默认跑马灯效果 -->
    <Button
        android:layout_width="150dip" 
        android:layout_height="wrap_content"
        android:text="@string/marquee_default"
        android:singleLine="true"  
        android:ellipsize="marquee"/> 
    
    <!-- 跑马灯效果,重复播放一次 -->
    <Button
        android:layout_width="150dip" 
        android:layout_height="wrap_content"
        android:text="@string/marquee_once"
        android:singleLine="true"
        android:ellipsize="marquee"
        android:marqueeRepeatLimit="1"/>

     <!-- 跑马灯效果,一直重复播放 -->       
    <Button
        android:layout_width="150dip" 
        android:layout_height="wrap_content"
        android:text="@string/marquee_forever"      
        android:singleLine="true"
        android:ellipsize="marquee"
        android:marqueeRepeatLimit="marquee_forever"/>  
           
</LinearLayout>

src-com.example.android.apis.text-Marquee.java
package com.example.android.apis.text;

import com.example.android.apis.R;

import android.app.Activity;
import android.os.Bundle;

public class Marquee extends Activity {
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        
        //将marquee布局文件渲染出一个View对象,并作为Activity的默认View
        setContentView(R.layout.marquee);
    }
}

效果预览:

API Demos 2.3 学习笔记 (6) Text&gt;Marquee
                            API Demos 2.3 学习笔记 (6) Text&gt;Marquee

更多相关文章
  • 使用 Windows 集成安全性访问 SQL Server 如果您的应用程序运行在基于 Windows 的 Intranet 上,则也许可以将 Windows 集成身份验证用于数据库访问.集成安全性使用在操作系统线程上建立的当前 Windows 标识来访问 SQL Server 数据库.然后,您可以 ...
  • 我们知道Oracle的统计信息将严重影响CBO对执行计划的选择,针对不同大小的表制定收集规则并且定期执行是非常重要的.Oracle通过如下脚本即可收集统计信息: BEGIN DBMS_STATS.GATHER_TABLE_STATS(ownname =>'ZBDBA', tabname =&g ...
  • 信息来源:至尊宝的成长之路比如发现一处可XSS地方:<script>alert(不管怎么样弹出就好)</script>自己弄个偷cookie的文件.目的是让其他浏览者去浏览我们设计好的陷阱<script>document.location=http://URL.c ...
  • 网页加密和破解之&#106avascript 最近闲着无事,正好写点东西,为了让更多的人能理解,我就从最简单的网页讲起好了!我们先从最简单的&#106avascript加密页开始,在网上你可能会碰到很多用&#106avascript编的要求你输入用户和密码的网页,没有密码就不 ...
  • Large Data Types(大数据类型) 大数据类型的bin可以存储大量的对象集合.对象的类型可以是Integer/String/Map/List.Aerospike的单个记录可以包含许多这样的bin,这样的bin允许在单独的记录中包含大量的数据,其限制基于存储能力,记录没有最大值限制. Ae ...
  • 今天下午休息的时候又被扔给一项任务:把全国的街道数据导入街道表.但是他们扔给我的SQL脚本是从网上down的一个,跟平台这边的数据库设计的完全不一样. 当时的思路是:先把扔给我的脚本在本地生成一个表,然后选出要的数据,批量插入到开发库所在服务器的表. 然后,按照这个思路做了个测试: INSERT I ...
一周排行
  • 提起GlobalScape公司的CuteFTP软件家族,可以说是人尽皆知.这次要介绍的Secure FTP 服务器也属于GlobalScape公司的FTP软件产品线.也许是觉得CuteFTP这个名字不是很吸引企业用户 ...
  • float x; char *s = "7.2339 by these hilts or I am a villian else"; x = atof(s); /* The %.2f format ...
  • 网络数据采集分析工具TcpDump的简介 顾名思义,TcpDump可以将网络中传送的数据包的"头"完全截获下来提供分析.它支持针对网络层.协议.主机.网络或端口的过滤,并提供and.or.not等 ...
  • 尽管苹果iPhone 6首批上市不包括中国大陆地区,但国内的运营商依然积极筹备着和iPhone 6有关的工作.中国联通有可能不在固定合约机的合约期限,但最低不低于6个月,下面就一起看看吧 尽管苹果iPhone 6首批 ...
  • 1.先说No projects are found to import 导入工程时报此错误,问题的原因是.project和.classpath丢失.通常可以新建一个项目,然后用自己的文件直接拷贝到该项目中,替换原有文 ...
  •   第二部分 Entity介绍 2.1    第一个Entity Bean:HelloWorld EJB3中的Entity Bean是如此的简单,就是一个普通的java bean加上一些精炼的元数据批注.       ...
  • oppo find 7轻装版多少钱?本篇文章就为大家介绍oppo find7轻装版价格及其他相关信息,感兴趣的朋友可以看一下 想知道oppo find 7轻装版价格多少钱吗?下文将为大家带来关于oppo find7轻 ...
  • 在xml文件中使用android:textStyle="bold" 可以将英文设置成粗体,但是不能将中文设置成粗体,将中文设置成粗体的方法是: TextView tv = (TextView)fi ...
  • 从盖茨看微软发展轨迹 ------盖茨的离去是一个时代的终结 文/王易见       第一次知道比尔盖茨是读初中的时候,那时他刚做世界首富不久,因此关注较多,后来虽然他蝉联首富宝座,但关注度显然已经没有以前那么高了. ...
  • 10月14日消息 芯片制造商AMD将在本周四发布公司第三财政季度收益报告,这也是竞争对手英特尔(博客)发布财报的两天之后. 作为世界第二大芯片制造商,AMD在经过了经济大萧条引发的惨淡假期之后,逐渐呈现出回暖的态势. ...