Autore Topic: Codice che sposta un relativelayout non sposta il fragment sotto di esso  (Letto 262 volte)

Offline Giacomo79

  • Utente junior
  • **
  • Post: 123
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    Google Nexus One
  • Play Store ID:
    Big and Fish
  • Sistema operativo:
    Android 2.3
Salve a tutti,
ho un relativelayout e un fragment sotto di esso, con questo codice:

Codice (XML): [Seleziona]
<RelativeLayout
           android:layout_width="match_parent"
           android:layout_height="wrap_content"
           android:id="@+id/viewMarker"></RelativeLayout>

<fragment
           xmlns:map="http://schemas.android.com/apk/res-auto"
           android:id="@+id/map"
           android:name="com.google.android.gms.maps.SupportMapFragment"
           android:layout_width="match_parent"
           android:layout_height="match_parent"
           android:layout_below="@+id/viewMarker"
           tools:context=".activities.MapsActivity" />

A runtime inserisco una view nel relativelayout, e poi ho questo codice che lo sposta fuori dallo schermo:

Codice (Java): [Seleziona]
ViewTreeObserver vto = vwMarkerDetail.getViewTreeObserver();
        vto.addOnGlobalLayoutListener(new ViewTreeObserver.OnGlobalLayoutListener() {
            @Override
            public void onGlobalLayout() {
                Display display = getWindowManager().getDefaultDisplay();
                Point size = new Point();
                display.getSize(size);
                screenW = size.x;
                screenH = size.y;

                //vwMarkerDetail.setTranslationY(-vwMarkerDetail.getHeight());
                vwMarkerDetailContainer.setTranslationY(-vwMarkerDetailContainer.getHeight());

                ViewTreeObserver obs = vwMarkerDetail.getViewTreeObserver();
                if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN) {
                    obs.removeOnGlobalLayoutListener(this);
                } else {
                    obs.removeGlobalOnLayoutListener(this);
                }
            }
        });

Questo codice però non mi sposta il fragment in alto, cosa che pensavo facesse (trovandosi sotto il relativelayout, e spostando il relativelayout, pensavo si spostasse anche il fragment).

Sapete dove sto sbagliando?

Grazie