Foros       Consigue tu camiseta aquí
Centrar imagen, boton, textview, etc en la pantalla

 
Publicar Nuevo Tema   Responder al Tema    Índice del Foro www.Android-Spa.com -> Dudas empezando a programar Android
Mostrar mensajes anteriores:   

manoloalonso

Mensajes: 8
MensajePublicado: Lun Abr 19, 2010 12:09 pm    Título del mensaje: Centrar imagen, boton, textview, etc en la pantalla Enviar mensaje privado Responder citando

Hola, mi nombre es Manuel, soy nuevo en la programación de Android, llevo trabajando con JAVA 4 años por lo que para mi el lenguaje no es problema.

He empezado a hacer pequeñas pruebas para ir aprendiendo, tales como meter un texto, una imagen y un botón.

Mi problema es que me gustaría tener centrados los elementos y ahora mismo están en la parte izquierda de la pantalla.

¿Podrías darme un ejemplo de código para conseguir esto?

Tengo más dudas pero esta es mi primera duda y hasta que no sepa hacer ésto no me gustaría molestar con otras dudas.

Muchas gracias de antemano.

Tivisoft

Mensajes: 652
MensajePublicado: Lun Abr 19, 2010 12:27 pm    Título del mensaje: Enviar mensaje privado Responder citando

Bienvenido! Vaya, menuda suerte que Java no sea tu problema... que más quisiera yo estar en tu lugar....

Centrandonos en el tema, los "widgets" (botones, textviews,editviews, etc) tienen una propiedad en el archivo xml llamada Gravedad (Gravity) que te permite hacer lo que tu dices.

Tienes 3 maneras de hacerlo:

1.- Entorno gráfico: Si usas eclipse, abre el layout que quieras editar, selecciona el widget al que quieres aplicar el centrado, y busca en la derecha la pestaña "propiedades", allí busca Gravity, y si pulsas sobre los puntos suspensivos que aparecen, te mostrará las opciones que puedes seleccionar, en tu caso: center.

2.- Si no te gusta el entorno gráfico, puedes editar el xml con código:

android:gravity="center"

3.- También puedes hacerlo desde el código java:

textview.setGravity(center);

guzman72

Mensajes: 178
MensajePublicado: Lun Abr 19, 2010 12:47 pm    Título del mensaje: Enviar mensaje privado Responder citando

existe otra opcion, puedes visitar www.droiddraw.org, crear tu interface y despues simplemente copiar el codigo xml en el eclipse...
quiza antes de hacer esto te recomendaria que por lo menos al principio uses el propio sdk para entender las cosas que haces en relacion a los interfaces

saludos Smile

manoloalonso

Mensajes: 8
MensajePublicado: Lun Abr 19, 2010 1:10 pm    Título del mensaje: Enviar mensaje privado Responder citando

Muchas gracias, en cuanto llegue a casa lo pruebo. Que ahora estoy trabajando y no tengo el entorno aquí.

Os cuento con los resultados.

Un saludo!!!

YaW

Mensajes: 409
MensajePublicado: Lun Abr 19, 2010 1:10 pm    Título del mensaje: Enviar mensaje privado Responder citando

Te recomiendo que no uses DroidDraw ni el editor de Eclipse. Hazlo a mano en xml, al principio es duro pero en cuanto te acostumbras verás como te salen cosas complejas con una facilidad brutal, es bastante poderoso el editor de xml.

A la pregunta, lo que te ha contestado Tivisoft. Puedes asignar el android:gravity="center" a cada elemento que quieras centrar o puedes también ponerle el atributo al padre (LinearLayout, RelativeLayout o lo que sea) y se centrarán todos los hijos.

Saludos

Tivisoft

Mensajes: 652
MensajePublicado: Lun Abr 19, 2010 1:23 pm    Título del mensaje: Enviar mensaje privado Responder citando

YaW escribió:
Te recomiendo que no uses DroidDraw ni el editor de Eclipse. Hazlo a mano en xml, al principio es duro pero en cuanto te acostumbras verás como te salen cosas complejas con una facilidad brutal, es bastante poderoso el editor de xml.

A la pregunta, lo que te ha contestado Tivisoft. Puedes asignar el android:gravity="center" a cada elemento que quieras centrar o puedes también ponerle el atributo al padre (LinearLayout, RelativeLayout o lo que sea) y se centrarán todos los hijos.

Saludos


+1, yo empecé con el editor gráfico, pero ahora me resulta más cómodo hacerlo "a mano", aunque para empezar y ver qué hace cada cosa, quizás és más cómodo el editor gráfico.

manoloalonso

Mensajes: 8
MensajePublicado: Jue Abr 22, 2010 8:38 pm    Título del mensaje: Enviar mensaje privado Responder citando

Hola amigos, perdonad por responder tan tarde pero hasta hoy no he podido ponerme a probar.

Os cuento: he hecho lo que me dijisteis y no funciona, siguen saliendo todos los objetos a la izquierda, os pongo el código para que ver si esta bien:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical" android:layout_width="fill_parent"
android:layout_height="fill_parent">
<ImageView android:id="@+id/imagenFlor" android:gravity="center"
android:layout_width="wrap_content" android:layout_height="wrap_content">
</ImageView>

<Button android:text="@string/boton" android:gravity="center" android:id="@+id/boton"
android:layout_width="wrap_content" android:layout_height="wrap_content">
</Button>

<TextView android:gravity="center" android:text="@+id/TextView01"
android:id="@+id/textoLetras" android:maxHeight="250px" android:maxWidth="250px"
android:layout_width="wrap_content" android:layout_height="wrap_content">
</TextView>

</LinearLayout>

Un saludo y gracias por adelantado.

Tivisoft

Mensajes: 652
MensajePublicado: Jue Abr 22, 2010 9:56 pm    Título del mensaje: Enviar mensaje privado Responder citando

A ver, prueva con esto:

Código android:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:gravity="center">

<ImageView
android:id="@+id/imagenFlor"
android:gravity="center"
android:layout_width="wrap_content" android:layout_height="wrap_content">
</ImageView>

<Button
android:text="@string/boton"
android:gravity="center"
android:id="@+id/boton"
android:layout_width="wrap_content" android:layout_height="wrap_content">
</Button>

<TextView
android:gravity="center"
android:text="@+id/TextView01"
android:id="@+id/textoLetras" android:maxHeight="250px" android:maxWidth="250px"
android:layout_width="wrap_content" android:layout_height="wrap_content">
</TextView>

</LinearLayout>
 


Lo único que he cambiado ha sido añadir android:gravity="center" al Linear Layout...

Como te dije, desde el módo gráfico és facil ver lo que hace cada cosa...

manoloalonso

Mensajes: 8
MensajePublicado: Vie Abr 23, 2010 8:48 am    Título del mensaje: Enviar mensaje privado Responder citando

Esta tarde lo pruebo y te cuento.

Muchas gracias.

manoloalonso

Mensajes: 8
MensajePublicado: Sab Abr 24, 2010 3:23 pm    Título del mensaje: Enviar mensaje privado Responder citando

Hola, perdon por no contestar antes.

Sigo teniendo todo alineado a la izquierda con el codigo que me dijiste.

Y ni idea de como alinearlo todo al centro.

A ver si se te ocurre otra cosa, porque yo no consigo nada.

Gracias por adelantado.

manoloalonso

Mensajes: 8
MensajePublicado: Sab Abr 24, 2010 3:53 pm    Título del mensaje: Enviar mensaje privado Responder citando

He recurrido a la herramienta que me dijisteis (como ultima opcion) y no se donde se le dice aqui que algo vaya alineado al centro. Debo ser el mas torpe del foro Sad

Un saludo y gracias.

pmaicas

Mensajes: 672
MensajePublicado: Dom Abr 25, 2010 10:17 am    Título del mensaje: Enviar mensaje privado Responder citando

manoloalonso escribió:
He recurrido a la herramienta que me dijisteis (como ultima opcion) y no se donde se le dice aqui que algo vaya alineado al centro. Debo ser el mas torpe del foro Sad

Un saludo y gracias.



Usa fill_parent para la anchura del widget, y en gravity ponle center_horizontal, lo acabo de probar (con la ayuda del editor grafico de eclipse) y funciona 'perfestamente'.

manoloalonso

Mensajes: 8
MensajePublicado: Dom Abr 25, 2010 7:09 pm    Título del mensaje: Enviar mensaje privado Responder citando

Muchas gracias. Parece que esto si funciona.

Me habéis servido de mucho.

Saludos.

Nyasa4

Mensajes: 3
MensajePublicado: Mar Sep 28, 2010 12:51 pm    Título del mensaje: Enviar mensaje privado Responder citando

Hola... buscando una solución a mi problema he encontrado este hilo. Yo tengo el mismo problema, el botón se me queda en el lado izquierdo. La única diferencia es que yo estoy utilizando RelativeLayout.
Mi idea es colocar al final de la pantalla mi botón y justo encima el CAPTURAR. Al comprobarlo de manera gráfica, he visto que CAPTURAR no está encima de mi botón sino que "chafa" una parte.

Os pongo el código a ver si podéis ayudarme!! thanks!

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent">


<ImageButton
android:src="@drawable/btn"
android:id="@+id/ok"
android:gravity="center"
android:layout_alignParentBottom="true"
android:layout_height="wrap_content"
android:layout_width="wrap_content"/>
<TextView
android:text="CAPTURA!"
android:layout_alignTop="@id/ok"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:gravity="center"/>

</RelativeLayout>

Nyasa4

Mensajes: 3
MensajePublicado: Mar Sep 28, 2010 12:58 pm    Título del mensaje: Enviar mensaje privado Responder citando

Nyasa4 escribió:
Hola... buscando una solución a mi problema he encontrado este hilo. Yo tengo el mismo problema, el botón se me queda en el lado izquierdo. La única diferencia es que yo estoy utilizando RelativeLayout.
Mi idea es colocar al final de la pantalla mi botón y justo encima el CAPTURAR. Al comprobarlo de manera gráfica, he visto que CAPTURAR no está encima de mi botón sino que "chafa" una parte.

Os pongo el código a ver si podéis ayudarme!! thanks!

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent">


<ImageButton
android:src="@drawable/btn"
android:id="@+id/ok"
android:gravity="center"
android:layout_alignParentBottom="true"
android:layout_height="wrap_content"
android:layout_width="wrap_content"/>
<TextView
android:text="CAPTURA!"
android:layout_alignTop="@id/ok"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:gravity="center"/>

</RelativeLayout>


el center_horizontal tb lo he probado Razz

Publicar Nuevo Tema   Responder al Tema    Índice del Foro www.Android-Spa.com -> Dudas empezando a programar Android Todas las horas están en GMT + 2 Horas
Página 1 de 1
Ver tema anterior :: Ver siguiente tema  

 
Saltar a:  
No puede crear mensajes
No puede responder temas
No puede editar sus mensajes
No puede borrar sus mensajes
No puede votar en encuestas