Jestem nowy w programowaniu. Używałem układu graficznego, kiedy czytałem plik xml, zobaczyłem FrameLayout. Potem szukałem, ale nie mogłem znaleźć czegoś przydatnego. Co to jest FrameLayout i do czego służy?
Jestem nowy w programowaniu. Używałem układu graficznego, kiedy czytałem plik xml, zobaczyłem FrameLayout. Potem szukałem, ale nie mogłem znaleźć czegoś przydatnego. Co to jest FrameLayout i do czego służy?
Odpowiedzi:
Używasz FrameLayout do układania widoków podrzędnych jeden na drugim, z najnowszym dzieckiem na wierzchu stosu. W poniższym przykładzie TextView jest najnowszym, więc jest automatycznie umieszczany na górze ImageView.
Na przykład:
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<ImageView
android:id="@+id/backgroundImage"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:scaleType="centerCrop"
android:src="@drawable/bitmapie" />
<TextView
android:id="@+id/descTextView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:layout_marginTop="70dp"
android:background="@android:color/holo_blue_light"
android:padding="10dp"
android:text="TextView placed at the top of the Imageview"
android:textColor="@android:color/white"
android:textSize="22sp" />
</FrameLayout>
Wynik:
FrameLayout
to najprostsza implementacja ViewGroup
. Widoki podrzędne są rysowane na stosie, gdzie ostatnio dodany widok jest rysowany na górze. Zwykle możesz użyć jednego z następnych podejść lub połączyć je:
FrameLayout
android:layout_gravity
aby się po nich poruszaćInne popularne metody użycia FrameLayout
:
Fragment
pojemnikViewGroup
Możesz uznać to słowo frame
za zwykłą ramkę do zdjęć. Co robisz z tą ramą? możesz umieszczać zdjęcia w tej ramce jeden na drugim. Tak samo jak w FrameLayout
, możemy umieszczać widoki (dowolny układ lub widżet, taki jak przycisk, tekst, obraz itd.) Nad innymi, ponieważ @ojonugwa pokazuje widok tekstu na górze obrazu.
iframe
pochodzeniu z tworzenia stron internetowych. Dzięki za najprostsze wyjaśnienie.
Czy na pewno wyszukałeś go w Google?
Układ ramki służy do blokowania obszaru na ekranie w celu wyświetlenia pojedynczego elementu. Ogólnie rzecz biorąc, FrameLayout powinien być używany do przechowywania pojedynczego widoku podrzędnego, ponieważ organizowanie widoków podrzędnych w sposób skalowalny do różnych rozmiarów ekranu bez nakładania elementów podrzędnych na siebie może być trudne.
Możesz jednak dodać wiele elementów podrzędnych do FrameLayout i kontrolować ich położenie w FrameLayout, przypisując grawitację każdemu elementowi podrzędnemu za pomocą atrybutu android: layout_gravity.
Sekretem FrameLayout jest sposób, w jaki układa swoje elementy podrzędne. Chociaż normalnie jest zaprojektowany tak, aby zawierał jeden przedmiot, z radością układa inne elementy jeden na drugim. Dlatego FrameLayout jest zasadniczo sposobem manipulowania kolejnością widoków Z na ekranie.
Jest to bardzo przydatne w przypadku kilku sztuczek interfejsu użytkownika, od elementów przypominających interfejs HUD, przez przesuwane panele, po bardziej złożone animowane przejścia. W tym poście zobaczymy przykład dla każdego z nich.
FrameLayout jest przeznaczony do wyświetlania jednego elementu naraz. Możesz mieć wiele elementów w FrameLayout, ale każdy element zostanie umieszczony w oparciu o lewy górny róg ekranu. Elementy, które się nakładają, będą się nakładać. Stworzyłem prosty układ XML przy użyciu FrameLayout, który pokazuje, jak to działa.
Zasadniczo umieszcza jeden widok na drugim, na przykład:
Nadmuchiwanie tekstu na obrazie
<FrameLayout>
<ImageView>
<Textview>
</FrameLayout>