Neste tutorial, você aprende sobre fragmentos e cria um fragmento dentro de um aplicativo inicial chamado AndroidTrivia. No próximo tutorial, você aprenderá mais sobre navegação e fará mais trabalhos no aplicativo AndroidTrivia.
Nos três tutoriais que constituem esta lição, você trabalha em um aplicativo chamado AndroidTrivia. O
aplicativo concluído é um jogo no qual o usuário responde a três perguntas triviais sobre a programação do
Android. Se o usuário responder todas as três perguntas corretamente, ele ganha o jogo e pode compartilhar seus
resultados.
O aplicativo AndroidTrivia ilustra padrões e controles de navegação. O aplicativo possui vários componentes:
A parte superior do aplicativo exibe uma vista colorida chamada de barra de aplicativos, também conhecida como barra de ação.
Neste tutorial, você trabalha a partir de um aplicativo inicial que fornece código de modelo e classes de fragmento de que você precisa ao concluir o aplicativo Trivia.
MainActivity
e as classes de
fragmento. activity_main.xml
aparece no editor de layout.activity_main.xml
mostra o layout raiz como LinearLayout
vertical. Um fragmento representa um comportamento ou uma parte da interface do usuário (IU) em uma atividade. Você pode combinar vários fragmentos em uma única atividade para construir uma IU com vários painéis e pode reutilizar um fragmento em várias atividades.
Pense em um fragmento como uma seção modular de uma atividade, algo como uma "subatividade" que você também pode usar em outras atividades:
O aplicativo AndroidTrivia possui uma atividade principal e vários fragmentos. A maioria dos fragmentos e seus arquivos de layout foram definidos. Nesta tarefa, você cria um fragmento e adiciona o fragmento à atividade principal do aplicativo.
Nesta etapa, você cria uma classe TitleFragment
em branco. Comece criando uma classe Kotlin para
um novo fragmento:
TitleFragment.kt
, se ainda não estiver aberto. Ele contém o método
onCreateView()
, que é um dos métodos que é chamado durante o ciclo de vida
de um fragmento. onCreateView()
, remova a seção return TextView(activity).apply
, incluindo a
linha que começa com setText
. A função onCreateView()
é deixada apenas com o
seguinte código:override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?,
savedInstanceState: Bundle?): View? {
}
Crie um objeto de vinculação
O fragmento não será compilado agora. Para fazer a compilação do fragmento, você precisa criar um objeto de
vinculação e inflar a vista do fragmento (que é equivalente a usar setContentView()
para uma
atividade).
onCreateView()
em TitleFragment.kt
, crie uma variável
binding
(val binding
).DataBindingUtil.inflate()
no objeto Binding
do fragmento, que
é FragmentTitleBinding
. inflater
, que é o LayoutInflater
usado para inflar o layout de encadernação.R.layout.fragment_title
.container
para o ViewGroup
pai. (Este parâmetro é opcional).false
para o valor attachToParent
. DataBindingUtil.inflate
retorna à variável binding
.
binding.root
do método, que contém a vista inflada. Seu método
onCreateView()
agora se parece com o seguinte código:override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?,
savedInstanceState: Bundle?): View? {
val binding = DataBindingUtil.inflate<FragmentTitleBinding>(inflater,
R.layout.fragment_title,container,false)
return binding.root
}
Nesta etapa, você adiciona o TitleFragment
ao arquivo de layout activity_main.xml
do
aplicativo.
LinearLayout
existente, adicione um elemento fragment
.titleFragment
.com.example.android.navigation.TitleFragment
. match_parent
.<layout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<fragment
android:id="@+id/titleFragment"
android:name="com.example.android.navigation.TitleFragment"
android:layout_width="match_parent"
android:layout_height="match_parent"
/>
</LinearLayout>
</layout>
Projeto Android Studio: AndroidTriviaFragment
Neste tutorial, você adicionou um fragmento ao aplicativo AndroidTrivia, no qual continuará trabalhando nos próximos dois tutoriais desta lição.
<fragment>
para definir o layout do fragmento no arquivo de layout XML.
onCreateView()
.Documentação para desenvolvimento em Android:
Esta seção lista as possíveis tarefas de casa para os alunos que estão trabalhando neste tutorial como parte de um curso ministrado por um instrutor.
Quais são algumas das diferenças entre fragmentos e atividades? Selecione todas as afirmações que são verdadeiras.
onCreateView()
. Ao criar uma atividade,
você infla o layout em onCreate()
.R.layout.
layoutname
.Quais das seguintes afirmações sobre fragmentos são verdadeiras? Selecione tudo que se aplica.
activity_main.xml
.<fragment>
para definir o local em um arquivo de layout onde um fragmento
deve ser inserido.Comece a próxima lição:
Para obter enlaces para outros tutoriais neste curso, consulte a página de destino dos tutoriais Fundamentos de Android em Kotlin.