{"id":407,"date":"2018-05-18T18:36:44","date_gmt":"2018-05-18T18:36:44","guid":{"rendered":"http:\/\/www.profeluismitre.com.mx\/Ejemplos\/?page_id=407"},"modified":"2018-05-18T18:36:44","modified_gmt":"2018-05-18T18:36:44","slug":"ejemplo-slider-de-ventanas","status":"publish","type":"page","link":"https:\/\/profeluismitre.com.mx\/Ejemplos\/?page_id=407","title":{"rendered":"Ejemplo slider de Ventanas"},"content":{"rendered":"<p>En este Ejemplo crearemos un Slider de Ventanas la cual nos permitir\u00e1 mostrar 4 ventanas con informaci\u00f3n.<\/p>\n<p><strong>Nota:<\/strong> las ventanas no tienen acciones ya que solo son visuales.<\/p>\n<h4><span style=\"color: #3366ff;\">Iniciamos<\/span>:<\/h4>\n<p><strong>Paso 1:<\/strong>\u00a0Creamos nuestro proyecto android el cual yo llame <strong>EjemploSliderVentanas<\/strong> en el cual creamos una actividad del tipo <strong>EmptyActivity<\/strong> que llamaremos <strong>MainActivity<\/strong>.<\/p>\n<p><strong>Paso 2:<\/strong>\u00a0En nuestra Ventana visual pondremos el siguiente c\u00f3digo:<\/p>\n<pre class=\"lang:default decode:true \">&lt;?xml version=\"1.0\" encoding=\"utf-8\"?&gt;\r\n&lt;RelativeLayout xmlns:android=\"http:\/\/schemas.android.com\/apk\/res\/android\"\r\n    xmlns:app=\"http:\/\/schemas.android.com\/apk\/res-auto\"\r\n    xmlns:tools=\"http:\/\/schemas.android.com\/tools\"\r\n    android:id=\"@+id\/activity_main\"\r\n    android:layout_width=\"match_parent\"\r\n    android:layout_height=\"match_parent\"\r\n    android:paddingBottom=\"16dp\"\r\n    android:paddingLeft=\"16dp\"\r\n    android:paddingRight=\"16dp\"\r\n    android:paddingTop=\"16dp\"\r\n    android:background=\"#d1395c\"\r\n    tools:context=\"com.profeluismitre.ejemplossliderylist.SliderVentanasNoAccionesActivity\"&gt;\r\n    &lt;android.support.v4.view.ViewPager\r\n        android:id=\"@+id\/view_pager\"\r\n        android:layout_width=\"match_parent\"\r\n        android:layout_height=\"match_parent\" \/&gt;\r\n\r\n    &lt;LinearLayout\r\n        android:id=\"@+id\/layoutDots\"\r\n        android:layout_width=\"match_parent\"\r\n        android:layout_height=\"30dp\"\r\n        android:layout_alignParentBottom=\"true\"\r\n        android:layout_marginBottom=\"20dp\"\r\n        android:gravity=\"center\"\r\n        android:orientation=\"horizontal\"&gt;&lt;\/LinearLayout&gt;\r\n    &lt;View\r\n        android:layout_width=\"match_parent\"\r\n        android:layout_height=\"1dp\"\r\n        android:alpha=\".5\"\r\n        android:layout_above=\"@id\/layoutDots\"\r\n        android:background=\"@android:color\/white\" \/&gt;\r\n\r\n    &lt;Button\r\n        android:id=\"@+id\/btn_next\"\r\n        android:layout_width=\"wrap_content\"\r\n        android:layout_height=\"wrap_content\"\r\n        android:layout_alignParentBottom=\"true\"\r\n        android:layout_alignParentRight=\"true\"\r\n        android:background=\"@null\"\r\n        android:text=\"Siguiente\"\r\n        android:textColor=\"@android:color\/white\" \/&gt;\r\n\r\n    &lt;Button\r\n        android:id=\"@+id\/btn_skip\"\r\n        android:layout_width=\"wrap_content\"\r\n        android:layout_height=\"wrap_content\"\r\n        android:layout_alignParentBottom=\"true\"\r\n        android:layout_alignParentLeft=\"true\"\r\n        android:background=\"@null\"\r\n        android:text=\"Ignorar\"\r\n        android:textColor=\"@android:color\/white\" \/&gt;\r\n&lt;\/RelativeLayout&gt;<\/pre>\n<p>si notaste en esta ocasiona utilizamos el <strong>RelativeLayout<\/strong>\u00a0ya que necesitamos mostrar las ventanas y los botones en la parte superior.<\/p>\n<p><strong>Paso 3:<\/strong>\u00a0 ahora toca crear las 4 ventanas xml. estas las crearemos dando Clic derecho sobre la carpeta <strong>layout\u00a0<\/strong>de nuestro proyecto, <strong>NEW&gt;XML&gt;LAYOUT XML<\/strong>\u00a0los cuales llamaremos como <b>ventana1, ventana2, ventana3, ventana4 y <\/b>sus c\u00f3digos\u00a0serian los siguientes.<\/p>\n<p>nota: para estas ventanas necesitas im\u00e1genes de dejo el <a href=\"http:\/\/www.profeluismitre.com.mx\/misArchivos\/res.rar\">link<\/a> con las que yo utilice:<\/p>\n<p><strong>ventana1.<\/strong><\/p>\n<pre class=\"lang:default decode:true\">&lt;?xml version=\"1.0\" encoding=\"utf-8\"?&gt;\r\n&lt;RelativeLayout xmlns:android=\"http:\/\/schemas.android.com\/apk\/res\/android\"\r\n    android:layout_width=\"match_parent\"\r\n    android:layout_height=\"match_parent\"\r\n    android:background=\"#f64c73\"&gt;\r\n    &lt;LinearLayout\r\n        android:layout_width=\"wrap_content\"\r\n        android:layout_height=\"wrap_content\"\r\n        android:layout_centerInParent=\"true\"\r\n        android:gravity=\"center_horizontal\"\r\n        android:orientation=\"vertical\"&gt;\r\n\r\n        &lt;ImageView\r\n            android:layout_width=\"120dp\"\r\n            android:layout_height=\"120dp\"\r\n            android:src=\"@drawable\/ic_food\" \/&gt;\r\n\r\n        &lt;TextView\r\n            android:layout_width=\"wrap_content\"\r\n            android:layout_height=\"wrap_content\"\r\n            android:text=\"Hola Comida\"\r\n            android:textColor=\"@android:color\/white\"\r\n            android:textSize=\"30dp\"\r\n            android:textStyle=\"bold\" \/&gt;\r\n\r\n        &lt;TextView\r\n            android:layout_width=\"wrap_content\"\r\n            android:layout_height=\"wrap_content\"\r\n            android:layout_marginTop=\"20dp\"\r\n            android:paddingLeft=\"40dp\"\r\n            android:paddingRight=\"40dp\"\r\n            android:text=\"El Camino hacia la Comida\"\r\n            android:textAlignment=\"center\"\r\n            android:textColor=\"@android:color\/white\"\r\n            android:textSize=\"16dp\" \/&gt;\r\n\r\n    &lt;\/LinearLayout&gt;\r\n\r\n&lt;\/RelativeLayout&gt;\r\n<\/pre>\n<p><strong>ventana2.<\/strong><\/p>\n<pre class=\"lang:default decode:true \">&lt;?xml version=\"1.0\" encoding=\"utf-8\"?&gt;\r\n&lt;RelativeLayout xmlns:android=\"http:\/\/schemas.android.com\/apk\/res\/android\"\r\n    android:layout_width=\"match_parent\"\r\n    android:layout_height=\"match_parent\"\r\n    android:background=\"#20d2bb\"&gt;\r\n    &lt;LinearLayout\r\n        android:layout_width=\"wrap_content\"\r\n        android:layout_height=\"wrap_content\"\r\n        android:layout_centerInParent=\"true\"\r\n        android:gravity=\"center_horizontal\"\r\n        android:orientation=\"vertical\"&gt;\r\n\r\n        &lt;ImageView\r\n            android:layout_width=\"120dp\"\r\n            android:layout_height=\"120dp\"\r\n            android:src=\"@drawable\/ic_movie\" \/&gt;\r\n\r\n        &lt;TextView\r\n            android:layout_width=\"wrap_content\"\r\n            android:layout_height=\"wrap_content\"\r\n            android:text=\"Boletos de Pelicula\"\r\n            android:textColor=\"@android:color\/white\"\r\n            android:textSize=\"30dp\"\r\n            android:textStyle=\"bold\" \/&gt;\r\n\r\n        &lt;TextView\r\n            android:layout_width=\"wrap_content\"\r\n            android:layout_height=\"wrap_content\"\r\n            android:layout_marginTop=\"20dp\"\r\n            android:paddingLeft=\"40dp\"\r\n            android:paddingRight=\"40dp\"\r\n            android:text=\"Libro de Peliculas para la Familia\"\r\n            android:textAlignment=\"center\"\r\n            android:textColor=\"@android:color\/white\"\r\n            android:textSize=\"16dp\" \/&gt;\r\n\r\n    &lt;\/LinearLayout&gt;\r\n&lt;\/RelativeLayout&gt;\r\n<\/pre>\n<p><strong>ventana3.<\/strong><\/p>\n<pre class=\"lang:default decode:true \">&lt;?xml version=\"1.0\" encoding=\"utf-8\"?&gt;\r\n&lt;RelativeLayout xmlns:android=\"http:\/\/schemas.android.com\/apk\/res\/android\"\r\n    android:layout_width=\"match_parent\"\r\n    android:layout_height=\"match_parent\"\r\n    android:background=\"#3395ff\"&gt;\r\n    &lt;LinearLayout\r\n        android:layout_width=\"wrap_content\"\r\n        android:layout_height=\"wrap_content\"\r\n        android:layout_centerInParent=\"true\"\r\n        android:gravity=\"center_horizontal\"\r\n        android:orientation=\"vertical\"&gt;\r\n\r\n        &lt;ImageView\r\n            android:layout_width=\"120dp\"\r\n            android:layout_height=\"120dp\"\r\n            android:src=\"@drawable\/ic_discount\" \/&gt;\r\n\r\n        &lt;TextView\r\n            android:layout_width=\"wrap_content\"\r\n            android:layout_height=\"wrap_content\"\r\n            android:text=\"Grandes Descuentos\"\r\n            android:textColor=\"@android:color\/white\"\r\n            android:textSize=\"30dp\"\r\n            android:textStyle=\"bold\" \/&gt;\r\n\r\n        &lt;TextView\r\n            android:layout_width=\"wrap_content\"\r\n            android:layout_height=\"wrap_content\"\r\n            android:layout_marginTop=\"20dp\"\r\n            android:paddingLeft=\"40dp\"\r\n            android:paddingRight=\"40dp\"\r\n            android:text=\"Los Mejores Descuentos\"\r\n            android:textAlignment=\"center\"\r\n            android:textColor=\"@android:color\/white\"\r\n            android:textSize=\"16dp\" \/&gt;\r\n\r\n    &lt;\/LinearLayout&gt;\r\n&lt;\/RelativeLayout&gt;\r\n<\/pre>\n<p><strong>ventana4<\/strong><\/p>\n<pre class=\"lang:default decode:true \">&lt;?xml version=\"1.0\" encoding=\"utf-8\"?&gt;\r\n&lt;RelativeLayout xmlns:android=\"http:\/\/schemas.android.com\/apk\/res\/android\"\r\n    android:layout_width=\"match_parent\"\r\n    android:layout_height=\"match_parent\"\r\n    android:background=\"#c873f4\"&gt;\r\n    &lt;LinearLayout\r\n        android:layout_width=\"wrap_content\"\r\n        android:layout_height=\"wrap_content\"\r\n        android:layout_centerInParent=\"true\"\r\n        android:gravity=\"center_horizontal\"\r\n        android:orientation=\"vertical\"&gt;\r\n\r\n        &lt;ImageView\r\n            android:layout_width=\"120dp\"\r\n            android:layout_height=\"120dp\"\r\n            android:src=\"@drawable\/ic_travel\" \/&gt;\r\n\r\n        &lt;TextView\r\n            android:layout_width=\"wrap_content\"\r\n            android:layout_height=\"wrap_content\"\r\n            android:text=\"Viajando por el Mundo\"\r\n            android:textColor=\"@android:color\/white\"\r\n            android:textSize=\"30dp\"\r\n            android:textStyle=\"bold\" \/&gt;\r\n\r\n        &lt;TextView\r\n            android:layout_width=\"wrap_content\"\r\n            android:layout_height=\"wrap_content\"\r\n            android:layout_marginTop=\"20dp\"\r\n            android:paddingLeft=\"40dp\"\r\n            android:paddingRight=\"40dp\"\r\n            android:text=\"Compra tus Boletos para Viajar por el Mundo\"\r\n            android:textAlignment=\"center\"\r\n            android:textColor=\"@android:color\/white\"\r\n            android:textSize=\"16dp\" \/&gt;\r\n\r\n    &lt;\/LinearLayout&gt;\r\n&lt;\/RelativeLayout&gt;\r\n<\/pre>\n<p><strong>Paso 4:<\/strong>\u00a0Ahora necesitaremos una serie de colores y un arreglo de colores para estar cambiando en las ventanas, para ello nos dirigiremos a la carpeta <strong>values<\/strong> de nuestro proyecto en la cual se encuentra un archivo xml llamado <strong>colors.xml<\/strong>\u00a0en el cual agregaremos lo siguiente dentro de la etiqueta <strong>&lt;resources&gt;&lt;\/resources&gt;<\/strong>:<\/p>\n<pre class=\"lang:default decode:true \">&lt;!-- dots inactive colors --&gt;\r\n    &lt;color name=\"dot_dark_screen1\"&gt;#d1395c&lt;\/color&gt;\r\n    &lt;color name=\"dot_dark_screen2\"&gt;#14a895&lt;\/color&gt;\r\n    &lt;color name=\"dot_dark_screen3\"&gt;#2278d4&lt;\/color&gt;\r\n    &lt;color name=\"dot_dark_screen4\"&gt;#a854d4&lt;\/color&gt;\r\n\r\n    &lt;!-- dots active colors --&gt;\r\n    &lt;color name=\"dot_light_screen1\"&gt;#f98da5&lt;\/color&gt;\r\n    &lt;color name=\"dot_light_screen2\"&gt;#8cf9eb&lt;\/color&gt;\r\n    &lt;color name=\"dot_light_screen3\"&gt;#93c6fd&lt;\/color&gt;\r\n    &lt;color name=\"dot_light_screen4\"&gt;#e4b5fc&lt;\/color&gt;\r\n\r\n    &lt;array name=\"array_dot_active\"&gt;\r\n        &lt;item&gt;@color\/dot_light_screen1&lt;\/item&gt;\r\n        &lt;item&gt;@color\/dot_light_screen2&lt;\/item&gt;\r\n        &lt;item&gt;@color\/dot_light_screen3&lt;\/item&gt;\r\n        &lt;item&gt;@color\/dot_light_screen4&lt;\/item&gt;\r\n    &lt;\/array&gt;\r\n\r\n    &lt;array name=\"array_dot_inactive\"&gt;\r\n        &lt;item&gt;@color\/dot_dark_screen1&lt;\/item&gt;\r\n        &lt;item&gt;@color\/dot_dark_screen2&lt;\/item&gt;\r\n        &lt;item&gt;@color\/dot_dark_screen3&lt;\/item&gt;\r\n        &lt;item&gt;@color\/dot_dark_screen4&lt;\/item&gt;\r\n    &lt;\/array&gt;<\/pre>\n<p><strong>Paso 5:<\/strong>\u00a0ahora abrimos nuestra <strong>MainActivity<\/strong> para empezar a armar nuestra aplicaci\u00f3n:<\/p>\n<p><strong>Paso 6:<\/strong> crearemos los siguientes objetos en nuestra actividad:<\/p>\n<pre class=\"\">private ViewPager visualizadorPaginas;\r\nprivate AdaptadorPaginas adaptadorPaginas;\r\nprivate LinearLayout dotsLayout;\r\nprivate TextView[] dots;\r\nprivate int[] layouts;\r\nprivate Button btnSkip, btnNext;<\/pre>\n<p><strong>Paso 7:<\/strong> Inicializamos los objetos dentro del m\u00e9todo <strong>onCreate()<\/strong>:<\/p>\n<pre class=\"lang:default decode:true\">visualizadorPaginas = (ViewPager) findViewById(R.id.view_pager);\r\n        dotsLayout = (LinearLayout) findViewById(R.id.layoutDots);\r\n        btnSkip = (Button) findViewById(R.id.btn_skip);\r\n        btnNext = (Button) findViewById(R.id.btn_next);\r\n        layouts = new int[]{\r\n                R.layout.ventana1,\r\n                R.layout.ventana2,\r\n                R.layout.ventana3,\r\n                R.layout.ventana4};<\/pre>\n<p><strong>Paso 8:<\/strong> mandamos llamar los metodos:<\/p>\n<pre class=\"\">addBottomDots(0);        \r\ncambiarColorBarra();<\/pre>\n<p><strong>Paso 9:<\/strong> Inicializamos el adaptador y lo agregamos al visualizador de paginas, y asignamos acciones a los botones:<\/p>\n<pre class=\"\">adaptadorPaginas = new AdaptadorPaginas();\r\nvisualizadorPaginas.setAdapter(adaptadorPaginas);\r\nvisualizadorPaginas.addOnPageChangeListener(cambiadorDePaginasListener);\r\nbtnSkip.setOnClickListener(new View.OnClickListener() {\r\n    @Override\r\n    public void onClick(View v) {\r\n\r\n    }\r\n});\r\n\r\nbtnNext.setOnClickListener(new View.OnClickListener() {\r\n    @Override\r\n    public void onClick(View v) {\r\n        \/\/ checking for last page\r\n        \/\/ if last page home screen will be launched\r\n        int current = getItem(+1);\r\n        if (current &lt; layouts.length) {\r\n            \/\/ move to next screen\r\n            visualizadorPaginas.setCurrentItem(current);\r\n        } else {\r\n           \/\/ launchHomeScreen();\r\n        }\r\n    }\r\n});\r\n<\/pre>\n<p><strong>Paso 10:<\/strong>\u00a0por ultimo agregamos el siguiente codigo, que es el adaptador de las ventanas..<\/p>\n<pre class=\"lang:default decode:true \">ViewPager.OnPageChangeListener cambiadorDePaginasListener = new ViewPager.OnPageChangeListener() {\r\n\r\n        @Override\r\n        public void onPageSelected(int position) {\r\n            addBottomDots(position);\r\n\r\n            \/\/ changing the next button text 'NEXT' \/ 'GOT IT'\r\n            if (position == layouts.length - 1) {\r\n                \/\/ last page. make button text to GOT IT\r\n                btnNext.setText(\"Iniciar\");\r\n                btnSkip.setVisibility(View.GONE);\r\n            } else {\r\n                \/\/ still pages are left\r\n                btnNext.setText(\"Siguiente\");\r\n                btnSkip.setVisibility(View.VISIBLE);\r\n            }\r\n        }\r\n\r\n        @Override\r\n        public void onPageScrolled(int arg0, float arg1, int arg2) {\r\n\r\n        }\r\n\r\n        @Override\r\n        public void onPageScrollStateChanged(int arg0) {\r\n\r\n        }\r\n    };\r\n\r\n    private void addBottomDots(int currentPage) {\r\n        dots = new TextView[layouts.length];\r\n\r\n        int[] colorsActive = getResources().getIntArray(R.array.array_dot_active);\r\n        int[] colorsInactive = getResources().getIntArray(R.array.array_dot_inactive);\r\n\r\n        dotsLayout.removeAllViews();\r\n        for (int i = 0; i &lt; dots.length; i++) {\r\n            dots[i] = new TextView(this);\r\n            dots[i].setText(Html.fromHtml(\"&amp;#8226;\"));\r\n            dots[i].setTextSize(35);\r\n            dots[i].setTextColor(colorsInactive[currentPage]);\r\n            dotsLayout.addView(dots[i]);\r\n        }\r\n\r\n        if (dots.length &gt; 0)\r\n            dots[currentPage].setTextColor(colorsActive[currentPage]);\r\n    }\r\n\r\n    private int getItem(int i) {\r\n        return visualizadorPaginas.getCurrentItem() + i;\r\n    }\r\n\r\n    private void cambiarColorBarra() {\r\n        if (Build.VERSION.SDK_INT &gt;= Build.VERSION_CODES.LOLLIPOP) {\r\n            Window window = getWindow();\r\n            window.addFlags(WindowManager.LayoutParams.FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS);\r\n            window.setStatusBarColor(Color.TRANSPARENT);\r\n        }\r\n    }\r\n\r\n\r\n\r\n    public class AdaptadorPaginas extends PagerAdapter {\r\n        private LayoutInflater layoutInflater;\r\n\r\n        public AdaptadorPaginas() {\r\n        }\r\n\r\n        @Override\r\n        public Object instantiateItem(ViewGroup container, int position) {\r\n            layoutInflater = (LayoutInflater) getSystemService(Context.LAYOUT_INFLATER_SERVICE);\r\n\r\n            View view = layoutInflater.inflate(layouts[position], container, false);\r\n            container.addView(view);\r\n\r\n            return view;\r\n        }\r\n\r\n        @Override\r\n        public int getCount() {\r\n            return layouts.length;\r\n        }\r\n\r\n        @Override\r\n        public boolean isViewFromObject(View view, Object obj) {\r\n            return view == obj;\r\n        }\r\n\r\n\r\n        @Override\r\n        public void destroyItem(ViewGroup container, int position, Object object) {\r\n            View view = (View) object;\r\n            container.removeView(view);\r\n        }\r\n    }<\/pre>\n<p>Bueno seria todo, te dejo el codigo de como quedaria la actividad completa:<\/p>\n<pre class=\"lang:default decode:true \">package com.profeluismitre.ejemplosliderventanas;\r\n\r\nimport android.content.Context;\r\nimport android.graphics.Color;\r\nimport android.os.Build;\r\nimport android.support.v4.view.PagerAdapter;\r\nimport android.support.v4.view.ViewPager;\r\nimport android.support.v7.app.AppCompatActivity;\r\nimport android.os.Bundle;\r\nimport android.text.Html;\r\nimport android.view.LayoutInflater;\r\nimport android.view.View;\r\nimport android.view.ViewGroup;\r\nimport android.view.Window;\r\nimport android.view.WindowManager;\r\nimport android.widget.Button;\r\nimport android.widget.LinearLayout;\r\nimport android.widget.TextView;\r\n\r\npublic class MainActivity extends AppCompatActivity {\r\n    private ViewPager visualizadorPaginas;\r\n    private AdaptadorPaginas adaptadorPaginas;\r\n    private LinearLayout dotsLayout;\r\n    private TextView[] dots;\r\n    private int[] layouts;\r\n    private Button btnSkip, btnNext;\r\n    @Override\r\n    protected void onCreate(Bundle savedInstanceState) {\r\n        super.onCreate(savedInstanceState);\r\n        setContentView(R.layout.activity_main);\r\n        visualizadorPaginas = (ViewPager) findViewById(R.id.view_pager);\r\n        dotsLayout = (LinearLayout) findViewById(R.id.layoutDots);\r\n        btnSkip = (Button) findViewById(R.id.btn_skip);\r\n        btnNext = (Button) findViewById(R.id.btn_next);\r\n        layouts = new int[]{\r\n                R.layout.ventana1,\r\n                R.layout.ventana2,\r\n                R.layout.ventana3,\r\n                R.layout.ventana4};\r\n        \/\/ adding bottom dots\/\/ making notification bar transparent\r\n        addBottomDots(0);\r\n        cambiarColorBarra();\r\n        adaptadorPaginas = new AdaptadorPaginas();\r\n        visualizadorPaginas.setAdapter(adaptadorPaginas);\r\n        visualizadorPaginas.addOnPageChangeListener(cambiadorDePaginasListener);\r\n        btnSkip.setOnClickListener(new View.OnClickListener() {\r\n            @Override\r\n            public void onClick(View v) {\r\n\r\n            }\r\n        });\r\n\r\n        btnNext.setOnClickListener(new View.OnClickListener() {\r\n            @Override\r\n            public void onClick(View v) {\r\n                \/\/ checking for last page\r\n                \/\/ if last page home screen will be launched\r\n                int current = getItem(+1);\r\n                if (current &lt; layouts.length) {\r\n                    \/\/ move to next screen\r\n                    visualizadorPaginas.setCurrentItem(current);\r\n                } else {\r\n                    \/\/ launchHomeScreen();\r\n                }\r\n            }\r\n        });\r\n    }\r\n    ViewPager.OnPageChangeListener cambiadorDePaginasListener = new ViewPager.OnPageChangeListener() {\r\n\r\n        @Override\r\n        public void onPageSelected(int position) {\r\n            addBottomDots(position);\r\n\r\n            \/\/ changing the next button text 'NEXT' \/ 'GOT IT'\r\n            if (position == layouts.length - 1) {\r\n                \/\/ last page. make button text to GOT IT\r\n                btnNext.setText(\"Iniciar\");\r\n                btnSkip.setVisibility(View.GONE);\r\n            } else {\r\n                \/\/ still pages are left\r\n                btnNext.setText(\"Siguiente\");\r\n                btnSkip.setVisibility(View.VISIBLE);\r\n            }\r\n        }\r\n\r\n        @Override\r\n        public void onPageScrolled(int arg0, float arg1, int arg2) {\r\n\r\n        }\r\n\r\n        @Override\r\n        public void onPageScrollStateChanged(int arg0) {\r\n\r\n        }\r\n    };\r\n\r\n    private void addBottomDots(int currentPage) {\r\n        dots = new TextView[layouts.length];\r\n\r\n        int[] colorsActive = getResources().getIntArray(R.array.array_dot_active);\r\n        int[] colorsInactive = getResources().getIntArray(R.array.array_dot_inactive);\r\n\r\n        dotsLayout.removeAllViews();\r\n        for (int i = 0; i &lt; dots.length; i++) {\r\n            dots[i] = new TextView(this);\r\n            dots[i].setText(Html.fromHtml(\"&amp;#8226;\"));\r\n            dots[i].setTextSize(35);\r\n            dots[i].setTextColor(colorsInactive[currentPage]);\r\n            dotsLayout.addView(dots[i]);\r\n        }\r\n\r\n        if (dots.length &gt; 0)\r\n            dots[currentPage].setTextColor(colorsActive[currentPage]);\r\n    }\r\n\r\n    private int getItem(int i) {\r\n        return visualizadorPaginas.getCurrentItem() + i;\r\n    }\r\n\r\n    private void cambiarColorBarra() {\r\n        if (Build.VERSION.SDK_INT &gt;= Build.VERSION_CODES.LOLLIPOP) {\r\n            Window window = getWindow();\r\n            window.addFlags(WindowManager.LayoutParams.FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS);\r\n            window.setStatusBarColor(Color.TRANSPARENT);\r\n        }\r\n    }\r\n\r\n\r\n\r\n    public class AdaptadorPaginas extends PagerAdapter {\r\n        private LayoutInflater layoutInflater;\r\n\r\n        public AdaptadorPaginas() {\r\n        }\r\n\r\n        @Override\r\n        public Object instantiateItem(ViewGroup container, int position) {\r\n            layoutInflater = (LayoutInflater) getSystemService(Context.LAYOUT_INFLATER_SERVICE);\r\n\r\n            View view = layoutInflater.inflate(layouts[position], container, false);\r\n            container.addView(view);\r\n\r\n            return view;\r\n        }\r\n\r\n        @Override\r\n        public int getCount() {\r\n            return layouts.length;\r\n        }\r\n\r\n        @Override\r\n        public boolean isViewFromObject(View view, Object obj) {\r\n            return view == obj;\r\n        }\r\n\r\n\r\n        @Override\r\n        public void destroyItem(ViewGroup container, int position, Object object) {\r\n            View view = (View) object;\r\n            container.removeView(view);\r\n        }\r\n    }\r\n}\r\n<\/pre>\n<h5>si todo funciono bien TENDR\u00cdAS que ver algo similar a lo siguiente:<\/h5>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"size-medium wp-image-405 aligncenter\" src=\"http:\/\/www.profeluismitre.com.mx\/Ejemplos\/wp-content\/uploads\/2018\/05\/lista4-176x300.png\" alt=\"\" width=\"176\" height=\"300\" srcset=\"https:\/\/profeluismitre.com.mx\/Ejemplos\/wp-content\/uploads\/2018\/05\/lista4-176x300.png 176w, https:\/\/profeluismitre.com.mx\/Ejemplos\/wp-content\/uploads\/2018\/05\/lista4.png 387w\" sizes=\"auto, (max-width: 176px) 100vw, 176px\" \/><\/p>\n<p>&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>En este Ejemplo crearemos un Slider de Ventanas la cual nos permitir\u00e1 mostrar 4 ventanas con informaci\u00f3n. Nota: las ventanas no tienen acciones ya que solo son visuales. Iniciamos: Paso 1:\u00a0Creamos nuestro proyecto android el cual yo llame EjemploSliderVentanas en el cual creamos una actividad del tipo EmptyActivity que llamaremos MainActivity. Paso 2:\u00a0En nuestra Ventana [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-407","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/profeluismitre.com.mx\/Ejemplos\/index.php?rest_route=\/wp\/v2\/pages\/407","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/profeluismitre.com.mx\/Ejemplos\/index.php?rest_route=\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/profeluismitre.com.mx\/Ejemplos\/index.php?rest_route=\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/profeluismitre.com.mx\/Ejemplos\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/profeluismitre.com.mx\/Ejemplos\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=407"}],"version-history":[{"count":1,"href":"https:\/\/profeluismitre.com.mx\/Ejemplos\/index.php?rest_route=\/wp\/v2\/pages\/407\/revisions"}],"predecessor-version":[{"id":408,"href":"https:\/\/profeluismitre.com.mx\/Ejemplos\/index.php?rest_route=\/wp\/v2\/pages\/407\/revisions\/408"}],"wp:attachment":[{"href":"https:\/\/profeluismitre.com.mx\/Ejemplos\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=407"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}