Programación y Desarrollo para Android Subforo exclusivo para temas de programación de software para PDAs y desarrollo de aplicaciones, interfaces, etc bajo Android


 
Herramientas
  #1  
Viejo 03/06/14, 13:17:51
Avatar de Guixe94
Guixe94 Guixe94 no está en línea
Desarrollador
Mensajes: 900
 
Fecha de registro: abr 2012
Localización: Barcelona, Catalunya
Mensajes: 900
Modelo de smartphone: HTC ONE y Galaxy Note 3
Versión de ROM: Ultima Orange Stock
Tu operador: Orange
Mencionado: 0 comentarios
Tagged: 0 hilos
Ayuda con menu..

Hola he creado mi primera aplicación de android con Android Studio pero nose como crear un menu.. actualmente si pulso el boton de menu me sale una pestaña que pone "settings" que es lo que viene por defecto pero pulso y no sale nada, por que no se donde se configura ni donde se cambia el nombre ni nada..

a mi me gustaria hacer un menu lateral como tienen la mayoria de las aplicaciones actuales pero he estado mirando por google y no encuentro nada asi que pueda entender.. haber si alguien podria ayudarme..

adjunto la imagen del "menu" que tengo por defecto que tampoco se como se configura ni nada..

Gracias!

Imágenes Adjuntas
Tipo de Archivo: jpg Screenshot_2014-06-03-13-12-36.jpg (34.7 KB, 33 visitas)
Responder Con Cita


  #2  
Viejo 03/06/14, 16:50:31
Avatar de kriogeN
kriogeN kriogeN no está en línea
Colaborador/a
Mensajes: 4,637
Compra y venta: (1)
 
Fecha de registro: oct 2010
Localización: Murcia
Mensajes: 4,637
Modelo de smartphone: Samsung Galaxy S7 Edge SM-G935F
Versión de ROM: CM13 - CM 11
Tu operador: Vodafone
Mencionado: 60 comentarios
Tagged: 3 hilos
Para el menú lateral tienes 2 opciones:

NavigationDrawer: https://developer.android.com/refere...werLayout.html

SlidingPaneLayout: https://developer.android.com/refere...aneLayout.html

El primero el menú se pone por encima de tu app al desplazarlo, sólo puedes desplazar el menú si pones el dedo justo en el borde de la pantalla.

El segundo el menú desplaza a la aplicación, puedes iniciar el desplazamiento desde cualquier lugar de la pantalla.
Responder Con Cita
  #3  
Viejo 03/06/14, 16:53:19
Avatar de Guixe94
Guixe94 Guixe94 no está en línea
Desarrollador
Mensajes: 900
 
Fecha de registro: abr 2012
Localización: Barcelona, Catalunya
Mensajes: 900
Modelo de smartphone: HTC ONE y Galaxy Note 3
Versión de ROM: Ultima Orange Stock
Tu operador: Orange
Mencionado: 0 comentarios
Tagged: 0 hilos
Y para que al puksar el boton fisico de menu me aparezca el menu ese y no el otro que tendria que cambiar? Y eso tendria que anyadirlo a todos los layouts y sus correspondientes .java? Esque tengo mas de 50...
Responder Con Cita
  #4  
Viejo 03/06/14, 17:19:46
Avatar de oxot
oxot oxot no está en línea
Usuario muy activo
Mensajes: 741
 
Fecha de registro: may 2010
Localización: Santiago
Mensajes: 741
Modelo de smartphone: Xiaomi RedRice
Versión de ROM: MIUI V8
Tu operador: Pepephone
Mencionado: 2 comentarios
Tagged: 2 hilos
Para crear un navigation drawer puedes seguir estos consejos:
http://developer.android.com/trainin...av-drawer.html
como ves, tienes que modificar los layouts dónde quieras que aparezca el menú. El DrawerLayout tiene que ser el padre de todos.
Si quieres un menú normal, aquí: http://developer.android.com/guide/topics/ui/menus.html
Y en cuanto a los .java, pues depende de si son fragments (puedes poner el menú sólo en main) o son activities. Si cada uno es una activity independiente... te va a llevar algo de tiempo. En este caso yo te recomendaría:
1) Crear una Base_Activity extendes Activity
Poner aquí todos tus métodos comunes, como puede ser los del menús
2) Cada una de tus activities, en lugar de heredar de Activity, hereden de Base_Activity dónde ya tienes declarado el menú y si quieres haces un Override para ciertas activities que quieras con un menú diferente

No sé si esto cuadra en tu app pero no se me ocurre otra cosa

Última edición por oxot Día 03/06/14 a las 17:21:53
Responder Con Cita
  #5  
Viejo 03/06/14, 17:22:33
Avatar de Guixe94
Guixe94 Guixe94 no está en línea
Desarrollador
Mensajes: 900
 
Fecha de registro: abr 2012
Localización: Barcelona, Catalunya
Mensajes: 900
Modelo de smartphone: HTC ONE y Galaxy Note 3
Versión de ROM: Ultima Orange Stock
Tu operador: Orange
Mencionado: 0 comentarios
Tagged: 0 hilos
Lo de la base activy seria crear un .java predeterminado y luego indicarle a todos los layouts el mismo .java? Es eso? No tenia ni idea que se podia hacer..
Responder Con Cita
  #6  
Viejo 03/06/14, 17:33:08
Avatar de oxot
oxot oxot no está en línea
Usuario muy activo
Mensajes: 741
 
Fecha de registro: may 2010
Localización: Santiago
Mensajes: 741
Modelo de smartphone: Xiaomi RedRice
Versión de ROM: MIUI V8
Tu operador: Pepephone
Mencionado: 2 comentarios
Tagged: 2 hilos
Cita:
Originalmente Escrito por Guixe94 Ver Mensaje
indicarle a todos los layouts el mismo .java? Es eso?
No entiendo esto que preguntas, lo siento.
El layout se indica dentro de cada .java donde requieras un layout. No indicas el layout en el .java.

Cada una de tus pantallas son activities o fragments?
Responder Con Cita
  #7  
Viejo 03/06/14, 17:33:57
Avatar de Guixe94
Guixe94 Guixe94 no está en línea
Desarrollador
Mensajes: 900
 
Fecha de registro: abr 2012
Localización: Barcelona, Catalunya
Mensajes: 900
Modelo de smartphone: HTC ONE y Galaxy Note 3
Versión de ROM: Ultima Orange Stock
Tu operador: Orange
Mencionado: 0 comentarios
Tagged: 0 hilos
Todas son activities no tengo ningun fragment ya que no acababa de entender como hacerlos..
Responder Con Cita
  #8  
Viejo 03/06/14, 17:46:08
Avatar de oxot
oxot oxot no está en línea
Usuario muy activo
Mensajes: 741
 
Fecha de registro: may 2010
Localización: Santiago
Mensajes: 741
Modelo de smartphone: Xiaomi RedRice
Versión de ROM: MIUI V8
Tu operador: Pepephone
Mencionado: 2 comentarios
Tagged: 2 hilos
Pues entonces, te remito a lo de arriba. O modificas cada layout para tener un DrawerLayout como padre de tu layout o usas un menú "estándar" (como los android anteriores) que se crea tal que así:
http://developer.android.com/guide/t...l#options-menu

En cuanto a lo que te decía, como esto tienes que hacer en cada activity yo te recomendaría crear una activity padre que aglutine todos los métodos comunes (dónde yo incluiría onCreateOptionsMenu, onOptionsItemSelected ...).
Luego haría que cada una de tus activities hereden de esta clase padre que has creado. Así, todas las clases hijas, tendrán ya implementados los métodos de menú que has declarado en la padre. Y creo que nada más. Te dará un poco de trabajo pero nada más.

Responder Con Cita
Gracias de parte de:
  #9  
Viejo 03/06/14, 17:48:13
Avatar de Guixe94
Guixe94 Guixe94 no está en línea
Desarrollador
Mensajes: 900
 
Fecha de registro: abr 2012
Localización: Barcelona, Catalunya
Mensajes: 900
Modelo de smartphone: HTC ONE y Galaxy Note 3
Versión de ROM: Ultima Orange Stock
Tu operador: Orange
Mencionado: 0 comentarios
Tagged: 0 hilos
Cita:
Originalmente Escrito por oxot Ver Mensaje
Pues entonces, te remito a lo de arriba. O modificas cada layout para tener un DrawerLayout como padre de tu layout o usas un menú "estándar" (como los android anteriores) que se crea tal que así:
http://developer.android.com/guide/t...l#options-menu

En cuanto a lo que te decía, como esto tienes que hacer en cada activity yo te recomendaría crear una activity padre que aglutine todos los métodos comunes (dónde yo incluiría onCreateOptionsMenu, onOptionsItemSelected ...).
Luego haría que cada una de tus activities hereden de esta clase padre que has creado. Así, todas las clases hijas, tendrán ya implementados los métodos de menú que has declarado en la padre. Y creo que nada más. Te dará un poco de trabajo pero nada más.

Y como se crearia esa clase padre? Osea como hago que despues las activities hereden de esa?

Gracias por tu ayuda!
Responder Con Cita
  #10  
Viejo 03/06/14, 17:52:35
Avatar de oxot
oxot oxot no está en línea
Usuario muy activo
Mensajes: 741
 
Fecha de registro: may 2010
Localización: Santiago
Mensajes: 741
Modelo de smartphone: Xiaomi RedRice
Versión de ROM: MIUI V8
Tu operador: Pepephone
Mencionado: 2 comentarios
Tagged: 2 hilos
Eso es java básico
La herencia se realiza con la palabra clave 'extends' en la declaración de la clase, tu tendrás algo así:

class MiClase extends ClasePadre {
...
}
seguro que ahora tus clases hacen 'extends' de Activity, que es una clase base de android y, por tanto, puedes usar métodos que tu no has declarado pero sí están declarados en la clase padre.
Un ejemplo de herencia:
http://codigomaldito.blogspot.com.es...a-en-java.html

Si buscas Java herencia tendrás cuatro mil tutoriales.
Responder Con Cita
Gracias de parte de:
  #11  
Viejo 03/06/14, 17:55:40
Avatar de Guixe94
Guixe94 Guixe94 no está en línea
Desarrollador
Mensajes: 900
 
Fecha de registro: abr 2012
Localización: Barcelona, Catalunya
Mensajes: 900
Modelo de smartphone: HTC ONE y Galaxy Note 3
Versión de ROM: Ultima Orange Stock
Tu operador: Orange
Mencionado: 0 comentarios
Tagged: 0 hilos
Vale muchas gracias! Te sorprendera pero no tengo ni idea de java la app la ido haciendo a base de buscar en google cada cosa que queria y ir haciendo trocito a trozito.. por lo tanto solo se lo que tiene mi app lo demas ni idea de nada jeje. Espero ir aprendiendo.

Muchas gracias por todo!
Responder Con Cita
  #12  
Viejo 03/06/14, 18:29:58
Avatar de kriogeN
kriogeN kriogeN no está en línea
Colaborador/a
Mensajes: 4,637
Compra y venta: (1)
 
Fecha de registro: oct 2010
Localización: Murcia
Mensajes: 4,637
Modelo de smartphone: Samsung Galaxy S7 Edge SM-G935F
Versión de ROM: CM13 - CM 11
Tu operador: Vodafone
Mencionado: 60 comentarios
Tagged: 3 hilos
Puedes hacer que al pulsar el botón menú se despliegue el menú lateral, sólo hay que capturarlo y que ejecute la acción de abrir el panel.
Responder Con Cita
  #13  
Viejo 03/06/14, 18:33:28
Avatar de Guixe94
Guixe94 Guixe94 no está en línea
Desarrollador
Mensajes: 900
 
Fecha de registro: abr 2012
Localización: Barcelona, Catalunya
Mensajes: 900
Modelo de smartphone: HTC ONE y Galaxy Note 3
Versión de ROM: Ultima Orange Stock
Tu operador: Orange
Mencionado: 0 comentarios
Tagged: 0 hilos
Cita:
Originalmente Escrito por kriogeN Ver Mensaje
Puedes hacer que al pulsar el botón menú se despliegue el menú lateral, sólo hay que capturarlo y que ejecute la acción de abrir el panel.
Y eso como se hace? Perdon por la ignorancia..
Responder Con Cita
  #14  
Viejo 03/06/14, 18:51:04
Avatar de kriogeN
kriogeN kriogeN no está en línea
Colaborador/a
Mensajes: 4,637
Compra y venta: (1)
 
Fecha de registro: oct 2010
Localización: Murcia
Mensajes: 4,637
Modelo de smartphone: Samsung Galaxy S7 Edge SM-G935F
Versión de ROM: CM13 - CM 11
Tu operador: Vodafone
Mencionado: 60 comentarios
Tagged: 3 hilos
Aquí lo tienes ya hecho para DrawerLayout, para SlidingPaneLayout es prácticamente igual:

public boolean onKeyDown(int keyCode, KeyEvent event) {
if (keyCode == KeyEvent.KEYCODE_MENU) {

if (mDrawerLayout.isDrawerOpen(mDrawerList)) {

mDrawerLayout.closeDrawers();
} else {
mDrawerLayout.openDrawer(Gravity.RIGHT);
}
return true;
} else {
return super.onKeyDown(keyCode, event);
}
}
Responder Con Cita
Los siguientes 2 usuarios han agradecido a kriogeN su comentario:
Respuesta

Estás aquí
Regresar   HTCMania > Todo sobre Android > Programación y Desarrollo para Android


Reglas de Mensajes
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Las caritas están On
Código [IMG] está On
Código HTML está Off

Saltar a Foro



Hora actual: 18:38:43 (GMT +2)

Cookies settings
Powered by vBulletin™
Copyright © vBulletin Solutions, Inc. All rights reserved.
 
HTCMania: líderes desde el 2007