Sono nuovo nella programmazione. Stavo usando il layout grafico, quindi mentre leggevo il file xml, ho visto FrameLayout. Poi ho cercato, ma non sono riuscito a trovare qualcosa di utile. Cos'è FrameLayout e cosa fa?
Sono nuovo nella programmazione. Stavo usando il layout grafico, quindi mentre leggevo il file xml, ho visto FrameLayout. Poi ho cercato, ma non sono riuscito a trovare qualcosa di utile. Cos'è FrameLayout e cosa fa?
Risposte:
Si usa un FrameLayout per impilare le visualizzazioni figlio una sopra l'altra, con il figlio più recente in cima allo stack. Nell'esempio seguente, TextView è il più recente, quindi viene automaticamente posizionato sopra ImageView.
Per esempio:
<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>
Produzione:
FrameLayout
è l'implementazione più semplice di ViewGroup
. Le viste secondarie sono disegnate in una pila, dove l'ultima vista aggiunta è disegnata in alto. Di solito puoi usare uno dei prossimi approcci o combinarli:
FrameLayout
android:layout_gravity
per spostartiUn altro approccio popolare di utilizzo FrameLayout
:
Fragment
contenitoreViewGroup
Puoi considerare la parola frame
come una normale cornice per foto. Cosa fai con quella cornice? puoi posizionare le foto in quella cornice, una sopra l'altra. Come in FrameLayout
possiamo posizionare le visualizzazioni (qualsiasi layout, pulsante come widget, testo, immagine e così via) sopra le altre poiché @ojonugwa ti mostra la visualizzazione del testo in alto nell'immagine.
iframe
come vengo dallo sviluppo web. Grazie per la spiegazione più semplice.
Sei sicuro di averlo cercato su Google?
Il layout della cornice è progettato per bloccare un'area sullo schermo per visualizzare un singolo elemento. In genere, FrameLayout dovrebbe essere usato per contenere una singola visualizzazione figlio, perché può essere difficile organizzare le visualizzazioni figlio in un modo che sia scalabile a diverse dimensioni dello schermo senza che gli elementi figlio si sovrappongano.
Puoi, tuttavia, aggiungere più figli a un FrameLayout e controllare la loro posizione all'interno del FrameLayout assegnando la gravità a ogni bambino, utilizzando l'attributo android: layout_gravity.
Il segreto di FrameLayout è il modo in cui impagina i suoi figli. Sebbene normalmente progettato per contenere un oggetto, impilerà felicemente altri elementi uno sopra l'altro. Pertanto FrameLayout è essenzialmente un modo per manipolare l'ordine Z delle visualizzazioni sullo schermo.
Questo è molto utile per un paio di trucchi dell'interfaccia utente da elementi simili a HUD a pannelli scorrevoli a transizioni animate più complesse. In questo post vedremo un esempio per ciascuno di essi.
FrameLayout è progettato per visualizzare un singolo elemento alla volta. Puoi avere più elementi all'interno di un FrameLayout, ma ogni elemento sarà posizionato in base alla parte superiore sinistra dello schermo. Gli elementi che si sovrappongono verranno visualizzati sovrapposti. Ho creato un semplice layout XML utilizzando FrameLayout che mostra come funziona.
Fondamentalmente mette una vista sopra l'altra, ad esempio:
Testo di gonfiaggio sull'immagine
<FrameLayout>
<ImageView>
<Textview>
</FrameLayout>