|
||
|
|
|
|||||||
| Avisos |
| 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
|
||||
|
||||
|
Interfaz grafica superponer componentes
Hola
Me gustaria saber como puedo poner botones encima de imagenes u otros componentes graficos, concretamente me gustaria poner botones encima de una imageView, pero solo se ponerlos a los lados, encima o debajo... Gracias de antemano |
|
|
|
#2
|
||||
|
||||
|
La posion al frente o detras lo marca la posicion en el listado de los objetos en el entrono de trabajo.
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" > <ImageView android:id="@+id/imageView1" android:layout_width="match_parent" android:layout_height="match_parent" android:src="@drawable/ic_launcher" /> <Button android:id="@+id/bt_1" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_alignParentLeft="true" android:layout_alignParentTop="true" android:layout_marginTop="152dp" android:text="PLAY" /> <Button android:id="@+id/bt_2" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_alignParentLeft="true" android:layout_below="@+id/bt_1" android:layout_marginTop="58dp" android:text="PAUSE" /> </RelativeLayout> Copia este código en el XML, pasa a la ventana gráfica y mira a la derecha en outline. Los que primero están (estando al mismo nivel, los que están más arriba) seran los que este más atrás, el ultimo sera el que se ve. Tendrás que poner un relativeLayout y ajustar tu mismo las distancias y esas cosas. Suerte ;) |
|
#3
|
||||
|
||||
|
Muchisimas gracias, la verdad que ahora que lo veo me parece tan sencillo que ni merecia una entrada en el foro... el problema era que estaba usando un linearLayout.
|
|
#4
|
||||
|
||||
|
Todo parece sencillo después de saber como se hace. Hay veces que estoy con una "tontería" horas... al final es una tontería, jejeje
Hablamos ;) |
|
#5
|
||||
|
||||
|
Otra pregunta, resulta que haciendo la interfaz grafica me asalto la duda de si era posible encontrar distintos componentes graficos y añadirlos a los que ya trae eclipse que se me quedan un poco cortos. Por ejemplo barras de progreso alargadas, o iconos que me sirvan de botón, o componentes como los que ya hay pero con distinto diseño...
Y encontre esto que no se si es exactamente lo que busco: http://developer.android.com/intl/es...ads/index.html Pero lo he descargado y no se exactamente como se usa, o como se añade a eclipse, ¿alguna idea? |
|
#6
|
||||
|
||||
|
Claro que puedes añadir todos los componentes que quieras, lo único que tienes que hacer es crear una clase nueva, extender View, y programar como se comporta ese nuevo componente en la pantalla (cuando se tiene que dibujar, cuando el sistema le pregunta cuanto mide, etc..). Es uno de los procesos más complejos, pero seguro que el 90% de cualquier componente que se te ocurra ya lo ha programado alguien, sólo es cuestión de buscar.
En cuanto a iconos que te sirvan de botón, cualquier View en Android sirve como botón, lo único que tienes que hacer es programarle su OnTouchListener. Por ejemplo el ImageView (que es el que te interesa) incluso puedes hacer que te muestre una imagen cuando el botón está sin pulsar y cuando lo estás pulsando, además el ImageView tiene OnClickListener (igual que los botones) con lo cual simplifica bastante su programación en lugar de tener que usar OnTouchListener. |
|
#7
|
||||
|
||||
|
Bueno eso ya lo sabia, quizá no me he explicado bien, digamos que tengo dos dudas:
- La primera si yo me creo un componente o lo busco (el codigo), quisiera saber como puedo añadirlo en eclipse en la parte del "auxiliar para la interfaz grafica" (no se muy bien como llamar a esta parte, me refiero a que salga dibujado entre los componentes graficos que tenga y pueda usarlo como cualquier otro) - La segunda duda es casi la misma, lo que me he descargado del enlace que he puesto antes, ¿Como se usa? ¿Donde lo meto o lo pongo para poder usarlo desde eclipse? Saludos y gracias |
|
#8
|
||||
|
||||
|
La primera es facil, si tu tienes un componente ya hecho, una clase que extiende de View o en mi caso SurfaceView vete al apartado de la izquierda donde te pone Custom & Library Views, es decir la ultima pestañita, y ahi tendras todos tus componentes modificados o creados, en mi caso estoy creando un juego y al darle a esa pestaña me aparece la clase que deriva de SurfaceView y uso como mi lienzo.
La segunda no te se responder del todo exacto porque nunca lo he querido hacer, pero creo que podrias hacerlo como aqui http://www.androidhive.info/2012/02/...mage-and-text , creando un componente customizado y mediante los imageview agregas esas imagenes. Sino la otra forma que se me ocurre es que reemplaces el style por defecto y crees tu un style para cada componente al que le quieras cambiar la imagen. Por regla general las imagenes iran en las carpetas de drawables, me imagino que al descargar esos archivos te habran aparecido varios tipos de drawables y tendras que meter cada uno en su carpeta correspondiente. Aunque estoy leyendo ahora y esos iconos que te estas descargando son los mismo de Holo, osea si pones que tu app use la interfaz HoLo ya deberias tener todos los iconos, pero vamos que usar la interfaz Holo ya es algo que lleva diciendo desde hace mucho google para que todas las apps sean parecidas. http://developer.android.com/design/index.html
__________________
|
|
#9
|
||||
|
||||
|
Pero donde se le cambia el tema a Holo, porque yo se lo cambio en el "Graphical Layout" y al ejecutarlo en el teléfono se sigue viendo normal, de hecho cuando le cambio el tema ni si quiera me pide que guarde para ejecutarlo, es como si solo me dejase mostrarlo ahi pero no variase la aplicación...
|
|
#10
|
||||
|
||||
|
Los temas los cambias en el manifiesto. Este es un ejemplo de un dialog personalizado.
<activity android:name="DialogDescargaActivity" android:theme="@android:style/Theme.InputMethod" android:screenOrientation="portrait"> </activity> Busca en @android:style/... hay muchos tipos, el tuyo será, supongo, "@android:style/Theme.Holo" ;) |
|
#11
|
||||
|
||||
|
Ya te ha respondido Celtium, lo que cambias en el Graphical Layout es para ver como se verá con ese tema, pero lo que importa es lo que hay en el Manifest.
Y recordarte que Holo sólo está disponible a partir de HoneyComb, así que en el caso de móviles se puede decir que sólo está disponible a partir de ICS. Si tu aplicación tiene como destino una versión anterior no uses Holo. |
![]() |
Estás aquí
|
||||||
|
||||||