是否可以在操作栏内使用 android.widget.chronometer ?

Is it possible to use android.widget.chronometer inside the actionbar?

我想在操作栏中添加一个计时器。我已经在这里找到了这个解决方案:Is it possible to add a timer to the actionbar on android? 使用 compatibility:actionViewClass="android.widget.TextView" 然后使用一个定时器在每次更新字符串值时更新。

我想知道是否有人已经尝试使用 app:actionViewClass="android.widget.chronometer"

菜单应该是这样的:

<menu 
  xmlns:android="http://schemas.android.com/apk/res/android"
  xmlns:app="http://schemas.android.com/apk/res-auto">
     <item android:id="@+id/action_live_clock"
       android:title=""
       app:showAsAction="always"
       app:actionViewClass="android.widget.chronometer"/>
</menu>

然后在对应的activity:

@Override
public boolean onCreateOptionsMenu(Menu menu)
{
        getMenuInflater().inflate(R.menu.test_chrono, menu);
        MenuItem timerItem = menu.findItem(R.id.action_live_clock);
        Chronometer timer = (Chronometer) timerItem.getActionView();
        timer.setBase(SystemClock.elapsedRealtime());
        timer.start();
        return true;
}

但是当我在 getActionView 之后检查时,计时器值为 Null。我错过了什么还是这不可能?

(作为 ActionBar,我使用的是来自最新支持库的 appcompat)

您始终可以向 actionbar/toolbar 添加自定义视图。只需 google 即可。