Un Tabbed Activity te permite cambiar la vista entre fragmentos desplazando el dedo de izquierda a derecha o de derecha a izquierda, Android Studio cuenta con una plantilla para crear un proyecto base, sin embargo, si estas aprendiendo android es mejor conocer como se crea este Tabbed Activty desde cero.
Paso 1. EL Proyecto
Creamos un nuevo proyecto en Android Studio que se llamara «Tabbed Demo«, a continuación seleccionamos el SDK «Minimum SDK: API 16 Android 4.1» para tener mayor compatibilidad con dispositivos.
Presionamos siguiente y elegimos un Empty Activity, dejamos como esta el nombre de «MainActivity» y su layout «activity_main» que sale por defecto, presionamos finish para crear el proyecto.
Paso 2. Los Fragments
Un Tabbed Activity puede tener 2, 3, 4 o más fragments, dependiendo de las necesidades que se tenga. Android Studio tambien te permite crear Fragments (clase y su layout) automáticamente, pero como dijimos en un principio, si estamos aprendiendo, es mejor conocer como se crean las cosas desde codigo. A continuación los pasos pasos para crear Fragments.
Clic derecho sobre el proyecto «org.example.tabbeddemo», new -> java class y agregamos una nueva clase con el nombre de «JobsFragment«, a continuación clic derecho sobre la carpeta layout -> new -> Layout Resource File -> y colocamos en file name: «fragment_jobs«, presionamos OK para crear el archivo.
Reemplazamos el código del layout con:
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:padding="20dp" android:background="#d14115" tools:context="org.example.tabbeddemo.JobsFragment"> <TextView android:textSize="32dp" android:textColor="#FFF" android:layout_width="match_parent" android:layout_height="match_parent" android:text="\u0022¿Por qué enrolarse en la marina si puedes ser un pirata?\u0022 - Steve Jobs" /> </FrameLayout>
donde en context, indicamos la ruta del archivo java al que corresponde este Fragment, en este caso la ruta es: org.example.tabbeddemo.JobsFragment. También le asignamos un color de fondo (android:background) rojo en este caso, y en android:text colocamos una frase de Steve Jobs.
En vista diseño podremos ver algo como esto:
Ahora en la clase JobsFragment.java, reemplazamos el código por el código mínimo necesario para un fragment:
package org.example.tabbeddemo; import android.os.Bundle; import android.support.v4.app.Fragment; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; public class JobsFragment extends Fragment { public static JobsFragment newInstance() { return new JobsFragment(); } @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { return inflater.inflate(R.layout.fragment_jobs , container, false); } }
donde en inflate indicamos el layout que corresponde a la clase fragment, el layout que creamos más arriba «R.layout.fragment_jobs«.
Si quieres saber más sobre los Fragments, te invito a visitar «Introducción a Fragment«.
A continuación, agregaremos 2 clases más con sus respectivos layouts, estos son:
El texto para Wozniak:
Mi padre me explicó que la educación y el conocimiento es lo que le permitirá a los niños mejorar el mundo – Steve Wozniak
El texto para Bill
Al mundo no le importará tu autoestima. El mundo esperará que logres algo, independientemente de que te sientas bien o no contigo mismo – Bill Gates
Y realizaremos los mismos pasos que con JobsFragment.java y fragment_jobs, al final debes tener algo como esto:
Paso 3. activity_main
Abre el archivo activity_main y reemplaza el código por
<?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:padding="0dp" tools:context="org.example.tabbeddemo.MainActivity"> <android.support.v4.view.ViewPager android:id="@+id/container" android:layout_width="match_parent" android:layout_height="match_parent"/> </RelativeLayout>
A nuestro layout le agregamos un ViewPager en donde se cargaran los fragments, en vista diseño no veras ningún cambio. Continuemos.
Paso 4. MainActivity
Esta es la clase principal donde implementaremos los fragments y el ViewPager.
package org.example.tabbeddemo; import android.support.v4.app.Fragment; import android.support.v4.app.FragmentManager; import android.support.v4.app.FragmentPagerAdapter; import android.support.v4.view.ViewPager; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; public class MainActivity extends AppCompatActivity { /** * para gestionar cada uno de los fragmentos * */ private SectionsPagerAdapter mSectionsPagerAdapter; /** * Para alojar el contenido de cada fragment * */ private ViewPager mViewPager; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); //inicializamos mSectionsPagerAdapter = new SectionsPagerAdapter(getSupportFragmentManager()); mViewPager = (ViewPager) findViewById(R.id.container); mViewPager.setAdapter(mSectionsPagerAdapter); } /** * Clase que devolvera un fragment segun la seccion donde se encuentre * */ public class SectionsPagerAdapter extends FragmentPagerAdapter { public SectionsPagerAdapter(FragmentManager fm) { super(fm); } @Override public Fragment getItem(int position) { switch(position){ case 0: return JobsFragment.newInstance(); case 1: return WozniakFragment.newInstance(); case 2: return GatesFragment.newInstance(); } return null; } @Override public int getCount() { return 3;//tenemos tres fragment } } }
Ya solo nos queda ejecutar el proyecto y probar
enjoy!!!
Yo soy yo :) JC Mouse, Soy orgullosamente boliviano soy fundador y CEO de la web jc-Mouse.net uno de las pocas web en emprendimiento y tecnología en Bolivia.
Toda la información que encuentres en este sitio es y sera completamente gratis siempre, puedes copiar, descargar y re-publicar si así lo deseas en otros blogs o sitios web, solo te pido a cambio que dejes una referencia a esta web. Esto nos ayuda a crecer y seguir aportando. Bye
Enjoy! :)
El Método Congruencial Lineal Mixto es el más utilizado en simulación en computadoras digitales y esta basado en una rel...
¿Qué es una vista? Una vista (View) o Tabla Virtual, es una forma lógica de ver los datos ubicados en varias tablas, es...
SQLite es un sistema de gestión de bases de datos relacional, escrita en C, si se desea hacer uso de encriptación con S...
Para colocar un JCheckBox dentro una celda de un JTable debemos sobre escribir algunas clases para que el componente pue...
Ejercicio: Escriba un programa en consola que implemente un Hashtable, cree una clase «Persona«, este será el tipo de da...
Una procedimiento almacenado es un conjunto de sentencias de SQL que se pueden almacenar en el servidor, de esta forma n...
Si trabajas con redes sociales (RRSS) a continuación te muestro tres herramintas gratuitas que te ayudaran a la hora de...
Por lo general se usan transacciones a nivel base de datos y posteriormente se llaman estos a través de procedimientos a...
En este post, aprenderemos como conectar Visual Basic 6 con SQL Server, abrir una tabla, leer su contenido y mostrar est...
Lo que veremos en este post es la configuración del driver para PHP de SQL Server que ha creado Microsoft el cual permit...