Android TextView跑马灯效果与设置文字阴影







TextView跑马灯效果的实现


自定义 一个TextView



public class MusicDesText extends TextView {

	public MusicDesText(Context context, AttributeSet attrs, int defStyleAttr,
			int defStyleRes) {
		super(context, attrs, defStyleAttr, defStyleRes);
		
	}

	public MusicDesText(Context context, AttributeSet attrs, int defStyle) {
		super(context, attrs, defStyle);
		
	}

	public MusicDesText(Context context, AttributeSet attrs) {
		super(context, attrs);
		
	}

	public MusicDesText(Context context) {
		super(context);
		
	}

	@Override
	public boolean isFocused() {
		return true;
	}
	
	


在而已文件中的使用


 <com.xfdream.music.view.MusicDesText
                android:id="@+id/tv_player_title"
                android:layout_width="fill_parent"
                android:layout_height="wrap_content"
                android:layout_marginBottom="5dp"
                android:ellipsize="marquee"
                android:gravity="center"
                android:lines="1"  
				android:focusable="true"
				android:focusableInTouchMode="true"
				android:scrollHorizontally="true"
				android:marqueeRepeatLimit="marquee_forever"
				android:singleLine="true"
                android:textColor="@android:color/white"
                android:textSize="15dp"/>

ellipsize属性
设置当文字过长时,该控件该如何显示。有如下值设置:

”start”—–省略号显示在开头;

”end”——省略号显示在结尾;

”middle”—-省略号显示在中间;

”marquee” ——以跑马灯的方式显示(动画横向移动)

marqueeRepeatLimit属性
在ellipsize指定marquee的情况下,设置重复滚动的次数,当设置为marquee_forever时表示无限次。

focusable属性
能否获得焦点,同样focusableInTouchMode应该是滑动时能否获得焦点。




TextView中文字阴影的设置


    <TextView
        android:id="@+id/tv_splash_version"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="版本号:1.0" 
        android:shadowDx="1"
        android:shadowDy="1"
        android:shadowRadius="2"
        />
        shadowColor : 设置阴影颜色
	shadowDx : 偏移量x
	shadowRadius : 角度
	














上一篇:小视频源码,android之自定义属性


下一篇:Android 获取控件大小(Android版 Flutter LayoutBuilder)