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


Desactivar programaticamente android: windowActionBarOverlay estilo de barra de acción

Actualmente, estoy usando ActionBarSherlock . Quiero iniciar SecondActivity desde MainActivity .

MainActivity está utilizando la barra de acción con el estilo windowActionBarOverlay activado. SecondActivity utiliza la barra de acciones con el estilo windowActionBarOverlay desactivado. Por lo tanto, aquí es cómo se ve mi XML.

  • Anulación de onOptionsItemSelected from SherlockFragmentActivity
  • ¿Puedo configurar el icono de inicio de mi barra de acciones usando styles.xml?
  • ActionBarSherlock: java.lang.NoClassDefFoundError: com.actionbarsherlock.R $ styleable
  • Android: Cambiar la visibilidad de los elementos del menú con un fragmento cambiante
  • Java.lang.NoSuchMethodError cuando se utiliza getFragmentManager () con la biblioteca actionbarsherlock
  • Transparente Barra de Acción: tabcolor personalizado
  •  <application android:icon="@drawable/ic_launcher" android:label="@string/app_name" android:debuggable="false" > <activity android:name=".MainActivity" android:label="@string/app_name" android:theme="@style/ThemeWithActionBarOverlay" android:screenOrientation="nosensor" > <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> <activity android:name=".SecondActivity" android:theme="@style/ThemeWithoutOverlay"> </activity> </application> 

     <resources> <style name="ThemeWithActionBarOverlay" parent="@style/Theme.Sherlock"> <item name="android:windowActionBarOverlay">true</item> <item name="abIcon">@drawable/ic_home</item> <item name="abTitleTextStyle">@style/ActionBarCompatTitle</item> </style> <style name="ThemeWithoutOverlay" parent="@style/Theme.Sherlock"> <item name="abIcon">@drawable/ic_home</item> <item name="abTitleTextStyle">@style/ActionBarCompatTitle</item> </style> </resources> 

    Sin embargo, al hacerlo, en SecondActivity , me doy cuenta de que nunca puedo tener un botón arriba / atrás en la parte superior izquierda de la barra de acción. Aunque se muestra un icono, no es presionable. Sólo usando el mismo tema (ThemeWithActionBarOverlay) como MainActivity , solo se mostrará el botón de arriba / atrás. Sin embargo, si dejo que SecondActivity utilice el mismo tema como MainActivity , descubro que no hay forma de desactivar el comportamiento de windowActionBarOverlay .

     // SecondActivity @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.history_list_activity); ActionBar actionBar = this.getActionBar(); actionBar.setDisplayHomeAsUpEnabled(true); // How to turn android:windowActionBarOverlay attribute to false during runtime? // actionBar.??? } 

    Mis preguntas son

    1. ¿Por qué la actividad del niño tiene que usar una barra de acción con el mismo tema que la de los padres, para que se muestre el botón correcto de arriba / atrás? ¿Hay alguna manera de utilizar diferentes temas, pero aparece el botón de subir / regresar en la actividad de los niños?
    2. ¿Es posible windowActionBarOverlay estilo de windowActionBarOverlay durante el tiempo de ejecución?

  • IntelliJ plugin de Android: suprimir la generación de BuildConfig.java o cambiar donde se escribe?
  • Buena ingeniería de software vs. seguridad
  • OverridePendingTransition en el adaptador gridview
  • Texto editable a cadena
  • Android bloqueo en el curriculum vitae. ¿Cómo interpretar esta excepción?
  • ¿Cómo clonar Joda DateTime?
  • One Solution collect form web for “Desactivar programaticamente android: windowActionBarOverlay estilo de barra de acción”

    Para responder a su primera pregunta, no es necesario que la actividad de padres e hijos utilice el mismo tema para que el botón "Arriba" funcione. De hecho, estoy trabajando en una aplicación de actividad de padres / niños similar, y su trabajo muy bien usando dos temas diferentes (un tema sin superposición para el padre, y el tema de pantalla completa (con superposición) para el niño).

    Debe haber otra razón por la que no está funcionando …

    • Asegúrese de haber definido MainActivity como el padre de la segunda actividad. Puede hacerlo por código, o por la forma preferida, en AndroidManifest.xml :

       <activity android:name=".SecondActivity" <meta-data android:name="android.support.PARENT_ACTIVITY" android:value=".MainActivity" /> </activity> 
    • Asegúrese de que en la actividad de su hijo, ha activado la navegación "arriba":

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

    Para su segunda pregunta, intente reemplazar el 'windowActionBarOverlay' en el tema 'ThemeWithoutOverlay' a false :

     <style name="ThemeWithoutOverlay" parent="@style/Theme.Sherlock"> <item name="android:windowActionBarOverlay">false</item> <item name="windowActionBarOverlay">false</item>< <item name="abIcon">@drawable/ic_home</item> <item name="abTitleTextStyle">@style/ActionBarCompatTitle</item> </style> 
    FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.