Comment afficher countdown timer sur la barre d'état dans android, comme time display?
je fais une application qui permet à l'utilisateur de sélectionner une date et une heure. Une fois la date et l'heure atteintes,il affichera une animation à l'écran. Avant son heure, il affichera juste l'heure du compte à rebours (comme xxx:xx:xx) à l'écran. J'ai réalisé ceci en utilisant un textview qui change chaque seconde. Comment puis-je afficher ce texte sur la barre d'état, comme le temps est affiché
j'ai essayé d'utiliser le constructeur de Notification comme dans un post que j'ai trouvé ici mais ils sont dépréciés et ne fonctionnent pas plus. J'ai essayé avec NotificationCompat.Builder mais il n'a pas vraiment un moyen de définir le texte qui pourrait être affiché sur la barre d'état.
N'importe qui connaît n'importe quelle solution de travail arpund pour lui, s'il vous plaît donnez-moi une réponse. J'ai juste besoin d'afficher un texte sur la barre d'état place de l'icône
2 réponses
Vous pouvez définir CustomView sur la barre D'action en passant un fichier de mise en page ou une vue. Voici un exemple de code.
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();
}
});
}
}
ajouter ceci dans votre fichier xml activity_main
<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>
et dans votre activité ajouter ces lignes
actionbar = getSupportActionBar();
actionbar.setHomeAsUpIndicator(R.drawable.ic_back);
actionbar.setDisplayHomeAsUpEnabled(true);
title = (TextView) findViewById(R.id.title);
Maintenant vous pouvez définir le compte à rebours dans ce textview, alignez aussi le TextView comme requis