Ich programmiere programmatisch in Android. Übergeordnetes Layout ist relatives Layout und ich füge zwei Ansichten hinzu. Die erste ist die Listenansicht und die zweite ist die benutzerdefinierte Ansicht. Ich möchte, dass meine zweite benutzerdefinierte Ansicht oben auf der Liste steht, aber irgendwie wird sie hinter der Listenansicht versteckt. Wie stelle ich sicher, dass meine benutzerdefinierte Ansicht oben ist?Wie man eine Ansicht über andere in Relative Layout programmatisch in Android setzen?
Antwort
Verwenden FrameLayout, Frame-Layout zuletzt hinzugefügt Ansicht oben zeigt ..
Ich will nicht FrameLayout verwenden, isn Gibt es das überhaupt im Relativen Layout? – Chimu
Ansichten in der Reihenfolge ihrer Ansichten zu ihren Eltern hinzufügen gelegt bekommen. Die zuletzt hinzugefügte Ansicht wird oben angezeigt. Vielleicht wollen Sie auch versuchen, diese View.bringToFront()
http://developer.android.com/reference/android/view/View.html#bringToFront()
Ich versuchte mit BringToFront(), aber es hat nicht funktioniert – Chimu
Versuchen:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent" >
<ListView
android:id="@+id/list"
android:layout_width="match_parent"
android:layout_height="match_parent" />
<YourCustomView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerInParent="true" />
</RelativeLayout>
Aus irgendeinem Grund möchte ich Relative Layout nur verwenden, ist nicht da, um z-Reihenfolge der relativen Layout Kinder zu behandeln – Chimu
Nochmal: Blick auf das Layout in der Sie es hinzufügen Bestellung erhalten. Frage ist: ist es wirklich versteckt oder macht es nicht ?. Überprüfen Sie LogCat und Console auf Fehler. Wenn Sie nur diese einzelne benutzerdefinierte Ansicht zu Ihrem Layout hinzufügen, wird es ohne Probleme gerendert? Wenn dies der Fall ist, stellen Sie sicher, dass Sie Ihre benutzerdefinierten Daten der gleichen übergeordneten Ansicht (Gruppe) hinzufügen, wenn Sie Ihre ListView hinzufügen. Wenn Sie nicht weiter kommen, geben Sie das entsprechende Codebeispiel an.
Lösung 1 - View # BringToFront() View.bringToFront()
sollte funktionieren, wenn sie ordnungsgemäß verwendet werden. Vielleicht haben Sie vergessen diese (Quelle: http://developer.android.com/reference/android/view/View.html#bringToFront()):
Vor KITKAT diese Methode durch Aufrufe requestLayout() und ungültig machen()
Lösung 2 gefolgt werden sollte - wieder anbringen Ansicht
Wenn View.bringToFront()
nicht funktioniert, versuchen Sie, die Ansicht erneut zu entfernen und hinzuzufügen. Der Vorteil ist, dass der gleiche Code auch bei Versionen vor KITKAT verwendet wird.
ich es auf diese Weise in meinem Code tue:
ViewGroup parentView = (ViewGroup) (listView.getParent());
parentView.removeView(addFab);
parentView.addView(addFab);
Dies funktioniert für mich:
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="220dp"
android:gravity="bottom"
android:orientation="vertical"
android:theme="@style/ThemeOverlay.AppCompat.Dark">
<ImageView
android:id="@+id/details_wrapper"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical"
android:paddingBottom="16dip"
android:scaleType="centerCrop"
android:src="@drawable/temp_nav_image">
</ImageView>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
android:orientation="vertical">
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:paddingTop="@dimen/nav_header_vertical_spacing"
android:text="Kapil Rajput"
android:textStyle="bold"
android:textColor="@android:color/black"
android:textAppearance="@style/TextAppearance.AppCompat.Body1"/>
<TextView
android:id="@+id/textView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textColor="@android:color/black"
android:textStyle="bold"
android:text="[email protected]"/>
</LinearLayout>
</RelativeLayout>
ich relativ Layout und die Reihenfolge der Ansichten irgendwie bestimmt verwendet, die eine oben ist .
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_weight="1">
<SeekBar
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:splitTrack="false"
android:layout_alignParentTop="true"
/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:layout_centerHorizontal="true"/>
In diesem Layout wird die Textview auf die
Make geordneten Ansicht als relatives Layout seekbar sein und Ihren beide Blick in xml.It gewohnt für Linear-Layout arbeitet hinzuzufügen. Und dann fügen Sie FirstView.bringToFront() programmatisch hinzu.
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@mipmap/bg"
android:orientation="vertical"
android:padding="15dp">
<ImageView
android:id="@+id/imgIcon"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:layout_gravity="center"
android:layout_marginBottom="-30dp"
android:layout_marginTop="30dp"
android:src="@mipmap/login_logo" />
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_below="@id/imgIcon"
android:layout_gravity="bottom"
android:background="#B3FFFFFF"
android:gravity="center"
android:orientation="vertical"
android:paddingLeft="10dp"
android:paddingRight="10dp">
<View 1/>
<View 2/>
</LinearLayout>
Java file
imgIcon.brigtToFront();
- 1. Wie man eine Ansicht über eine andere relative Layout in xml
- 2. Wie Overlay-Ansicht über andere Ansicht in Android hinzufügen?
- 3. Benutzerdefinierte Ansicht Erweiterung Relative Layout-
- 4. Hintergrundbild auf Relative Layout mit Glide in Android setzen
- 5. Android setzen zwei Animation auf Ansicht programmatisch
- 6. Wie animiere ich Text über eine andere Ansicht in Android?
- 7. Wie in Relative Layout Android Studio überlappen
- 8. Wie Fragmente programmatisch in Relative Layout hinzugefügt werden
- 9. Android Relative Layout-Zentrieren
- 10. Relative Layout Android
- 11. Setzen Sie eine beliebige Ansicht über ein VideoView in Android
- 12. Layout android Fragmente programmatisch
- 13. Android-Animationen: Ansicht in eine andere Ansicht über alle Layouts verschieben
- 14. Wie man Höhe von gridview programmatisch setzen Android
- 15. Wie programmatisch Breite und Höhe von Relative erhalten - Lineares Layout in Android?
- 16. Android Relative Layout kann kein Bild in der Mitte machen
- 17. Eine Ansicht in eine andere Ansicht laden
- 18. Relative Layout-Ausrichtung Priorität
- 19. Einbinden eines Webview in eine andere Ansicht
- 20. Relative Layout-alignParentLeft vs alignParentStart
- 21. Ist es möglich, eine Ansicht über eine andere in Android zu platzieren?
- 22. Wie man eine Ansicht in asp.net MVC in eine andere Ansicht versetzen?
- 23. Wie Seitenverhältnis Einschränkung programmatisch in ios setzen
- 24. Layout-Vorschau-API in Android Studio setzen
- 25. Wie erstellt man eine neue Tabelle programmatisch in Android/Java?
- 26. Android schwimmende Tasten über eine Ansicht
- 27. Android - Eine Ansicht programmatisch hinzufügen ignoriert einige Stilattribute
- 28. Android Linear Layout Gewicht programmatisch
- 29. Wie ein schwebendes Blick auf eine andere Ansicht in android
- 30. Layout in ein anderes Layout programmatisch aufladen
bitte postyour Code –