84.s1-android流水灯效果

流水灯要走起来除了需要广告文本以外,还需要让文本获取到焦点才能动起来,流水灯效果获取到焦点有2种方法

第一种是样式中设置,第二种是自己设置样式,

第一种

   <TextView
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:textColor="@color/black"
        android:text="商务部和交通运输部在会上表示,京东等企业利用自身优势确保了物资供给和送达,有效保障了群众的基本需求"
        android:singleLine="true"
        android:ellipsize="marquee"
	android:focusable="true"
        android:focusableInTouchMode="true"
        android:layout_marginTop="3dp"
        android:layout_marginBottom="3dp"
        android:textSize="18sp"
        />

第二种跑马灯效果,需要获取到activity,一种方法是自定义textVIEW来强制textView获取到焦点

样式文件

<com.ldw.safe.view.FocusedTextView 
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:textColor="@color/black"
        android:text="商务部和交通运输部在会上表示,京东等企业利用自身优势确保了物资供给和送达,有效保障了群众的基本需求"
        android:singleLine="true"
        android:ellipsize="marquee"
        android:layout_marginTop="3dp"
        android:layout_marginBottom="3dp"
        android:textSize="18sp"
        />

自定义布局属性

package com.ldw.safe.view;

import android.content.Context;
import android.util.AttributeSet;
import android.widget.TextView;

/**
 * 让textVie获取到焦点
 */
public class FocusedTextView extends TextView {

	//直接newTextVew的时候执行的是这个方法
	public FocusedTextView(Context context) {
		super(context);
		// TODO Auto-generated constructor stub
	}

	//有属性的时候机会执行此方法
	public FocusedTextView(Context context, AttributeSet attrs) {
		super(context, attrs);
		// TODO Auto-generated constructor stub
	}
	
	//有样式的时候会执行此方法
	public FocusedTextView(Context context, AttributeSet attrs, int defStyle) {
		super(context, attrs, defStyle);
		// TODO Auto-generated constructor stub
	}
	
	/**
	 * true表示有焦点
	 * 跑马灯要运行,首先调用此方法是否有焦点,是true,跑马灯才会有效果,这里面强制textView返回true,
	 * 让跑马灯有焦点,可以运行
	 */
	@Override
	public boolean isFocused(){
		return true;
	}

}

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值