studio icono boton bar atras agregar android android-layout android-actionbar

icono - boton action bar android



Añadir botón Atrás a la barra de acciones (11)

Añadir

actionBar.setHomeButtonEnabled(true);

y luego agregue lo siguiente

@Override public boolean onOptionsItemSelected(MenuItem menuItem) { switch (menuItem.getItemId()) { case android.R.id.home: onBackPressed(); return true; default: return super.onOptionsItemSelected(menuItem); } }

Como lo sugirió naXa , agregué un cheque en el itemId , para que funcione correctamente en caso de que haya múltiples botones en la barra de acciones.

He estado intentando agregar un botón Atrás a la barra de acciones.

Quiero que mi vista se vea así:

Quiero agregar el botón Atrás a la izquierda de la barra de acciones.

Agregué este código

ActionBar actionBar = getActionBar(); actionBar.setDisplayHomeAsUpEnabled(true);

pero no funciona.

¿Cómo puedo arreglar esto?


Agregue esta línea en el método onCreate ()

getSupportActionBar().setDisplayHomeAsUpEnabled(true);

a continuación, anule este método

@Override public boolean onSupportNavigateUp(){ finish(); return true; }



Después de establecer actionBar.setHomeButtonEnabled(true);

Agregue el siguiente código:

@Override public boolean onOptionsItemSelected(MenuItem item) { switch (item.getItemId()) { case android.R.id.home: // app icon in action bar clicked; goto parent activity. this.finish(); return true; default: return super.onOptionsItemSelected(item); } }


Después de la configuración

actionBar.setHomeButtonEnabled(true);

Debes configurar la actividad padre en tu AndroidManifest.xml

<activity android:name="com.example.MainActivity" android:label="@string/app_name" android:theme="@style/Theme.AppCompat" /> <activity android:name="com.example.SecondActivity" android:theme="@style/Theme.AppCompat" > <meta-data android:name="android.support.PARENT_ACTIVITY" android:value="com.example.MainActivity" /> </activity>

Mire aquí para más información http://developer.android.com/training/implementing-navigation/ancestral.html


Hay dos maneras de abordar esto.

Opción 1: Actualizar el Manifiesto de Android Si la actividad de configuración siempre se llama desde la misma actividad, puede establecer la relación en el Manifiesto de Android. Android mostrará automágicamente el botón ''atrás'' en ActionBar

<activity android:name=".SettingsActivity" android:label="Setting Activity"> <meta-data android:name="android.support.PARENT_ACTIVITY" android:value="com.example.example.MainActivity" /> </activity>

Opción 2: cambiar una configuración para la barra de acciones Si no sabe qué actividad llamará a la actividad de configuración, puede crearla de esta manera. Primero en su actividad que extiende ActionBarActivity (asegúrese de que sus @imports coincidan con el nivel de compatibilidad que está buscando).

@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_settings_test); ActionBar actionBar = getSupportActionBar(); actionBar.setHomeButtonEnabled(true); actionBar.setDisplayHomeAsUpEnabled(true); }

Luego, detecte el botón ''retroceder'' y diga a Android que cierre la Actividad actualmente abierta.

@Override public boolean onOptionsItemSelected(MenuItem item) { switch (item.getItemId()) { case android.R.id.home: // app icon in action bar clicked; goto parent activity. this.finish(); return true; default: return super.onOptionsItemSelected(item); } }

¡Deberias hacer eso!


Más simple y mejor: para API> = 16

Simplemente agregue "parentActivityName" para cada actividad en Manifest. El botón Atrás lo llevará automáticamente a la actividad principal.

<activity android:name="com.example.myfirstapp.DisplayMessageActivity" android:label="@string/title_activity_display_message" android:parentActivityName="com.example.myfirstapp.MainActivity" >


Primero, usa esto:

Barra de ActionBar = getSupportActionBar ();

bar.setDisplayHomeAsUpEnabled (true);

A continuación, configure la operación del botón, haga clic en el método OpciónItemSelected

@Override public boolean onOptionsItemSelected(MenuItem item) { switch (item.getItemId()) { case android.R.id.home: finish(); return true; default: return super.onOptionsItemSelected(item); } }


Use esto para mostrar el botón Atrás y pasar a la actividad anterior,

final ActionBar actionBar = getSupportActionBar(); assert actionBar != null; actionBar.setDisplayHomeAsUpEnabled(true); actionBar.setHomeAsUpIndicator(R.drawable.back_dark); @Override public boolean onOptionsItemSelected(final MenuItem item) { switch (item.getItemId()) { case android.R.id.home: onBackPressed(); return true; default: return super.onOptionsItemSelected(item); } }


este funcionó para mí:

@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_your_activity); getSupportActionBar().setDisplayHomeAsUpEnabled(true); // ... other stuff } @Override public boolean onSupportNavigateUp(){ finish(); return true; }

Se llama al método onSupportNavigateUp () cuando usa el botón Atrás en SupportActionBar.


si alguien más necesita la solución

@Override public boolean onOptionsItemSelected(MenuItem item) { int id = item.getItemId(); if (id == android.R.id.home) { onBackPressed(); } return super.onOptionsItemSelected(item); }