[Ayuda] Desarrolladores Android

¿alguien me podria echar una ayuda?

crear una interfaz y colocar los botones se me resiste muchisimo ¿alguien sabe algo sobre esto?
adri-skater8 está baneado por "troleos reiterados"
Si comentas qué problemas tienes quizás te podamos echar una mano.
adri-skater8 escribió:Usas eclipse? Porque eso se puede hacer gráficamente

Desgraciadamente a poco que hagas algo mínimamente complicado, el diseñador de Eclipse o el DroidDraw se vuelven totalmente inútiles. Al final te toca editar el XML a mano, que después de todo no es tan malo.
melado escribió:
adri-skater8 escribió:Usas eclipse? Porque eso se puede hacer gráficamente

Desgraciadamente a poco que hagas algo mínimamente complicado, el diseñador de Eclipse o el DroidDraw se vuelven totalmente inútiles. Al final te toca editar el XML a mano, que después de todo no es tan malo.


para mi es una odisea :(

pongo el codigo:


<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
   android:layout_width="fill_parent" android:orientation="vertical"
   android:background="@drawable/espacio" android:layout_height="wrap_content" android:gravity="center">
   <ImageView android:src="@drawable/orange"
      android:id="@+id/imageView1" android:scaleType="centerInside"
      android:layout_gravity="center_vertical" android:layout_width="fill_parent" android:layout_height="fill_parent"></ImageView
</LinearLayout>


(supongo que el codigo tendra algo de "basura" [+risas], ya lo ire mirando, ahora solo quiero que funcione)

lo que quiero es poner un boton (un imageview) abajo a la derecha

pongo tambien la imagen pero si no os habeis pasado el portal 2 y os quereis tragar un spolier, no lo abrais:

Imagen
En vez de un LinearLayout, yo usaría un RelativeLayout y pondría el ImageView con los atributos android:layout_alignParentRight="true" y android:layout_alignParentBottom="true". De esa forma tienes la imagen alineada abajo y a la derecha. Luego puedes ajustarle el margen y tal para que no esté pegada al borde.
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
   android:layout_width="fill_parent" android:orientation="vertical"
   android:background="@drawable/espacio" android:layout_height="wrap_content" android:gravity="center">

   <ImageView android:src="@drawable/orange"
      android:id="@+id/imageView1" android:scaleType="centerInside"
      android:layout_gravity="center_vertical" android:layout_width="fill_parent" android:layout_height="fill_parent"></ImageView>

   <ImageView android:layout_height="wrap_content" android:src="@drawable/icon" android:id="@+id/imageView2" android:layout_width="wrap_content" android:layout_toRightOf="@+id/imageView1" android:layout_alignBottom="@+id/imageView1" android:layout_alignParentRight="true" android:layout_alignParentBottom="true"></ImageView>

</RelativeLayout>


me da error (soy un zoquete con el diseño de la intefaz)

solo he cambio el "linear" por un "relative" y he puesto un ImageView y le he dado esos dos atributos ademas de los que ya tiene
¿"Un" error? ¿Cuál? :P

Probablemente sea porque RelativeLayout no soporta android:orientation, o porque no has definido la alineación de la primera ImageView.

Puedes probar a borrar todo, y utilizar el editor gráfico de Eclipse, que para una cosa así básica debería funcionar bien. Creas un nuevo layout y pones que la raíz sea RelativeLayout. Luego arrastras el ImageView y verás que según la zona donde acerques el ratón, se enganchará a un sitio o a otro. Ponlo donde quieras y luego comprueba el código que genera, a ver en qué se diferencia de lo que tenías hecho.
vale, por partes xD

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
   android:layout_width="fill_parent" android:orientation="vertical"
   android:background="@drawable/espacio" android:layout_height="wrap_content" android:gravity="center">

   <ImageView android:layout_height="wrap_content" android:src="@drawable/icon" android:id="@+id/imageView2" android:layout_width="wrap_content" android:layout_alignParentRight="true" android:layout_alignParentBottom="true"></ImageView>

   <ImageView android:layout_height="wrap_content" android:src="@drawable/orange" android:id="@+id/imageView1" android:layout_width="fill_parent" android:scaleType="centerInside"></ImageView>

</RelativeLayout>


con este codigo tengo el boton donde queria, pero... ¿que es lo que pasa? que la imagen del la "bola" se ha puesto arriba otra vez y por mas que la arrastro, no me deja colocarla (pongo foto)

Imagen


edito el [code]
Porque en un RelativeLayout todo tiene que estar relativo a algo. En este caso se ha puesto relativo al borde superior. Lo que puedes hacer es que la imagen ocupe todo el RelativeLayout (layout_width y height a match_parent) y luego ponerle el android:scaleType a "center".
por fin!!! al final solo he tocado esto:

android:scaleType="center" android:layout_height="fill_parent"


¿no hay una forma de comerse menos la cabeza? frustra bastante tener toda al app hecha y que por esto no funcione
Es cuestión de pillarle el truco, los Layouts de Android son bastante lógicos y normalmente hay varias formas de hacer lo mismo, lo cual confunde. En este caso está claro que necesitas un RelativeLayout, porque tú mismo dijiste que querías poner una imagen "en el centro" (relativa al borde superior) y otra "abajo a la derecha" (relativa al borde inferior y derecho), así que... es lo lógico :P

Pero vamos, para cosas sencillas como esta funciona bien el editor gráfico del Eclipse.
genial xD

nuevo problema, como a la bola le he dicho que ocupe todo... si pulso el ImageView de abajo a la derecha, se ejecuta la bola y no el ImageView xD
¿Has probado a cambiar el orden de dibujado de los elementos? ¿Cómo ejecutas el click?
te pongo como esta actualmente y asi lo ves mejor:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
   android:layout_width="fill_parent" android:orientation="vertical"
   android:background="@drawable/espacio" android:layout_height="wrap_content" android:gravity="center">

   <ImageView android:layout_height="wrap_content" android:src="@drawable/icon" android:id="@+id/imageView2" android:layout_width="wrap_content" android:layout_alignParentRight="true" android:layout_alignParentBottom="true"></ImageView>

   <ImageView android:layout_height="fill_parent" android:src="@drawable/orange" android:id="@+id/imageView1" android:layout_width="fill_parent" android:scaleType="center"></ImageView>

</RelativeLayout>


a lo que voy esque antes si le daba al ImagenView (el que tiene el icono por defecto) no hacia nada, porque no tiene nada aun. Pero ahora con los cambios y habiendolo ordenado asi, si pulso, si hace algo, que es ejecutar el sonido de la bola
Prueba esto:
melado escribió:¿Has probado a cambiar el orden de dibujado de los elementos?


Primero dibujas el ImageView grande, que va detrás, y luego el pequeño, que va delante, y deberías poder hacer click en él. Creo.
vale, cambiado el orden

pero sigo en las mismas y da igual donde pulse, porque si pulso fuera de la imagen, sea donde sea, se ejecuta el sonido

edit: lo dejo un poquito, en un rato, no mucho, vuelvo a mirar si alguien ha posteado (gracias melado)
¿Cómo estás asociando los elementos al click?
a ver, explico mas o menos como esta todo:

-el codigo es el de arriba, lo unico que cambia esque el boton de la bola (@+id/imageView1) esta por encima del otro
-al pulsar la bola, va a un .java que ejecuta el sonido
-luego esta el otro ImageView que aun no hace nada pero en breve lanzara otra pag o Layout

cosas que pasan y no deben ser asi:

-si se pulsa en el fondo de pantalla ejecuta el sonido. Esto no deberia ser asi, pero como esta extendida la imagen para que se pueda poner en el centro, pues... lo ejecuta (no deberia ser asi de todas formas)
-si se pulsa el otro boton, tambien se ejecuta el sonido. Asi no deberia ser, vale que no hay nada asociado a ese boton, pero no deberia ser asi

no hay nada mas hecho
Pero lo que quiero decir es... los ImageViews por defecto no son clickables y ahí no has puesto android:clickable ni android:onClick por ninguna parte. ¿Cómo estás reconociendo ese click?
ya nada, al final era la tonteria mas grande del mundo (gracias DroidDraw)

tenia que añadir estar 2 cosas y extender el RelativeLayout

android:layout_centerVertical="true"
android:layout_centerHorizontal="true"


ahora solo me queda crear otro .java y poner un par de botones
20 respuestas