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 ...
一周排行
  •     有时候必须非常专注地阅读ANSI C标准才能找到某个问题的答案.一位销售工程师把下面这段代码作为测试用例发给Sun的编译小组. foo(const char **p) {} int main(int argc ...
  • 转载不加作者名字的木JJ. 作者:猴子 博客:www.sbmonkey.com php内大致有这么几种运算符. 按运算符号的功能分为: 一:算术运算符(+ - * / % ++ --) 二:字符串运算符 . 可以叫连 ...
  • 今年 WWDC 上,集成在 iOS 8 中的 HealthKit 无疑是一大亮点.苹果首次尝试将来自不同源的健康数据进行整合,以统一的形式呈现给用户.此外,苹果还宣布了与电子健康档案市场的主导厂商Epic Syste ...
  • /**  *  * @author Cache John  * @email  *  */ public class GetHttpResponseHeader {         public static voi ...
  • 设置myeclipse.run的执行权限,使之可以安装: sudo chmod +x myeclipse.run 运行myeclipse安装向导(前提是JDK已安装好): sudo sh myeclipse.run  ...
  • 最近在github上搭建了自己的新博客,以后会慢慢转移上去. 地址是: https://qitaos.github.io 5月9日我将会参加 南京软件开发者大会,并在下午有一个<robotframework介绍 ...
  • 通过Photoshop的拾色器,我们知道表征颜色的模型的不止一种,本文将系统并且详细讨论这四种模型(HSV.LAB.RGB和CMYK)之间的联系以及应用. 本文部分章节整合了多位优秀博主的博客(链接见本文末尾),并对 ...
  • 原文首发原创与51CTO技术论坛:http://bbs.51cto.com/thread-109.html [编者有话] "当自己的梦想或野心无法实现时,大多数原因可能是自己造成的,这时你需要静 ...
  • 最小树形图:简单来说,求一个图的G0的最小树形图,先求出最短弧集合E0.若E0不存在,则图G0的最小树形图不存在.若存在且不含有向环,则E0就是T0中的所有的边.如果E0存在且含有有向环,则收缩有向环为一个点u,并形 ...
  • 以Yoga笔记本为例,介绍下Fn功能和F1-F12对调方法,关机状态下,按开机按键右侧的一键恢复按键,接下来的步骤如下 1.以Yoga笔记本为例,电脑关机状态下,按开机按键右侧的一键恢复按键; 2.然后会出现四个选项 ...