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

Respuesta
 
Herramientas
  #1  
Viejo 10/01/15, 16:39:34
Array

[xs_avatar]
rafaxplayer rafaxplayer no está en línea
Miembro del foro
 
Fecha de registro: jun 2013
Localización: en la barcelona media
Mensajes: 224
Modelo de smartphone: LG-E610
Tu operador: Orange
Duda reemplazar fragmentos

Saludos compañeros , tengo una duda que me esta dando guerra...

Resulta que tengo un viewpager el cual en una de sus paginas quiero reemplazar el fragmento inicial por otro , el caso es que no se porque no lo reemplaza solo dibuja encima y el inicial queda de fondo.

este seria el fragment inicial:



Y despues hago un replace desde el mismo fragment asi:

Código:
String username = GlobalUtilities.getPrefs(getActivity()).getString("user","");
        if(!username.isEmpty()){
            NewPOST_Fragment frm = NewPOST_Fragment.newInstance(GlobalUtilities.URLNEWPOST+username);
            FragmentTransaction ft = getActivity().getSupportFragmentManager().beginTransaction();
            ft.replace(R.id.notifications_fragment,frm);
            ft.setTransition(FragmentTransaction.TRANSIT_FRAGMENT_FADE);
            ft.addToBackStack(null);
            ft.commit();
        }
y este es el resultado:



Como veis se superpone , no se cual es la causa , aqui pongo los xml de los frm para que los veais;

Fragment inicial;

Código:
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    xmlns:card_view="http://schemas.android.com/apk/res-auto"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    tools:context="com.amsspecialist.fragments.Notifications_Fragment"
    android:id="@+id/notifications_fragment">

    <ScrollView
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:id="@+id/scrollView">

        <LinearLayout
            android:orientation="vertical"
            android:layout_width="fill_parent"
            android:layout_height="fill_parent">


            <ImageView
                android:layout_width="100dp"
                android:layout_height="100dp"
                android:id="@+id/imageUser"
                android:src="@drawable/ic_launcher"
                android:scaleType="centerCrop"
                android:layout_alignParentTop="true"
                android:layout_centerHorizontal="true"
                android:layout_gravity="center_horizontal"
                android:layout_marginTop="30dp" />

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:textAppearance="?android:attr/textAppearanceLarge"
                android:text="Large Text"
                android:id="@+id/textUsername"
                android:layout_below="@+id/icondrawner"
                android:layout_centerHorizontal="true"
                android:layout_gravity="center_horizontal"
                android:layout_marginTop="20dp"
                android:layout_marginBottom="10dp" />

            <Button
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="@string/action_sign_in"
                android:id="@+id/buttonLogin"
                android:layout_alignTop="@+id/textView2"
                android:layout_alignLeft="@+id/textView2"
                android:layout_alignStart="@+id/textView2"
                android:layout_gravity="center_horizontal"
                android:layout_marginTop="10dp"
                android:layout_marginBottom="20dp"
                android:visibility="visible"
                style="@style/Button" />

            <android.support.v7.widget.CardView
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:orientation="horizontal"
                android:id="@+id/card_new_post"
                card_view:cardElevation="2dp"
                card_view:cardCornerRadius="5dp"
                android:stateListAnimator="@drawable/translation_selector"
                android:clickable="true"
                android:layout_marginLeft="10dp"
                android:layout_marginRight="10dp">

                <LinearLayout
                    android:layout_width="fill_parent"
                    android:layout_height="wrap_content"
                    android:orientation="horizontal">

                    <LinearLayout
                        android:layout_width="match_parent"
                        android:layout_height="wrap_content"
                        android:orientation="vertical"
                        android:padding="8dp"
                        android:layout_weight="1">

                        <TextView
                            android:layout_width="wrap_content"
                            android:layout_height="wrap_content"
                            android:textAppearance="?android:attr/textAppearanceLarge"
                            android:text="@string/news"
                            android:id="@+id/texttitle_newpost"
                            android:textStyle="bold|italic" />

                        <TextView
                            android:layout_width="wrap_content"
                            android:layout_height="wrap_content"
                            android:textAppearance="?android:attr/textAppearanceMedium"
                            android:text="@string/news_post_comment"
                            android:id="@+id/textComment_newpost"
                            android:textStyle="italic" />


                    </LinearLayout>

                    <TextView
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:textAppearance="?android:attr/textAppearanceMedium"
                        android:text="0"
                        android:textColor="@android:color/white"
                        android:id="@+id/textBadge_newpost"
                        android:layout_gravity="center_vertical"
                        android:padding="10dp"
                        android:background="@drawable/badge"
                        android:layout_marginRight="10dp" />
                </LinearLayout>
            </android.support.v7.widget.CardView>

            <android.support.v7.widget.CardView
                android:id="@+id/card_new_mps"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:orientation="horizontal"
                card_view:cardElevation="2dp"
                card_view:cardCornerRadius="5dp"
                android:stateListAnimator="@drawable/translation_selector"
                android:clickable="true"
                android:layout_marginLeft="10dp"
                android:layout_marginRight="10dp">

                <LinearLayout
                    android:layout_width="fill_parent"
                    android:layout_height="wrap_content"
                    android:orientation="horizontal">


                    <LinearLayout
                        android:layout_width="match_parent"
                        android:layout_height="wrap_content"
                        android:orientation="vertical"
                        android:padding="8dp"
                        android:layout_weight="1">

                        <TextView
                            android:layout_width="wrap_content"
                            android:layout_height="wrap_content"
                            android:textAppearance="?android:attr/textAppearanceLarge"
                            android:text="@string/news_mps"
                            android:id="@+id/texttitle_newmps"
                            android:textStyle="bold|italic" />

                        <TextView
                            android:layout_width="wrap_content"
                            android:layout_height="wrap_content"
                            android:textAppearance="?android:attr/textAppearanceMedium"
                            android:text="@string/news_mps_comment"
                            android:id="@+id/textComment_newmps"
                            android:textStyle="italic" />


                    </LinearLayout>

                    <TextView
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:textAppearance="?android:attr/textAppearanceMedium"
                        android:text="0"
                        android:textColor="@android:color/white"
                        android:id="@+id/textBadge_newmps"
                        android:layout_gravity="center_vertical"
                        android:padding="10dp"
                        android:background="@drawable/badge"
                        android:layout_marginRight="10dp" />
                </LinearLayout>
            </android.support.v7.widget.CardView>


        </LinearLayout>
    </ScrollView>

</FrameLayout>
Y el segundo fragment:

Código:
<FrameLayout 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"
    android:orientation="vertical"
    android:id="@+id/fragment_new_post"
    tools:context="com.amsspecialist.fragments.NewPOST_Fragment">

    <android.support.v7.widget.RecyclerView
        android:id="@+id/listnew_post"
        android:scrollbars="vertical"
        android:layout_width="match_parent"
        android:layout_height="match_parent"/>


</FrameLayout>
Bueno ,alguna sugerencia?
Responder Con Cita


  #2  
Viejo 13/01/15, 11:46:10
Array

[xs_avatar]
oxot oxot no está en línea
Usuario muy activo
 
Fecha de registro: may 2010
Localización: Santiago
Mensajes: 741
Modelo de smartphone: Xiaomi RedRice
Tu operador: Pepephone
Igual estoy loco pero si estás haciendo un replace desde el mismo fragment puede ser que simplemente lo esté añadiendo encima porque el otro fragment pertenece a la actividad contenedora y no lo elimina.

Has tratado de hacer el replace desde la actividad contenedora? Además así es como Google recomiendo hacerlo, que no exista comunicación directa entre fragments. Yo trataría de hacerlo de dos maneras:
1. A través de los callbacks a la actividad contenedora
http://developer.android.com/guide/c...EventCallbacks
2. Con un método público de la actividad contendora dónde se realiza la transición y tu lo llames desde tu fragment si es indispensable:

(Contenedora)getActivity.replace(fragment_nuevo);

Ya nos dirás...
Responder Con Cita
  #3  
Viejo 13/01/15, 17:13:21
Array

[xs_avatar]
rafaxplayer rafaxplayer no está en línea
Miembro del foro
 
Fecha de registro: jun 2013
Localización: en la barcelona media
Mensajes: 224
Modelo de smartphone: LG-E610
Tu operador: Orange
jejjej no estas loco si google lo dice es por algo las transiciones y reemplazos y demas se deben hacer desde la actividad contenedora , ese era el error .
Responder Con Cita
  #4  
Viejo 14/01/15, 21:48:47
Array

[xs_avatar]
oxot oxot no está en línea
Usuario muy activo
 
Fecha de registro: may 2010
Localización: Santiago
Mensajes: 741
Modelo de smartphone: Xiaomi RedRice
Tu operador: Pepephone
Viendo tus imagenes, ahora te planteo yo una cuestión...
Estás empleando un toolbar o un actionBar?
Si es un toolbar, en el xml has declarado un atributo de altura mínima?
android:minHeight=....
porque a mi a veces me dan problemas de alineaciones del contenido de las toolbar y quisiera saber qué está empleando el resto del mundo.

Graciasssss
Responder Con Cita
  #5  
Viejo 15/01/15, 01:52:34
Array

[xs_avatar]
joselehhh joselehhh no está en línea
Usuario muy activo
· Votos compra/venta: (3)
 
Fecha de registro: jun 2011
Localización: Toledo
Mensajes: 1,111
Modelo de smartphone: Xiaomi Redmi Note 4 global 3/32
Tu operador: Vodafone
 Cita: Originalmente Escrito por oxot Ver Mensaje
Viendo tus imagenes, ahora te planteo yo una cuestión...
Estás empleando un toolbar o un actionBar?
Si es un toolbar, en el xml has declarado un atributo de altura mínima?
android:minHeight=....
porque a mi a veces me dan problemas de alineaciones del contenido de las toolbar y quisiera saber qué está empleando el resto del mundo.

Graciasssss
Offtopic total pero yo también me lo pregunto, cuando pongo el móvil en vertical se desalinean ligeramente los elementos en el toolbar. Uso el atributo minHeight tb.
Un saludo.
__________________
Mis apps en Google Play.
Responder Con Cita
  #6  
Viejo 18/01/15, 16:31:22
Array

[xs_avatar]
rafaxplayer rafaxplayer no está en línea
Miembro del foro
 
Fecha de registro: jun 2013
Localización: en la barcelona media
Mensajes: 224
Modelo de smartphone: LG-E610
Tu operador: Orange
Si yo uso una toolbar y como la tolbar es como un view cualquiera para que quede bien uso un linear layout donde pongo la toolbar arriba y los demas elementos siguientes.
y como minheigth uso ?attr/actionBarSize.
Responder Con Cita
  #7  
Viejo 20/01/15, 10:13:47
Array

[xs_avatar]
oxot oxot no está en línea
Usuario muy activo
 
Fecha de registro: may 2010
Localización: Santiago
Mensajes: 741
Modelo de smartphone: Xiaomi RedRice
Tu operador: Pepephone
Interesante, yo hago lo mismo pero, como comenta el compañero joselehhh, se me descuadran los elementos dentro de la barra (los botones de búsqueda, el título y el acceso al navigation drawer) cuando realizo giros de pantalla.
Y eso que en la propia toolbar, al ser una view normal, le he metido parámetro gravity que, curiosamente, se está pasando por el forro de los ....
Seguiremos con ello
Responder Con Cita
  #8  
Viejo 22/01/15, 23:21:16
Array

[xs_avatar]
oxot oxot no está en línea
Usuario muy activo
 
Fecha de registro: may 2010
Localización: Santiago
Mensajes: 741
Modelo de smartphone: Xiaomi RedRice
Tu operador: Pepephone
 Cita: Originalmente Escrito por oxot Ver Mensaje
Interesante, yo hago lo mismo pero, como comenta el compañero joselehhh, se me descuadran los elementos dentro de la barra (los botones de búsqueda, el título y el acceso al navigation drawer) cuando realizo giros de pantalla.
Y eso que en la propia toolbar, al ser una view normal, le he metido parámetro gravity que, curiosamente, se está pasando por el forro de los ....
Seguiremos con ello
Para el compañero joselehhh, he descubierto que si usas:
android:minHeight="?android:attr/actionBarSize"
para el tamaño de la toolbar los problemas de descuadres son peores que si uso:
android:minHeight="?attr/actionBarSize" <-- el correcto
dónde las cosas aparecen mejor encuadradas.

Si lo usas me cuentas a ver tú que tal??
Responder Con Cita
  #9  
Viejo 28/01/15, 09:52:22
Array

[xs_avatar]
joselehhh joselehhh no está en línea
Usuario muy activo
· Votos compra/venta: (3)
 
Fecha de registro: jun 2011
Localización: Toledo
Mensajes: 1,111
Modelo de smartphone: Xiaomi Redmi Note 4 global 3/32
Tu operador: Vodafone
Hola oxot, efectivamente, yo uso el
[PHP]android:minHeight="?attr/actionBarSize"[/PHP]
En el unico sitio donde se me descoloca al rotar es en una activity con la flecha back arrow. Al rotar, el titulo de la activity no queda a la misma altura. No me pasa lo mismo en el main actitivity con el menu drawer icon. Ahí aunque rote la pantalla, siguen alineados. En las dos activities uso como atributo de altura el que comentas.
Un saludo.
__________________
Mis apps en Google Play.
Responder Con Cita
Respuesta

Estás aquí
Regresar   Portal | Indice > Todo sobre Android > Programación y Desarrollo para Android



Hora actual: 00:15:02 (GMT +1)



User Alert System provided by Advanced User Tagging (Lite) - vBulletin Mods & Addons Copyright © 2025 DragonByte Technologies Ltd.

Contactar por correo / Contact by mail / 邮件联系 /