2011-11-06 12 views

Respuesta

22

¿Estás viendo algún comentario táctil desde el icono de la aplicación? (¿Brilla cuando lo presionas?)

Dado que muchas actividades no usan el botón de inicio de la barra de acciones, en las aplicaciones que tienen como objetivo la API 14+ que se ejecuta en Android 4.0 está deshabilitado de forma predeterminada. (Esto es para que los usuarios no intenten presionarlo, verlo brillar y preguntarse por qué no sucedió nada). Las aplicaciones que quieran usar esto deben llamar al ActionBar#setHomeButtonEnabled(true).

Probablemente deberíamos revisar la muestra de ActionBarCompat para hacerla más clara. Una forma sencilla de conseguir que en funcionamiento sería modificar ActionBarHelperICS.java y añadir lo siguiente:

public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    mActivity.getActionBar().setHomeButtonEnabled(true); 
} 

En una aplicación en la que desea más control sobre convirtiendo este encendido y apagado que se desea hacer más cambios.

+0

gracias agradable que está en lo cierto. – Mikey

+1

Solo para observar, esto [se menciona en los documentos] (http://developer.android.com/guide/topics/ui/actionbar.html#Home), es fácil de perder ya que es una "Nota". – srunni

+0

No funciona para mí. Agregar este código me da error en Eclipse. Múltiples marcadores en esta línea \t - La llamada requiere API nivel 14 (el mínimo actual es 4): \t android.app.ActionBar # setHomeButtonEnabled corregido agregando supress nueva api – tobias

3

Tuve este problema también. Este código lo hizo el truco para mí:

public void onCreate(Bundle savedInstanceState) { 
    ... 
    if (android.os.Build.VERSION.SDK_INT >= 11) { 
     //noinspection ConstantConditions 
     getActionBar().setHomeButtonEnabled(true); 
    } else { 
     getSupportActionBar().setHomeButtonEnabled(true); 
    } 
} 

Alguna información adicional: minSdkVersion="7" targetSdkVersion="18". Esta es la actividad LAUNCHER de mi proyecto, por lo que no tiene actividad principal. Usar setDisplayHomeAsUpEnabled(true) en otras actividades funcionó bien.

+0

esto debería ser aceptado respuesta - fue lo único que me ayudó – AndrewS

Cuestiones relacionadas