Join FlipAndroid.COM Telegram Group: https://t.me/joinchat/F_aqThGkhwcLzmI49vKAiw


Manera correcta de manejar la barra de acción hasta el botón?

Yo uso ActionBarSherlock (aunque no creo que importe).

Tengo una Actividad Principal y una Actividad Acerca de. Quiero que la actividad Acerca de mostrar la flecha hacia atrás por su logotipo, y hacer la animación adecuada y tal. No sé cómo hacer esto correctamente.

  • Servicio automático llamado en la actividad de destrucción
  • Reproducir vídeo m3u8 en android
  • ActionBarSherlock setCustomView no funciona en Android 3.2
  • La propiedad personalizada de mi objeto gráfico personalizado abierto no se muestra en el cuadro de diálogo compartido
  • Android conjunto grado símbolo de Textview
  • Creación de JSONObject de cadena en JAVA (org.json)
  • Actualmente, tengo bajo onOptionsMenuItemSelected para iniciar la actividad principal cuando se presiona el botón Inicio / Inicio, pero es hacky y no funciona correctamente. Se reproduce la animación incorrecta, y maneja la multitarea mal.

    ¿Cómo configuro esto?

    Aquí está la parte en mi actividad principal que lanza la Acerca de:

    Intent aboutIntent = new Intent(MainActivity.this, About.class); MainActivity.this.startActivity(aboutIntent); 

    Aquí está mi actividad Acerca de:

     package com.stevenschoen.test; import android.content.Intent; import android.os.Bundle; import com.actionbarsherlock.app.SherlockActivity; import com.actionbarsherlock.view.MenuItem; public class About extends SherlockActivity { public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.about); getSupportActionBar().setDisplayHomeAsUpEnabled(true); getSupportActionBar().setDisplayShowTitleEnabled(false); } public boolean onOptionsItemSelected(MenuItem item) { switch (item.getItemId()) { case android.R.id.home: // app icon in action bar clicked; go home Intent intentHome = new Intent(this, MainActivity.class); intentHome.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); startActivity(intentHome); return true; default: return super.onOptionsItemSelected(item); } } } 

  • Ocultar MenuItem en algunos fragmentos
  • Cómo cambiar el color y la fuente en ListView
  • La mejor práctica para manejar el cambio de orientación: Android
  • Elemento giratorio simple de Android
  • Accesibilidad: Talkback, WebView y configuración regional del usuario
  • Cómo grabar audio en la página web (iOS, Android, PC / Mac) - sin flash
  • 6 Solutions collect form web for “Manera correcta de manejar la barra de acción hasta el botón?”

    ¿También has probado esto (tomado del sitio web de Android aquí ):

    En el manifiesto, para cada actividad X que necesite ir a la actividad principal, añada esto al código:

     @Override public boolean onOptionsItemSelected(MenuItem item) { switch (item.getItemId()) { // Respond to the action bar's Up/Home button case android.R.id.home: NavUtils.navigateUpFromSameTask(this); return true; } return super.onOptionsItemSelected(item); } 

    Y esto a su etiqueta manifest xml:

     <meta-data android:name="android.support.PARENT_ACTIVITY" android:value="com.activities.MainActivity" /> 

    Si necesita tener el mismo estado en la actividad principal, utilice este código en su lugar:

     Intent intent = NavUtils.getParentActivityIntent(this); intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP|Intent.FLAG_ACTIVITY_SINGLE_TOP); NavUtils.navigateUpTo(this, intent); 

    Si la API tiene 16 o más, puede agregar un atributo de parentActivityName con la ruta de la actividad principal en lugar de los metadatos.

    Descubrí la raíz de mi problema fue un cambio en el manifiesto que hice hace un tiempo: He añadido esta línea:

     android:launchMode="singleInstance" 

    Así que mi actividad principal no sería relanzada. Cambiarlo a:

     android:launchMode="singleTask" 

    Resuelto mis problemas, y pude eliminar todas las cosas onOptionsItemSelected . Yo sabía que había algo mal, que Android debería haber sido capaz de manejar esto mejor, y yo tenía razón. Compruebe el manifiesto: P

    En su onCreate(Bundle savedInstanceState) , haga

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

    Entonces en su onOptionsItemSelected(MenuItem item) , haga

     @Override public boolean onOptionsItemSelected(MenuItem item) { switch (item.getItemId()) { case android.R.id.home: // go to previous screen when app icon in action bar is clicked Intent intent = new Intent(this, PreviousActivity.class); intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); startActivity(intent); return true; } return super.onOptionsItemSelected(item); } 

    Puede manejar el botón Barra de acciones mediante código o XML.

    Compruebe este código

    Si lo desea por programación Agregar esta línea en el método onCreate ()

     getSupportActionBar().setDisplayHomeAsUpEnabled(true); 

    Y Anule este método onSupportNavigateUp ()

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

    O No programáticamente puede agregar meta al archivo de manifiesto como

     <activity android:name="Current Activity" android:parentActivityName="Activity you want to open"> </activity> 

    Nota: Asegúrese de que Actionbar no es nulo.

    Para quien quiera volver atrás en la actividad anterior, esta es la solución más simple:

     public boolean onOptionsItemSelected(MenuItem item) { switch (item.getItemId()) { case android.R.id.home: finish(); //this method close current activity and return to previous return true; } return super.onOptionsItemSelected(item); } 

    Asegúrese de que su android: minSdkVersion = "11" que se podía ver en el archivo de manifiesto, icono de arriba se ha incluido desde APK 11. He hecho una pequeña muestra plz intente el enlace a continuación que puede ser ayuda que acaba de importar en su espacio de trabajo

    http://www.mediafire.com/?hktdvts7yyduwv1

    FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.