Mise à jour: dernier modèle ActionBar (titre):
Pour info, ActionBar a été introduit dans l'API niveau 11. ActionBar est une fonction de fenêtre en haut de l'activité qui peut afficher le titre de l' activité , les modes de navigation et d'autres éléments interactifs comme la recherche.
Je me souviens exactement de la personnalisation de la barre de titre et de sa cohérence dans l'application. Je peux donc faire une comparaison avec les jours précédents et énumérer certains des avantages de l'utilisation d'ActionBar:
- Il offre à vos utilisateurs une interface familière à travers les applications que le système adapte avec élégance pour différentes configurations d'écran.
- Les développeurs n'ont pas besoin d'écrire beaucoup de code pour afficher le titre de l'activité, les icônes et les modes de navigation car ActionBar est déjà prêt avec une abstraction de haut niveau.
Par exemple:
=> Voie normale,
getActionBar().setTitle("Hello world App");
getSupportActionBar().setTitle("Hello world App"); // provide compatibility to all the versions
=> Personnalisation de la barre d'actions,
Par exemple:
@Override
public void setActionBar(String heading) {
// TODO Auto-generated method stub
com.actionbarsherlock.app.ActionBar actionBar = getSupportActionBar();
actionBar.setHomeButtonEnabled(true);
actionBar.setDisplayHomeAsUpEnabled(false);
actionBar.setDisplayShowHomeEnabled(false);
actionBar.setBackgroundDrawable(new ColorDrawable(getResources().getColor(R.color.title_bar_gray)));
actionBar.setTitle(heading);
actionBar.show();
}
Styliser la barre d'action:
L'ActionBar vous offre des looks de base et familiers, des modes de navigation et d'autres actions rapides à effectuer. Mais cela ne signifie pas que cela ressemble à chaque application. Vous pouvez le personnaliser selon vos exigences d'interface utilisateur et de conception. Il vous suffit de définir et d'écrire des styles et des thèmes.
En savoir plus sur: Styling the Action Bar
Et si vous souhaitez générer des styles pour ActionBar, cet outil Générateur de styles peut vous aider.
================================================== ===============================
Vieux: jours précédents:
=> Voie normale,
vous pouvez modifier le titre de chaque écran (c.-à-d. activité) en définissant leur Android:label
<activity android:name=".Hello_World"
android:label="This is the Hello World Application">
</activity>
=> Personnalisé - Titre - barre
Mais si vous souhaitez personnaliser la barre de titre à votre manière, c'est Want to put Image icon and custom-text
-à- dire que le code suivant fonctionne pour moi:
main.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"/>
titlebar.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="400dp"
android:layout_height="fill_parent"
android:orientation="horizontal">
<ImageView android:id="@+id/ImageView01"
android:layout_width="57dp"
android:layout_height="wrap_content"
android:background="@drawable/icon1"/>
<TextView
android:id="@+id/myTitle"
android:text="This is my new title"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:textColor="@color/titletextcolor"
/>
</LinearLayout>
TitleBar.java
public class TitleBar extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
final boolean customTitleSupported =
requestWindowFeature(Window.FEATURE_CUSTOM_TITLE);
setContentView(R.layout.main);
if (customTitleSupported) {
getWindow().setFeatureInt(Window.FEATURE_CUSTOM_TITLE,
R.layout.titlebar);
}
final TextView myTitleText = (TextView) findViewById(R.id.myTitle);
if (myTitleText != null) {
myTitleText.setText("NEW TITLE");
// user can also set color using "Color" and then
// "Color value constant"
// myTitleText.setBackgroundColor(Color.GREEN);
}
}
}
strings.xml
Le fichier strings.xml est défini sous le values
dossier.
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="hello">Hello World, Set_Text_TitleBar!</string>
<string name="app_name">Set_Text_TitleBar</string>
<color name="titlebackgroundcolor">#3232CD</color>
<color name="titletextcolor">#FFFF00</color>
</resources>