Problemas con Android – actionBar.setDisplayHomeAsUpEnabled
En mi actividad que se extiende SherlockFragmentActivity tengo barra de acción y también han establecido actionBar.setDisplayHomeAsUpEnabled (true) para volver a mi actividad anterior. Todo funciona bien. Pero cuando hago clic en el botón de inicio, el color de fondo debe aplicarse sólo al icono de la aplicación, pero también se aplica al "título" en la barra de acción como se muestra en la captura de pantalla. No quiero que esto suceda. Cuando hago clic en el botón de inicio, solo el icono de la aplicación debe hacer clic (el color de fondo debe aplicarse sólo al icono de la aplicación) y no el título. ¿Alguna idea de cómo puedo hacer esto?
- Cómo retener correctamente un DialogFragment a través de la rotación?
- Configurar Google Maps API v2 en android, Error al inflar el fragmento de clase
- Obtención de la excepción como estado de ahorro de falla: activo El fragmento ha borrado el índice: -1 cuando estoy presionando el botón de inicio del dispositivo android
- Fragmento vs. FragmentoActividad
- ¿Llamar a DialogFragment de Fragment (no FragmentActivity)?
mi código de actividad:
ActionBar actionBar = getSupportActionBar(); actionBar.setDisplayHomeAsUpEnabled(true); actionBar.setTitle(some_string);
- CommitAllowingStateLoss () en las actividades de fragmento
- ¿Vincular servicio a FragmentActivity o Fragment?
- Cómo deshabilitar el desplazamiento de ViewPager usando android-support-v4.jar en android
- Creación de un fragmento en una ventana emergente - en Android
- Agregar barra de herramientas a una FragmentActivity
- Fragmento onResume no llamado
- Cómo reemplazar un DialogFragment por otro DialogFragment?
- Cómo crear mediante programación el diseño de un fragmento?
El patrón estándar de la interfaz de usuario de Android incluirá el título en estado presionado. Sin embargo, creo que si siguió este enlace (que describe cómo agregar una vista personalizada a la izquierda de una barra de acción) ¿Cómo alinear elementos en la barra de acción a la izquierda? , y poner el título a vacío. El siguiente código funcionó en mi dispositivo local
ActionBar action=getActionBar(); action.setDisplayShowCustomEnabled(true); action.setHomeButtonEnabled(true); action.setDisplayShowTitleEnabled(false); TextView title =new TextView(getApplicationContext()); title.setText("Your Title here"); title.setGravity(Gravity.LEFT | Gravity.CENTER_VERTICAL); action.setCustomView(title);
No olvide esta parte, porque ese botón de inicio también es un botón de MENU.
@Override public boolean onOptionsItemSelected(MenuItem item) { switch (item.getItemId()) { case android.R.id.home: // This is called when the Home (Up) button is pressed in the action bar. // Create a simple intent that starts the hierarchical parent activity and // use NavUtils in the Support Package to ensure proper handling of Up. Intent upIntent = new Intent(this, MainActivity.class); if (NavUtils.shouldUpRecreateTask(this, upIntent)) { // This activity is not part of the application's task, so create a new task // with a synthesized back stack. TaskStackBuilder.from(this) // If there are ancestor activities, they should be added here. .addNextIntent(upIntent) .startActivities(); finish(); } else { // This activity is part of the application's task, so simply // navigate up to the hierarchical parent activity. NavUtils.navigateUpTo(this, upIntent); } return true; } return super.onOptionsItemSelected(item); }