Как отображать таймер обратного отсчета в строке состояния в 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 по мере необходимости