Home > Database > Mysql Tutorial > API Demos 2.3 学习笔记 (6)

API Demos 2.3 学习笔记 (6)

WBOY
Release: 2016-06-07 15:08:25
Original
975 people have browsed it

更多精彩内容,请点击阅读: 《API Demos 2.3 学习笔记》 在TextView及其子类控件中,当文本内容太长,超过控件长度时,默认情况下,无法完全显示文本内容。此时,通过在xml布局文件中设置控件的android:ellipsize属性,可以将无法显示的部分用省略号表示,

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


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

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

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

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

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

注: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>
Copy after login

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> 
    
    <!-- 跑马灯效果,重复播放一次 -->
    <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>

     <!-- 跑马灯效果,一直重复播放 -->       
    <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"></button>  
           
</linearlayout>
Copy after login

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);
    }
}
Copy after login

效果预览:

API Demos 2.3 学习笔记 (6)                            API Demos 2.3 学习笔记 (6)

Related labels:
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template