|
||
|
|
|
|||||||
| 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
|
||||
|
||||
|
layout encima de otro.
Buenas.
Como se podria conseguir poner el típico layout de fin de pantalla y que por debajo aparezca la pantalla que has terminado? Si lo hago con un layout y lanzo una nueva actividad una vez terminada la pantalla, esta taparia la anterior. Una idea aproximada es esta: Un saludo. |
|
|
|
#2
|
||||
|
||||
|
Lo que hago en ese caso es tener un layout superpuesto en la misma actividad con fondo translúcido (el color que mejor venga, negro tal vez para que oscurezca, con un valor alpha de transparencia, p.ej. #AA000000).
No hace falta cambiar de actividad, simplemente mostrar el layout al finalizar la partida u ocultarlo. Otra opción similar es usar un ViewStub, que te permite tener la definición de ese layout en un fichero independiente y cargarlo cuando vayas a mostrarlo. Hacerlo como actividad independiente también es posible, aquí lo explican bien http://stackoverflow.com/questions/2...ity-in-android, aunque personalmente prefiero un layout superpuesto.
__________________
El mejor Cuatro en Raya de Android (Hilo en HTCMania, Play Store) ¡Un millón de descargas!
|
|
#3
|
||||
|
||||
|
Hola, como muestras el layout al finalizar la partida?
Podria ser de la siguiente manera? 1. Creo el xml : Código:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/linearfinpantalla1"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<TextView
android:id="@+id/textView1_finpantalla1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:text="@string/nivel_completado"
android:textAppearance="?android:attr/textAppearanceLarge" />
<ImageView
android:id="@+id/imageView1_finpantalla1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:src="@drawable/boton_thumbsup2" />
.
.
.
Código:
public class Finpantalla1 extends LinearLayout{
TextView text1, text2, text3;
public Finpantalla1(Context context) {
super(context);
LayoutInflater li = (LayoutInflater)getContext().getSystemService(Context.LAYOUT_INFLATER_SERVICE);
li.inflate(R.layout.finpantalla1_layout, this, true);
text1 = (TextView)findViewById(R.id.textView5_finpantalla1);
text2 = (TextView)findViewById(R.id.textView6_finpantalla1);
text3 = (TextView)findViewById(R.id.textView7_finpantalla1);
text1.setText("lo que sea");
text2.setText("hola que tal");
text3.setText("hola buenas");
}
}
Código:
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
LinearLayout linearfin = (LinearLayout)findViewById(R.id.linearfinpantalla1);
Finpantalla1 finpanta = new Finpantalla1(this);
linearfin.addView(finpanta);
|
|
#4
|
||||
|
||||
|
La forma cutre-rápida: usa un RelativeLayout de base en la actividad del juego (con el LinearLayout no vas a poder poner nada encima), y al final, en el xml, defines el LinearLayout con los elementos del marcador. Ese layout y sus elementos lo dejas con el atributo visible a invisible, y cuando toque mostrarlo actualizas las variables y lo pones visible.
La forma elegante es usar un ViewStub, que viene a ser un "aquí me cargas tal fichero layout". Sigues necesitando un RelativeLayout de base o no podrás poner ninguna view adicional encima de lo demás. Y el layout del marcador ya lo defines en otro xml independiente. Como en el ejemplo: http://android-developers.blogspot.c...mize-with.html
__________________
El mejor Cuatro en Raya de Android (Hilo en HTCMania, Play Store) ¡Un millón de descargas!
|
|
#5
|
||||
|
||||
|
A ver si me entero.
Yo como tablero principal uso un LinearLayout de base. Dices usar un RelativeLayout en vez del linear . Dices que al final del Relative ponga el linear que yo tengo con todo y que los marcadores queden por encima sobreescribiendo todo pero con valores invisibles para una vez termine el juiego cambiarlo a visible ?? Claro con el Relative se sobreescribe todo ... .Voy a probarlo tambien a ver como sale. No obstante. lo de inflar de un xml seria correcto para este caso? Es por probar varios metodos. Que falla en el codigo que tengo puesto?? Un saludo. |
|
#6
|
||||
|
||||
|
Ya lo resolvi el otro dia tal y como me indicaste. Use los dos metodos y en ambos sale igual aunque es cierto que con ViewStub es bastante sencillo.
Un saludo. |