针对TextView的多余的文字只显示省略号的问题跟大家的分享一下!
原来布局是在xml中写的,有时候起作用,有时候不起作用,如下列代码:
<TextView
android:id="@+id/mTextView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:layout_marginLeft="25dp"
android:layout_toRightOf="@id/airquality_pm25"
android:ellipsize="marquee"
android:focusable="true"
android:focusableInTouchMode="true"
android:marqueeRepeatLimit="marquee_forever"
android:singleLine="true"
android:textColor="@android:color/white" />
现在改为:自定义一个MarqueeTextView
import android.content.Context;
import android.util.AttributeSet;
import android.widget.TextView;
public class MarqueeTextView extends TextView
{
public MarqueeTextView(Context context)
{
super(context);
}
public MarqueeTextView(Context context, AttributeSet attrs)
{
super(context, attrs);
}
public MarqueeTextView(Context context, AttributeSet attrs, int defStyle)
{
super(context, attrs, defStyle);
}
@Override
public boolean isFocused()
{
return true;
}
}
xml中使用如下:
<com.view.MarqueeTextView
android:id="@+id/airquality_level"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:layout_marginLeft="25dp"
android:layout_toRightOf="@id/airquality_pm25"
android:ellipsize="marquee"
android:focusable="true"
android:focusableInTouchMode="true"
android:marqueeRepeatLimit="marquee_forever"
android:singleLine="true"
android:textColor="@android:color/white" />
这样就轻松搞定一直跑马灯的效果啦