Actualmente, estoy usando ActionBarSherlock. Quiero iniciar SecondActivity
desde MainActivity
.Desactivar programáticamente Android: estilo WindowActionBarOverlay de la barra de acciones
MainActivity
está utilizando la barra de acciones con el estilo windowActionBarOverlay
activado. SecondActivity
está utilizando la barra de acciones con el estilo windowActionBarOverlay
apagado. Por lo tanto, así es como se ve mi XML.
<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 que no puedo tener un botón arriba/hacia atrás en la parte superior izquierda de la barra de acción. Aunque se muestra un icono, no se puede presionar. Solo al usar el mismo tema atrás (ThemeWithActionBarOverlay) como MainActivity
, solo se mostrará el botón arriba/atrás. Sin embargo, si dejo que SecondActivity
use el mismo tema que MainActivity
, no encuentro manera de desactivar el comportamiento 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
- Por qué la actividad niño tiene que utilizar la barra de acción con el mismo tema que el padre del, con el fin de tener adecuada hacia arriba/hacia atrás muestra el botón? ¿Hay alguna manera de que pueda usar diferentes temas, pero aparece el botón arriba/atrás en la actividad del niño?
- ¿Es posible cambiar el estilo
windowActionBarOverlay
durante el tiempo de ejecución?
¿Se ha resuelto su segundo problema? También estoy buscando lo mismo. – Kameswari