Как отображать таймер обратного отсчета в строке состояния в android, например, отображение времени?

Я создаю приложение, которое позволяет пользователю выбирать дату и время. По достижении даты и времени на экране отобразится анимация. До своего времени он просто покажет время обратного отсчета (например, xxx: xx: xx) на экране. Я достиг этого, используя текстовое представление, которое меняется каждую секунду. Как я могу отобразить этот текст в строке состояния, например, время отображается

Я пробовал использовать конструктор уведомлений, как в некоторых сообщениях, которые я нашел здесь, но они лишены и больше не работают. Я попытался с NotificationCompat.Builder, но у него действительно нет способа установить текст, который может отображаться в строке состояния.

Кто-нибудь знает какое-либо решение для решения этой задачи, пожалуйста, дайте мне ответ. Мне просто нужно отобразить текст в строке состояния с иконкой

Ответ 1

Вы можете установить CustomView в ActionBar, передав файл макета или View. Вот пример кода.

protected void setCustomActionBarTitle(String title) {
        ActionBar actionBar = getActionBar();
        if (actionBar != null) {
            actionBar.setDisplayHomeAsUpEnabled(true);
            actionBar.setDisplayShowCustomEnabled(true);
            actionBar.setDisplayOptions(ActionBar.DISPLAY_SHOW_CUSTOM);
            actionBar.setCustomView(R.layout.layout_action_bar_title);
            TextView titleView = (TextView) actionBar.getCustomView().findViewById(R.id.action_bar_title);
            titleView.setText(title);
            ImageView imageView = (ImageView) actionBar.getCustomView().findViewById(R.id.up_icon);
            imageView.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View v) {
                    onBackPressed();
                }
            });
        }
    } 

Ответ 2

Добавьте это в свой файл activity_main xml

<android.support.v7.widget.Toolbar
            android:id="@+id/toolbar"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:minHeight="@dimen/header_size"
            android:background="?attr/colorPrimary"
            android:layout_gravity="center"
            android:gravity="center">
            <TextView
                android:id="@+id/title"
                android:textColor="@color/title"
                android:gravity="center"
                android:background="@color/white"
                android:layout_width="match_parent"
                android:layout_height="@dimen/header_size"
                android:textSize="@dimen/header_text_size"
                android:textStyle="bold"
                android:text=""/>

        </android.support.v7.widget.Toolbar>

И в вашей активности добавьте эти строки

    actionbar = getSupportActionBar();
    actionbar.setHomeAsUpIndicator(R.drawable.ic_back);
    actionbar.setDisplayHomeAsUpEnabled(true);
    title = (TextView) findViewById(R.id.title);

Теперь вы можете установить таймер обратного отсчета в этом текстовом режиме, а также выравнивать TextView по мере необходимости