如果我的文本太长,我想针对这种情况实现自动水平滚动。它在活动为空而没有任何关注的情况下起作用。但是当我尝试在带有计时器的活动中实现这一点时,它不起作用。我在没有计时器的情况下对其进行了测试,它可以工作。我尝试使用setSelected(true)
,它也不起作用。有什么办法可以解决这个问题,我需要带有计时器的滚动功能。任何意见和答案将不胜感激。
ScrollTextView.class
public class ScrollingTextView extends TextView{
public ScrollingTextView(Context context, AttributeSet attrs,
int defStyle){
super(context, attrs, defStyle);
}
public ScrollingTextView(Context context, AttributeSet attrs){
super(context, attrs);
}
public ScrollingTextView(Context context){
super(context);
}
@Override
protected void onFocusChanged(boolean focused, int direction,
Rect previouslyFocusedRect){
if(focused){
super.onFocusChanged(focused, direction, previouslyFocusedRect);
}
}
@Override
public void onWindowFocusChanged(boolean focused){
if(focused){
super.onWindowFocusChanged(focused);
}
}
@Override
public boolean isFocused(){
return true;
}
}
文本视图
<com.android.app.ScrollingTextView
android:id="@+id/display_message"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:paddingLeft="10dp"
android:paddingTop="10dp"
android:singleLine="true"
android:text="Display Message"
android:textSize="18dp"
android:textColor="#ffffff"
android:ellipsize="marquee"
android:scrollHorizontally="true"
android:fadingEdge="horizontal"
android:marqueeRepeatLimit="marquee_forever"
android:focusableInTouchMode="true"/>