zoukankan      html  css  js  c++  java
  • TextView实现跑马灯的效果

    1.解决问题

    解决TextView文本字段过长的时候无法显示完全。

    2.基本代码

    在res--values--strings.xml下添加如下代码,实现显示的文字:
    <string name="hello_world">人生若只如初见,何事秋风悲画扇。
    								等闲变却故人心,却道故人心易变。
    								骊山语罢清宵半,泪雨零铃终不怨。
    								何如薄幸锦衣郎,比翼连枝当日愿。
    </string>

    在res--layout下添加如下代码,使得文本文字必须在一行显示:
     android:singleLine="true"                   //使得文本必须在一列排版

    效果显示,文本不会显示完整:

    3.解决方案


    方案一:
    <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="@string/hello_world"
            android:ellipsize="marquee"                     //该代码实现文字横向滚动                              
            android:focusable="true"                        //该代码获得焦点,但是是用在非触摸屏上
            android:focusableInTouchMode="true"             //为了弥补上面的触摸屏问题,增加的代码使得可以在手机等触摸设备显示
            android:singleLine="true" />
    这样就可以实现文本跑马灯的效果了。

    方案二:
    在src下新建一个类,并且添加所有的构造函数和一个isfocoused方法:
    package com.example.textview;
    
    import android.content.Context;
    import android.util.AttributeSet;
    import android.widget.TextView;
    
    public class maketext extends TextView {
    
    	public maketext(Context context, AttributeSet attrs, int defStyle) {
    		super(context, attrs, defStyle);
    		// TODO Auto-generated constructor stub
    	}
    
    	public maketext(Context context, AttributeSet attrs) {
    		super(context, attrs);
    		// TODO Auto-generated constructor stub
    	}
    
    	public maketext(Context context) {
    		super(context);
    		// TODO Auto-generated constructor stub
    	}
    
    	public boolean isFocused(){
    		return true;                             //使得每一个被定义的都有一个焦点
    		
    	}
    
    }
        <com.example.textview.maketext                                                        //使用包名调用
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="@string/hello_world"
            android:singleLine="true" />






    本博客基于网络课程完成,旨在学习,有错误请指正!
  • 相关阅读:
    Alien Security (BFS+DFS)
    HDU 1495 喝可乐(暴力BFS)
    Tempter of the Bone(奇偶剪枝)の反面教材
    Fire Game (双起点bfs)
    Linux学习
    c# 实现IComparable、IComparer接口、Comparer类的详解
    DataTable 基本转换简单实例
    C#集合
    递归方法
    存储过程生成复杂的随机编号
  • 原文地址:https://www.cnblogs.com/comefuture/p/8305980.html
Copyright © 2011-2022 走看看