Fragments são como "pedaços" de activities que podem ser reutilizados. Os fragments não funcionam sozinhos, pois precisam de uma activity para funcionar. Você pode montar uma activity com vários fragments. Para criar um Fragment basta criar uma classe que herde de Fragment, como no exemplo a seguir:
public class MeuFragment extends Fragment {
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
View layout = inflater.inflate(R.layout.fragment_layout, container, false);
return layout;
}
}
Repare que foi necessário sobrescrever o método onCreateView, cujo retorno será uma view que foi inflada de um layout criado em xml. Pronto. Criamos nosso primeiro fragment, mas como iremos utilizá-lo em uma activity? Primeiramente, é necessário posicionar um FrameLayout no layout xml da activity:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<FrameLayout
android:id="@+id/localDoFragment"
android:layout_width="match_parent"
android:layout_height="match_parent"><FrameLayout>
</LinearLayout>
Agora temos que fazer com que o Fragment apareça nesse FrameLayout que foi criado. Dentro do método onCreate da activity, use um FragmentTransaction:
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_layout);
FragmentTransaction ft = getFragmentManager().beginTransaction();
ft.replace(R.id.localDoFragment, new MeuFragment());
ft.commit();
}
Pronto! Conseguimos posicionar um fragment em uma activity. Usando o mesmo procedimento, é possível posicionais e reutilizar fragments. Isso se torna útil, por exemplo, quando precisamos fazer um layout diferente para uso em tablets, reaproveitando as telas que foram criadas para um celular.
Marcadores
actionbar
(3)
adapter
(1)
android
(17)
android studio
(4)
atalhos
(1)
collections framework
(1)
ContextMenu
(1)
custom application
(1)
DAO
(1)
eclipse
(1)
erro
(1)
fatorial
(1)
fibonacci
(1)
fragments
(1)
git
(3)
GitHub
(2)
ícones
(2)
intent-filter
(1)
java
(4)
jsf
(1)
listview
(1)
máscara
(1)
MaskFormatter
(1)
material design
(2)
menu suspenso
(1)
permissões
(1)
plugin
(1)
RadioButton
(1)
recursividade
(1)
singleton
(1)
SQLite
(1)
SQLiteOpenHelper
(1)
startActivityForResult
(1)
toolbar
(1)
xml
(3)
terça-feira, 20 de dezembro de 2016
Assinar:
Postar comentários (Atom)
Nenhum comentário:
Postar um comentário