Sou novo em programação. Eu estava usando o layout gráfico quando estava lendo um arquivo xml, vi o FrameLayout. Então procurei, mas não consegui encontrar algo útil. O que é FrameLayout e o que ele faz?
Sou novo em programação. Eu estava usando o layout gráfico quando estava lendo um arquivo xml, vi o FrameLayout. Então procurei, mas não consegui encontrar algo útil. O que é FrameLayout e o que ele faz?
Respostas:
Você usa um FrameLayout para empilhar visualizações filhas umas sobre as outras, com as filhas mais recentes no topo da pilha. No exemplo abaixo, o TextView é o mais recente, portanto, é automaticamente colocado no topo do ImageView.
Por exemplo:
<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>
Resultado:
FrameLayout
é a implementação mais simples de ViewGroup
. As visualizações filhas são desenhadas em uma pilha, onde a última visualização adicionada é desenhada no topo. Normalmente você pode usar uma das próximas abordagens ou combiná-las:
FrameLayout
android:layout_gravity
para navegá-losOutra abordagem popular de uso FrameLayout
:
Fragment
recipienteViewGroup
Você pode considerar a palavra frame
como moldura de foto normal. O que você faz com essa moldura? você pode colocar as fotos nesse quadro de cima para baixo. Da mesma forma FrameLayout
que podemos colocar visualizações (qualquer layout, ou widget como botão, texto, imagem, etc.) em cima dos outros, pois @ojonugwa mostra a visualização de texto no topo da imagem.
iframe
do desenvolvimento web. Obrigado pela explicação mais simples.
Tem certeza de que pesquisou no Google?
O Layout do Quadro é projetado para bloquear uma área na tela para exibir um único item. Geralmente, FrameLayout deve ser usado para manter uma única exibição filho, porque pode ser difícil organizar exibições filho de uma maneira que seja escalonável para diferentes tamanhos de tela sem que os filhos se sobreponham.
No entanto, você pode adicionar vários filhos a um FrameLayout e controlar sua posição dentro do FrameLayout atribuindo gravidade a cada filho, usando o atributo android: layout_gravity.
O segredo do FrameLayout é como ele faz o layout de seus filhos. Embora normalmente projetado para conter um item, ele alegremente empilhará outro elemento um em cima do outro. Portanto, FrameLayout é essencialmente uma maneira de manipular a ordem Z das visualizações na tela.
Isso é muito útil para alguns truques de IU, de elementos do tipo HUD a painéis deslizantes e transições animadas mais complexas. Neste post veremos um exemplo para cada um deles.
FrameLayout é projetado para exibir um único item por vez. Você pode ter vários elementos em um FrameLayout, mas cada elemento será posicionado com base na parte superior esquerda da tela. Os elementos que se sobrepõem serão exibidos sobrepostos. Criei um layout XML simples usando FrameLayout que mostra como isso funciona.
Basicamente, ele coloca uma visão sobre a outra, por exemplo:
Inflar texto na imagem
<FrameLayout>
<ImageView>
<Textview>
</FrameLayout>