滚动文本视图在时钟可见时不起作用



我的应用程序中有一个显示当前时间的 TextView,我像这样实现它

private Handler handler = new Handler();

private Runnable runnable = new Runnable() 
{
public void run() 
{
   batteryLevel();
     if(clock_on == true) {

         Handler clockUpdate = new Handler(); 
         clockUpdate.postDelayed(new Runnable() { 
              public void run() {
                  executeClock();
              } 
         }, 500);

     }
     handler.post(this);



}
public void executeClock() {

    TextView timeTv = (TextView) findViewById(R.id.time);
    long currentTime=System.currentTimeMillis();
    Calendar cal=Calendar.getInstance();
    cal.setTimeInMillis(currentTime);
    String timeFormat24 = "%1$tH:%1$tM";   
 //   String timeFormat12 = "%1$tI:%1$tM";
    String showTime=String.format(timeFormat24,cal);
    timeTv.setText(showTime);

}

在我的应用程序中,我还有一个滚动文本视图,滚动文本视图.java

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.doublep.example.ScrollingTextView
            android:id="@+id/txt_lcd_message"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_centerVertical="true"
            android:ellipsize="marquee"
            android:marqueeRepeatLimit="marquee_forever"
            android:scrollHorizontally="true"
            android:singleLine="true"
            android:textColor="#f82424"
            android:textSize="30dp" />
如果时钟文本视图可见,则滚动文本视图

不起作用,当我使时钟的可见性消失时,滚动文本视图可以完美运行

为什么会这样?我该如何解决它?

编辑:如果我延迟时钟,滚动文本视图开始工作,但是一旦时钟文本视图设置为当前时间,滚动文本视图就会停止工作

更新:经过一些测试,我注意到ScrollingTextView正在工作,但是每次executeClock()方法运行时,ScrollingTextView动画都会重置并再次启动

您是否在同一视图组中具有时钟文本视图和滚动文本视图? 因此,例如,它们是否都具有相同的线性或相对布局的子视图?尝试将它们分开,并使它们成为不同视图组的子视图。这对我曾经有用,也可能对你有用

最新更新