Autor
|
Tema: Andoid - Como evitar los Fragment superpuestos (Leído 10,053 veces)
|
srWhiteSkull
|
Todo eso es lo mismo que le expliqué en la publicación. Como puedes apreciar el fragmento B sigue vivo y posiblemente el resto de fragmentos. De esa forma cuando usted haga BACK volverá al fragmento que hay debajo.
|
|
|
En línea
|
|
|
|
MaX2
Desconectado
Mensajes: 116
|
Te respondo con dificultad porque escribo desde el móvil, y no tengo muy buena cobertura. He probado el código que has puesto y funciona bien, igual como el que tengo yo y puedes ver en el video, pero cuando se colocan unos botones en un Fragment para mostrar otro Fragment, es cuando aparece ese problema de Fragment superpuestos.
Interesa tener los fragment anteriores vivo para poder volver atrás y poder mostrarlo.
Se puede solucionar de alguna forma, he puesto un fondo, pero no es efectivo porque, aunque no se ven los botones, siguen activos, y si se pulsa encima de uno de los botones, aunque no se vea, se abre su fragment.
|
|
|
En línea
|
|
|
|
srWhiteSkull
|
Entonces si te interesa que estén vivos lo único que debes hacer es que el layout que lo solapa le tengas puesto la propiedad clickable false. https://developer.android.com/reference/android/view/View#attr_android:clickableDe esa forma al hacer click sobre el fondo no traspasará o no debería traspasarlo y hacer click a lo que haya detrás. PD Puedes implementarlo también en la vista de diseño (en el XML), así : android:clickable="false"
|
|
« Última modificación: 24 Abril 2019, 20:04 pm por srWhiteSkull »
|
En línea
|
|
|
|
MaX2
Desconectado
Mensajes: 116
|
No se si me dará tiempo a probarlo ahora, pero lo que comentas de poner android:clickable="false", no tengo claro en el xml donde colocarlo, porque en el momento que lo ponga, no se van a anular los botones ?
Quiero decir que la primera vez que entre al fragmen y me muestre los botones si ya los he anulado no podre abrir el otro fragmen, y si lo pongo en el segundo fragment anulara los botones que hay en este segundo fragment.
|
|
|
En línea
|
|
|
|
srWhiteSkull
|
Eso va en el XML del fragmento, en sus propiedades, como cuando especificas el ancho, alto o color de fondo (que es lo que habrás hecho para tapar lo que hay detrás). Ese atributo le indica a la aplicación que esa vista no puede ser clickable pero los componentes que existan dentro de esa vista no se verán afectados como botones etc. Creo haber usado eso hace tiempo, pero si lo pruebas ya nos cuentas por aquí y de paso acuérdate de mostrar el XML donde lo incluiste a ver si lo pusiste correctamente.
PD Quizás si tengo tiempo te muestro un ejemplo.
|
|
« Última modificación: 24 Abril 2019, 20:42 pm por srWhiteSkull »
|
En línea
|
|
|
|
MaX2
Desconectado
Mensajes: 116
|
Espera srWhiteSkull no te molestes en poner codigo, voy a ver si puedo hacerlo, y si no doy con la solucion te lo digo, pero como te comenta no se si voy a poder hacerlo ahora. Estaba viendo con el movil, que odio tener que leer desde él, jeje, que tambien hay que poner en el xml esto: android:focusable="true" android:focusableInTouchMode="true"
no entiendo porque. y tambien despues de llamar al FragmenD poner este codigo para ignorará todos botones FragmenA.setOnTouchListener(new OnTouchListener() { @Override public boolean onTouch(View v, MotionEvent event) { return true; } });
|
|
|
En línea
|
|
|
|
MaX2
Desconectado
Mensajes: 116
|
Estaba deseando probarlo para ver si puedo seguir con la aplicación, pero no he tenido suerte con android:clickable="false", incluso he llegado a ponerlo en los dos a la vez, en el ConstraintLayout y en FrameLayout, y cuando los botones se siguen quedando activos.
|
|
|
En línea
|
|
|
|
MaX2
Desconectado
Mensajes: 116
|
Mira srWhiteSkull incluso colocandolo en los dos, en LinearLayout y androidx.constraintlayout.widget.ConstraintLayout los link siguen activos, si que pone un color de fondo para que no se van, pero como digo siguen activos los link que hay debajo. Tambien lo he puesto en el XML del que se queda debajo, pero nada.
|
|
|
En línea
|
|
|
|
|
MaX2
Desconectado
Mensajes: 116
|
Gracias de verdad srWhiteSkull, si estabas liado, había preferido que comentases que luego mañana o pasado lo probarías, o cuando estés menos liado, yo he ido respondiendo por si alguien de las mas de 400 visitas que tiene el post podía comentar algo, bueno igual están en la misma situación que yo, aunque creo que sea difícil, jeje.
He probado el de la API 22 y max 26, porque tengo Android 7.1, y veo que funciona, pero si en un futuro tengo un móvil nuevo, que ya tendrá una API superior, que diferencia hay en el código entre uno y otro ? porque pensaba que si se crea una app para utilizarla en un movil con API 25, esta app tambien funcionaria sin problemas en otros con API 29
Por otro lado, seria posible ver el codigo nuevo que has creado para esta apk, porque estoy colocando el android:clickable="true" y los botones me siguen funcionando.
Por cierto, al pone clickable="true" me dice que tengo que poner también android:focusable="true"
Editado Espera espera, que con las prisas lo estaba colocando en otro xml, Voy a probarlo en otro proyecto que tengo a ver que tal funciona.
|
|
« Última modificación: 25 Abril 2019, 23:26 pm por MaX2 »
|
En línea
|
|
|
|
|
Mensajes similares |
|
Asunto |
Iniciado por |
Respuestas |
Vistas |
Último mensaje |
|
|
Botones superpuestos con swing
Java
|
rigoxls
|
8
|
12,820
|
12 Noviembre 2020, 17:58 pm
por MCKSys Argentina
|
|
|
Dont fragment iphdr C
Programación C/C++
|
soyloqbuskas
|
0
|
1,541
|
12 Octubre 2012, 11:59 am
por soyloqbuskas
|
|
|
Dos objetos superpuestos. Utilización de la etiqueta z-index
Desarrollo Web
|
Bròquil
|
2
|
2,400
|
9 Marzo 2014, 23:48 pm
por Bròquil
|
|
|
Cómo evitar que servicios como Unroll.me espíen tus cuentas de Google o Facebook
Noticias
|
wolfbcn
|
0
|
1,994
|
26 Abril 2017, 02:20 am
por wolfbcn
|
|
|
Como Deshabilitar botones del Fragment anterior ?
Java
|
MaX2
|
0
|
1,947
|
25 Febrero 2022, 14:19 pm
por MaX2
|
|