Je veux créer ma propre application et je veux y ajouter une barre d'action. Dans ma mise en page principale, je veux une barre d'action avec mon nom d'application uniquement. Dans mes autres mises en page/pages, je veux mon nom de page et un symbole de navigation arrière qui retourne à la page précédente. Quelqu'un peut-il me dire comment faire cela et quelqu’un peut-il me parler de la barre d’action par défaut d’Android, de ce qu’il fait et de ce que je fais avec.
ÉTAPE 1: build.gradle (niveau d'application)
dependencies {
compile 'com.Android.support:appcompat-v7:23.3.0'
}
ÉTAPE 2: AndroidManifest.xml
<application
....
Android:theme="@style/Theme.AppCompat.Light.DarkActionBar"/>
ÉTAPE 3: Dans votre activité
public class main extends AppCompatActivity
{
....
@Override
protected void onCreate(Bundle savedInstanceState) {
...
getSupportActionBar().setTitle("Your Activity Title"); // for set actionbar title
getSupportActionBar().setDisplayHomeAsUpEnabled(true); // for add back arrow in action bar
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
// TODO Auto-generated method stub
int id = item.getItemId();
if (id == Android.R.id.home) {
finish();
}
return super.onOptionsItemSelected(item);
}
Changez votre thème de présentation en "Theme.DeviceDefault.Light.DarkActionBar"
Faire la disposition du menu de la barre d’action sous le dossier du menu
<menu xmlns:Android="http://schemas.Android.com/apk/res/Android" >
<item Android:id="@+id/a"
Android:icon="@drawable/a"
Android:showAsAction="always"
Android:title=""/>
<item Android:id="@+id/b"
Android:icon="@drawable/b"
Android:showAsAction="always"
Android:title=""/>
<item Android:id="@+id/c"
Android:icon="@drawable/c"
Android:showAsAction="always"
Android:title=""/>
<item Android:id="@+id/d"
Android:icon="@drawable/d"
Android:showAsAction="always"
Android:title=""/>
<item Android:id="@+id/e"
Android:icon="@drawable/e"
Android:showAsAction="always"
Android:title=""/>
Puis écrivez le script suivant dans votre classe d'activité
@Override
public boolean onCreateOptionsMenu(Menu menu) {
MenuInflater inflater = getMenuInflater();
inflater.inflate(R.menu.actionbar_menu, menu);
return super.onCreateOptionsMenu(menu);
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case R.id.a:
//Write your code
return true;
case R.id.b:
//Write your code
return true;
case R.id.c:
//Write your code
return true;
case R.id.d:
//Write your code
return true;
case R.id.e:
//Write your code
return true;
default:
return super.onOptionsItemSelected(item);
}
}
Vous pouvez facilement accéder à Actionbar avec
ActionBar actionBar =getSupportActionBar();
actionBar.setDisplayHomeAsUpEnabled(true);