J'ai un fichier xml que j'utilise avec autant d'activités avec un fichier de fragments, mais mon problème est que je ne peux pas afficher le texte que je veux dans la barre d'outils. donc je devais le faire de cette façon.
mon xml:
<RelativeLayout xmlns:Android="http://schemas.Android.com/apk/res/Android"
xmlns:tools="http://schemas.Android.com/tools"
Android:id="@+id/frame_container"
Android:layout_width="match_parent"
Android:layout_height="match_parent"
tools:context=".StatusActivity"
Android:orientation="vertical" >
<Android.support.v7.widget.Toolbar
Android:id="@+id/toolbar"
style="@style/ToolBarStyle"
Android:layout_width="match_parent"
Android:layout_height="wrap_content"
Android:background="?attr/colorPrimary"
Android:minHeight="@dimen/abc_action_bar_default_height_material" />
</RelativeLayout>
Une de mes activités:
public class GroupChatActivity extends ActionBarActivity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_base_layout);
Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
setSupportActionBar(toolbar);
getSupportActionBar().setDisplayShowHomeEnabled(true);
ActionBar actionBar = getSupportActionBar();
actionBar.setTitle("Groups history");
Aniways.init(this);
if(savedInstanceState == null)
{
FragmentManager manager = getSupportFragmentManager();
Fragment fragment = GroupChatFragment.newInstance(getIntent().getIntExtra("uid", 0));
manager.beginTransaction().add(R.id.frame_container, fragment).commit();
}
}
}
comme vous pouvez le constater, j'essaie de définir le titre dans la barre d'action, mais cela ne fonctionne pas.
getSupportActionBar().setDisplayShowTitleEnabled(true);
Réglage,
app:title="@string/my_title"
dans la déclaration de la Android.support.v7.widget.Toolbar, code le titre dans la barre d'outils.
Pour définir le titre par programme,
Toolbar toolbar = (Toolbar) findViewById(R.id.my_toolbar);
toolbar.setTitle("my title");
setSupportActionBar(toolbar);
dans votre classe d'activité.
Essayez ceci .. cette méthode fonctionne pour moi .. !! J'espère que ça peut aider quelqu'un .. !!
<Android.support.v7.widget.Toolbar
xmlns:app="http://schemas.Android.com/apk/res-auto"
Android:id="@+id/my_awesome_toolbar"
Android:layout_width="match_parent"
Android:layout_height="wrap_content"
Android:background="?attr/colorPrimary"
Android:minHeight="?attr/actionBarSize"
app:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar" >
<TextView
Android:id="@+id/toolbar_title"
Android:layout_width="wrap_content"
Android:layout_height="wrap_content"
Android:layout_gravity="center"
Android:singleLine="true"
Android:text="Toolbar Title"
Android:textColor="@Android:color/white"
Android:textSize="18sp"
Android:textStyle="bold" />
</Android.support.v7.widget.Toolbar>
MODIFIER
Vous pouvez aussi l'utiliser.
setSupportActionBar(toolbar);
if (getSupportActionBar() != null)
getSupportActionBar().setTitle("Toolbar title");
Essayez toolbar.setTitle('Groups history');
J'ai fait une barre d'action personnalisée.
Layout iguepardos_action_bar.xml avec ce code
<?xml version="1.0" encoding="utf-8"?>
<Android.support.v7.widget.Toolbar
xmlns:Android="http://schemas.Android.com/apk/res/Android"
xmlns:local="http://schemas.Android.com/apk/res-auto"
Android:id="@+id/toolbar"
Android:layout_width="match_parent"
Android:layout_height="wrap_content"
Android:background="@color/blanco"
Android:minHeight="?attr/actionBarSize">
<TextView
Android:id="@+id/toolbar_title"
Android:layout_width="wrap_content"
Android:layout_height="wrap_content"
Android:layout_gravity="left"
Android:singleLine="true"
Android:text="Toolbar Title"
Android:textColor="@color/naranja"
Android:textSize="18sp" />
</Android.support.v7.widget.Toolbar>
Dans ma classe étendue AppCompatActivity j'avais ceci:
protected void onCreate(Bundle savedInstanceState) {
....
....
getSupportActionBar().setDisplayShowCustomEnabled(true); // is for specify use custom bar
getSupportActionBar().setCustomView(R.layout.iguepardos_action_bar); // my custom layout
getSupportActionBar().setDisplayHomeAsUpEnabled(true); // Button for come back
View mCustomView = getSupportActionBar().getCustomView(); // Set the view
TextView TitleToolBar = (TextView) mCustomView.findViewById(R.id.toolbar_title); // find title control
TitleToolBar.setText("The Title Show"); // Set the Title
}