ViewPager no Android, Entendendo e Utilizando

Investir em Você é Barra de Ouro a R$ 2,00. Cadastre-se e receba grátis conteúdos Android sem precedentes! Você receberá um email de confirmação. Somente depois de confirma-lo é que eu poderei lhe enviar os conteúdos semanais exclusivos. Os artigos em PDF são entregues somente para os inscritos na lista.

Email inválido.
Blog /Android /ViewPager no Android, Entendendo e Utilizando

ViewPager no Android, Entendendo e Utilizando

Vinícius Thiengo
(13287) (21)
Go-ahead
"O método consciente de tentativa e erro é mais bem-sucedido que o planejamento de um gênio isolado."
Peter Skillman
Prototipagem Android
Capa do curso Prototipagem Profissional de Aplicativos
TítuloAndroid: Prototipagem Profissional de Aplicativos
CategoriasAndroid, Design, Protótipo
AutorVinícius Thiengo
Vídeo aulas186
Tempo15 horas
ExercíciosSim
CertificadoSim
Acessar Curso
Quer aprender a programar para Android? Acesse abaixo o curso gratuito no Blog.
Lendo
TítuloManual de DevOps: como obter agilidade, confiabilidade e segurança em organizações tecnológicas
CategoriaEngenharia de Software
Autor(es)Gene Kim, Jez Humble, John Willis, Patrick Debois
EditoraAlta Books
Edição
Ano2018
Páginas464
Conteúdo Exclusivo
Investir em Você é Barra de Ouro a R$ 2,00. Cadastre-se e receba gratuitamente conteúdos Android sem precedentes!
Email inválido

Tudo bem?

Neste vídeo é apresentado o componente visual que é o substituto do componente Gallery, o componente ViewPager.

Dando continuidade a série de vídeos sobre componentes visuais no Android, mostro como o ViewPager é implementado e como ele deve ser adicionado em projeto, pois está View não pertence a API nativa do Android, logo, teremos de baixar a biblioteca android.support.v4 (se possível, já utilize a versão AndroidX) e adiciona-la ao projeto.

Note que vamos implementar também uma classe adaptadora, igualmente fizemos nos conteúdos sobre o ListView e sobre o componente Gallery, porém essa nova classe adaptadora, para ViewPager, extenderá a classe PagerAdapter.

Mesmo o componente ViewPager sendo um pouco mais complexo de se implementar em projeto do que o componente Gallery, a documentação oficial Android já recomenda, desde 2013, que o componente ViewPager seja o utilizado devido a eficiência de seu script interno.

Seguramente posso lhe afirmar que o ViewPager está sim entre os importantes componentes visuais do Android, isso, pois quando se precisa de tabs em projeto, não somente, mas principalmente, o ViewPager é sem sombra de dúvidas a melhor entidade para gerenciar, por exemplo, a apresentação de inúmeros fragmentos vinculados às tabs.

A seguir o diagrama do componente ViewPager:

Diagrama do ViewPager

Abaixo deixo a indicação de dois outros conteúdos que são sobre componentes visuais similares ao ViewPager e que certamente poderão ser excelentes "cartas na manga" em seus próprios projetos de desenvolvimento Android:

Vale ressaltar que quando se falando de componentes visuais no Android é extremamente importante que o seu conhecimento sobre o Material Design já esteja "afiado".

Antes de finalizar, vou deixar alguns links de outros conteúdos do Blog, acompanhados de vídeos, que lhe colocarão em dia com o que há de novo no mundo Android:

E caso você tenha o desejo de aprender a criar apps Android, ou evoluir nesta área, também com o conteúdo gratuito do Blog e canal, então não deixe de acessar a lista de estudos exclusiva em: Estudando Android - Lista de Conteúdos do Blog.

Não esqueça de se inscrever 📫 na lista de e-mails do Blog para receber os conteúdos Android em primeira mão.

Se inscreva também no canal do Blog no YouTube para acompanhar as últimas novidades.

Surgindo dúvidas ou dicas, pode enviar abaixo na área de comentários que logo eu lhe retorno.

Obs. : o link para download do projeto apresentado em vídeo se encontra logo abaixo no artigo, na seção "Download".

Abraço.

Eclipse IDE vs Android Studio IDE

Apesar do conteúdo da vídeo aula acima estar utilizando o Eclipse IDE 😱, tudo que é apresentado, tanto a parte teórica quanto a parte prática, é ainda válido nos dias de hoje com o desenvolvimento Android utilizando o Android Studio 😁.

Ou seja, independente da linguagem oficial (Java, Kotlin, C ou C++), IDE ou framework que você esteja utilizando, o conteúdo acima é ainda muito útil.

AndroidX

Apesar do conteúdo sobre ViewPager ainda estar atual e ser importante para qualquer nível de desenvolvedor Android.

Apesar disso eu também recomendo, assim que finalizado o projeto em sua própria instalação de IDE, que você o migre para o AndroidX.

Algo que pode ser feito com poucos cliques, como apresentado no tutorial a seguir: Migrar para o AndroidX.

Fontes

ViewPager - documentação oficial Android

PagerAdapter - documentação oficial Android

Slide between fragments using ViewPager

Investir em Você é Barra de Ouro a R$ 2,00. Cadastre-se e receba grátis conteúdos Android sem precedentes!
Email inválido

Relacionado

Monitoramento de Inicio e Fim de Carregamento de Página no WebViewMonitoramento de Inicio e Fim de Carregamento de Página no WebViewAndroid
Otimizando Sua APP Android Com OnSaveInstanceStateOtimizando Sua APP Android Com OnSaveInstanceStateAndroid
Gallery no Android, Entendendo e UtilizandoGallery no Android, Entendendo e UtilizandoAndroid
ImageSwitcher no Android, Entendendo e UtilizandoImageSwitcher no Android, Entendendo e UtilizandoAndroid

Compartilhar

Comentários Facebook

Comentários Blog (21)

Para código / script, coloque entre [code] e [/code] para receber marcação especifica.
Forneça seu nome válido.
Forneça seu email válido.
Forneça o comentário.
Enviando, aguarde...
26/09/2019
OLá !!Você pode me ajudar? Já procurei na internet e inclusive na documentação do android , sobre ViewPager.Bom , eu preciso abrir uma ViewPager dentro de um fragment , eu tentei de tudo , e só funciona na tela sem ser fragment.O mesmo código funciona no MainActivity,mas não no fragment.

No Pager adapter eu pego o context dentro do fragment como getContext. Enfim,tento de tudo mas sempre dá erro crítico.Estou pensando em deixa de lado este projeto e iniciar um com phonegap,pois sou muito inexperiente no android. Agradeço a atenção.Um grande abraço !

Aqui abaixo vou mostrar o código para elucidar melhor :


PagerAdapter



public class AdapterListaTelaPrincipal extends BaseAdapter {


    private List<ListaTalaPrincipal> dadosListaTelaPrincipal() {
        return new ArrayList<>(Arrays.asList(


                new ListaTalaPrincipal("Cardápios" , R.drawable.ic_restau),
                new ListaTalaPrincipal("Restaurante" , R.drawable.ic_location),
                new ListaTalaPrincipal("Sobre" , R.drawable.ic_sobree)





        ));}
    Activity activity ;
    public ArrayList<ListaTalaPrincipal>listaTelaPrincipal = (ArrayList<ListaTalaPrincipal>) dadosListaTelaPrincipal();

    public AdapterListaTelaPrincipal(  Activity act){

        this.activity = act;

    }

    @Override
    public int getCount() {
        return listaTelaPrincipal.size();
    }

    @Override
    public Object getItem(int position) {
        return listaTelaPrincipal.get(position);
    }

    @Override
    public long getItemId(int position) {
        return position;
    }

    @Override
    public View getView(int position, View convertView, ViewGroup parent) {
        View view = View.inflate(this.activity, R.layout.adapter_lista_tela_principal,null);//act.getLayoutInflater().inflate(R.layout.lista_curso_personalizada, parent, false);

        ImageView  icone = (ImageView)view.findViewById(R.id.im);
        TextView  titulo = (TextView)view.findViewById(R.id.ti);
        icone.setImageResource(this.listaTelaPrincipal.get(position).getIcone());
        titulo.setText(this.listaTelaPrincipal.get(position).getTitulo());



        return view;

    }
}

Tela de Fragment

package com.vaptvupt.com.vaptvupt;

import android.app.Activity;
import android.content.Context;
import android.content.DialogInterface;
import android.content.res.Configuration;
import android.graphics.Color;
import android.graphics.PorterDuff;
import android.os.AsyncTask;
import android.os.Bundle;
import android.support.annotation.NonNull;
import android.support.design.widget.BottomNavigationView;
import android.support.design.widget.CoordinatorLayout;
import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentTransaction;
import android.support.v4.view.ViewPager;
import android.support.v7.app.AlertDialog;
import android.view.LayoutInflater;
import android.view.MenuItem;
import android.view.View;
import android.view.ViewGroup;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.Button;
import android.widget.LinearLayout;
import android.widget.ListView;
import android.widget.ProgressBar;
import android.widget.RelativeLayout;
import android.widget.TextView;
import android.widget.Toast;

import java.util.ArrayList;
import java.util.Date;

import static android.view.View.GONE;

public class PrincipalFragment extends Fragment {
    ProgressBar pro;
    ViewPager mSliderViewPager;
    RelativeLayout mdotLayout;
    SliderAdapter sliderAdapter;
    String[]imageUrls = new String[]{
     "http://cdn.pixabay.com/photo/2016/11/11/23/34/cat-1817970_960_720.jpg ",
            "http://cdn.pixabay.com/photo/2017/12/21/12/26/glowworm-3031704_960_720.jpg ",
            "http://cdn.pixabay.com/photo/2017/12/24/09/09/road-3036620_960_720.jpg "

    };

    Fragment fragment = new MessageFragment();
    @Override
    public void onConfigurationChanged(Configuration newConfig) {
        super.onConfigurationChanged(newConfig);
    }

    public PrincipalFragment() {
        // Required empty public constructor
    }

    

    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
        View view = inflater.inflate(R.layout.fragment_principal, container, false);
        pro =(ProgressBar)view.findViewById(R.id.probar);






        SliderAdapter sliderAdapter = new SliderAdapter(getContext(),imageUrls);
        mSliderViewPager.setAdapter(sliderAdapter);









            ListView lista = (ListView)view.findViewById(R.id.lis_navegacao);
        AdapterListaTelaPrincipal adapter = new AdapterListaTelaPrincipal((Activity) this.getContext());
        lista.setAdapter(adapter);

  






        lista.setOnItemClickListener(new AdapterView.OnItemClickListener() {
            @Override
            public void onItemClick(AdapterView<?> parent, View view, int position, long id) {

                if(position == 0 ){
                    abrirFragment(fragment);
}else if(position == 1){

                    Toast.makeText(getContext(), "Restaurante", Toast.LENGTH_SHORT).show();
                }else{
                    Toast.makeText(getContext(), "Sobre", Toast.LENGTH_SHORT).show();

                }
            }
        });
        new AsyncCircular().execute();


        return view;

    }

    public void abrirFragment (Fragment fragment){

        FragmentTransaction ft =  getActivity().getSupportFragmentManager().beginTransaction();
       // Fragment login = new LoginFragment();
        ft.setCustomAnimations(R.anim.botton_in, R.anim.botton_out);
        ft.replace(R.id.frame, fragment, "login");
        ft.commit();



    }

//INÍCIO CARREGAMENTO

    public class AsyncCircular extends AsyncTask<Void, Integer, Void> {

        @Override
        protected void onPreExecute() {

            pro.setVisibility(View.VISIBLE);

        }

        @Override
        protected Void doInBackground(Void... voids) {

            for (int i = 0; i < 100; i++) {
                try {
                    publishProgress(i);
                    Thread.sleep(10);
                } catch (InterruptedException e) {
                    e.printStackTrace();
                }
            }

            return null;
        }

        @Override
        protected void onProgressUpdate(Integer... values) {
            //  linearBar.setProgress(values[0]);
            // linearBar.setSecondaryProgress(values[0] + 15);
        }

        @Override
        protected void onPostExecute(Void aVoid) {
            pro.setVisibility(GONE);
            // linearBar.setVisibility(View.GONE);
        }
    }



    //FIM CARREGAMENTO
}


Layout do fragment

<?xml version="1.0" encoding="utf-8"?>

<LinearLayout 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:orientation="vertical"
    xmlns:app="http://schemas.android.com/apk/res-auto "
   >

        <ProgressBar
            android:id="@+id/probar"
            android:layout_width="50dp"
            android:layout_height="50dp"
            android:layout_centerInParent="true"
android:layout_gravity="center"
            android:backgroundTint="@color/colorAccent"
            app:layout_anchorGravity="center" />
       <android.support.v4.view.ViewPager
            android:id="@+id/sliderViewPager"
            android:layout_width="match_parent"
            android:layout_height="wrap_content">

        </android.support.v4.view.ViewPager>









<android.support.design.widget.CoordinatorLayout
    android:layout_width="match_parent"
    android:layout_height="200dp"
    xmlns:app="http://schemas.android.com/apk/res-auto "
    android:orientation="vertical">



    <ListView
        android:layout_gravity="bottom"
        android:layout_height="wrap_content"
        android:layout_width="match_parent"
        android:id="@+id/lis_navegacao"
        android:background="@color/colorPrimary"


        />



</android.support.design.widget.CoordinatorLayout>
</LinearLayout>


Manifest

<manifest xmlns:android="http://schemas.android.com/apk/res/android "
    package="com.vaptvupt.com.vaptvupt">
    <uses-permission android:name="android.permission.INTERNET"/>

    GRADLE

dependencies {
    implementation fileTree(dir: 'libs', include: ['*.jar'])
    //noinspection GradleCompatible
    implementation 'com.android.support:appcompat-v7:26.1.0'
    implementation 'com.android.support:design:26.1.0'
    implementation 'com.android.support.constraint:constraint-layout:1.1.3'
    testImplementation 'junit:junit:4.12'
    androidTestImplementation 'com.android.support.test:runner:1.0.2'
    androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.2'
    compile 'com.android.support:appcompat-v7:26.+'
    compile 'com.android.support:cardview-v7:26.+'
    compile 'com.android.support:recyclerview-v7:26.+'
    compile 'com.github.rtoshiro.mflibrary:mflibrary:1.0.0'
    compile 'com.squareup.picasso:picasso:2.71828'

}
Responder
Vinícius Thiengo (0) (0)
09/01/2020
Tiago, tudo bem?

Desculpe a demora.

Acabei esquecendo de sua dúvida. Que por sinal é uma dúvida comum no mundo do desenvolvimento de aplicativos Android.

Vou fazer melhor.

Vou lhe indicar uma discussão no Stack exatamente com uma dúvida como a sua: https://stackoverflow.com/questions/19073541/how-to-set-a-viewpager-inside-a-fragment

Lá tem inúmeras respostas e uma marcada como correta: https://stackoverflow.com/a/19073627/2578331

Acredite, o que você quer fazer, ViewPager dentro do componente fragmento, não é nada difícil.

Enfim, é isso.

Se mesmo assim você não conseguir prosseguir, volte aqui que lhe dou mais apoio.

Um excelente 2020 para você e família.

Abraço.
Responder
16/10/2015
E ae Thiengo blza? Pow, mto bom seu blog!
Tentei me guiar pela documentação do android pra fazer o screen slide, e não consegui. Só com sua explicação eu consegui!

Mas eu tenho algumas dúvidas;
1) há como mexer no posicionamento da imagem? Deixar a imagem no centro, na margem inferior, (20sp, 15dp) abaixo da margem superior, algo assim?

2) Tem como mexer na cor do fundo de cada página?

Abrçs! Vlew Thiengo
Responder
Vinícius Thiengo (1) (0)
17/10/2015
Fala Tsuy, blz?
Tem sim, por exemplo, com o fragment para cada página do ViewPager vc consegue colocar o ImageView dentro de um RelativeLayout ou FrameLayout e posiciona-la em qualquer lugar desse layout container, incluindo mudar a cor de fundo. Abraço
Responder
18/10/2015
Então eu teria de criar um fragment e um xml para cada página? Sendo os xml um RL ou FL, e dentro deles contendo um ImageView, foi isso que vc disse? hahha desculpe a minha ignorância no assunto.

E Thiengo, outra dúvida, cada vez que viramos o dispositivo (pelo ciclo de vida da Activity, me corrija se eu estiver enganado), voltamos a página inicial. Digo, estamos na página 4 dessa lista de carros, com o celular na posição vertical, após deitarmos o celular, ocorrem todas as etapas do seu ciclo de vida até o onDestroy(), então qndo se inicia a Activity novamente, no onCreate, temos a primeira página de volta, como poderíamos ter a página corrente (pag. 4) de volta? Mantendo alguma variável na classe? Que variável eu precisaria guardar?

Desculpe se fui confuso. Abrçs! Vlew Thiengo!
Responder
Vinícius Thiengo (1) (0)
18/10/2015
Isso, a questão dos fragments é apenas uma maneira de implementar, se quiser ir sem eles, sem problemas.

Seu problema de ciclo de vida da Activity vc pode resolver utilizando o onSaveInstanceState, nesse vídeo (http://www.thiengo.com.br/otimizando-sua-app-android-com-onsaveinstancestate ) falo um pouco sobre ele, porém utilizando o Serializable, utilize o Parcelable (http://www.thiengo.com.br/parcelable-no-android-entendendo-e-utilizando ), pois é mais eficiente. Somente utilize o configChanges (http://www.thiengo.com.br/entendendo-e-utilizando-o-configchanges-no-android ) depois de implementar o SaveInstanceState, caso contrário sua APP pode ter problemas quando o configChanges não funcionar e o saveInstanceState não estiver configurado tb. Seu script terá as variáveis necessárias salvas para então poder iniciar a APP onde estava antes da recriação da Activity. Abraço
Responder
18/10/2015
Acho que entendi, cheguei a manusear algumas variáveis, onde precisei guardar seus valores, recorri guardá-las na classe, assim eu as mantenho, depois atribuía novamente no onCreate. É que até agora não consegui manusear o onSaveInstanceState! Vou tentar do seu jeito! Vlew Thiengo!! Abrçs! Curti o Blog! Estive olhando seus materiais e são mto bons!! Parabéns cara!
Responder
20/10/2015
Opa Thiengo,

A primeira vez, fiz como vc fez:

private int mPaginas[] = {R.drawable.ic_pag_1, R.drawable.ic_pag_2, R.drawable.ic_pag3};

E funcionou perfeitamente.
Tentei utilizar o fragment como vc disse, mas sem sucesso. Parece que não sei como utilizá-lo. Fiz:

private int mPaginas[] = { R.layout.fragment_1_pagina, R.layout.fragment_2_pagina, R.layout.fragment_3_pagina };

apenas isso. E criei um xml para cada página

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
    xmlns:android="http://schemas.android.com/apk/res/android "
    android:layout_width="match_parent"
    android:layout_height="match_parent">

    <ImageView
        android:id="@+id/pagina1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:background="@drawable/ic_easter_egg_pag_1"/>
</RelativeLayout>

Assim para as outras duas imagens tb.

Criei o Fragment, mas não sei como usá-lo e onde.

public class Pagina1Fragment extends Fragment {
    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
        View layoutPag1 = inflater.inflate(R.layout.fragment_1_pagina, container, false);
        return layoutPag1;
    }
}

Sabe resolver esse problema?
Responder
Vinícius Thiengo (0) (0)
24/10/2015
Fala Tsuy, blz?
Dê uma olhada nesse vídeo onde utilizo o ViewPager junto a fragments (http://www.thiengo.com.br/sliding-tabs-toolbar-material-design-android-parte-8 ), tente adaptar a sua necessidade, pois provavelmente não está com tabs como no vídeo, pode fazer sem elas.

Nesse tuto (http://developer.android.com/intl/pt-br/training/animation/screen-slide.html ) da doc não tem tabs. Tente assim e ve se passa. Abraço
Responder
Ricardo (1) (0)
22/12/2014
Fala thiengo blz,
Cara eu consigo usar o viewpager em um listview? cada item da lista teria um slider com o view pager. Ja fez algo assim? Ou ja viu algo semelhante?
Responder
Vinícius Thiengo (0) (0)
23/12/2014
Fala Ricardo,
Não tentei com ViewPager ainda, mas não vejo problemas em fazer esse script que vc comentou. Mas se for passar imagens tenta o ImageSwitcher, ele é especifico para isso. Se não me engano o APP do Facebook faz isso, porém não sei lhe informar se é com ViewPager. Abraço
Responder
Hudson Mitoso (0) (0)
03/12/2014
e ai Thiengo blz?
seguinte to usando o viewpager mas to tendo o seguinte problema no meu item(pagerAdapter) tenho um botao(imageview) de like(um coração vazio) quando clico tenho que setar um coração cheio, só que a view atual nao ta sendo atualizada e sim a próxima ou a anterior :(

pode me ajudar?

abs.
Responder
Vinícius Thiengo (0) (0)
05/12/2014
Fala Hudson, blz?
Coloque a parte de atualização de imagem aqui, para ver como está fazendo. Abraço
Responder
Claudinei Arteman (0) (0)
04/10/2014
Thiengo, Como você me passou que gallery já depreciado e não aconselha incluir o zoom, aqui no ViewPager é possível? Preciso criar as galerias, mas tem que ter o esquema de zoom tipo pinça, pis as imagens vão conter texto que o zoom vai facilitar a leitura. Valeu.
Responder
Vinícius Thiengo (0) (0)
04/10/2014
Fala Claudinei, blz?
Na verdade eu não aconselho não utilizar o Gallery, o zoom não há problemas, porém eu não cheguei a utilizar o zoom ainda, logo encontrei essa api que pode lhe ajudar a aplicar o zoom

https://github.com/davemorrissey/subsampling-scale-image-view

Se não me engano ele é aplicado no ImageView, vc terá de ver lá se é isso mesmo. Abraço
Responder
23/09/2014
Thiengo, você conhece algum modo para personalizar a transição entre telas parecida com o ViewPager?
Exemplo: Para tirar um relatório eu vou escolhendo a cada tela os itens que estarão contido nesse relatório, a cada clique eu passo para a próxima tela fazendo com que a tela atual deslize para a esquerda e a próxima tela deslize para a esquerda a parecendo na tela do smartphone.
Responder
Vinícius Thiengo (0) (0)
23/09/2014
Fala Carlos, blz?
Então vc pode utilizar o ActionBar no modo Tab com SwipeView, alias SwipeView é mt utilizado. Abraço
Responder
26/09/2014
Fala Thiengo, blz! E você?
Cara, to com uma certa dificuldade aqui. Qual seria a sequencia boa dos seus vídeos para eu aprender de vez a lidar com fragments, action bar, swipeview e algum outro vídeo de transição de tela e personalização de layout?

Grande abraço e agradeço sua atenção!
Responder
Vinícius Thiengo (1) (0)
26/09/2014
Bom os que tenho vídeo vou colocar o link aqui:

Fragments:

Fragments no Android, Trabalhando com Múltiplas Activities (http://www.thiengo.com.br/fragments-no-android-trabalhando-com-multiplas-activities )

Ciclo de Vida e Otimização de Fragments no Android (http://www.thiengo.com.br/ciclo-de-vida-e-otimizacao-de-fragments-no-android )

ActionBar:

Iniciando ActionBar no Android, Trabalhando Com Menu (http://www.thiengo.com.br/iniciando-com-actionbar-no-android-trabalhando-com-menu )

Adicionando Tabs na ActionBar Android (http://www.thiengo.com.br/adicionando-tabs-actionbar-android )

Colocando Botão de Update no ActionBar Android (http://www.thiengo.com.br/colocando-botao-de-update-no-actionbar-android )

Criando Suporte ActionBar Android Com ActionBarSherlock (http://www.thiengo.com.br/criando-suporte-actionbar-android-com-actionbarsherlock )

SearchView, Botão Home e Mudança de Título na ActionBar Android (http://www.thiengo.com.br/searchview-botao-home-e-mudanca-de-titulo-no-actionbar-android )

Customizando ActionBar Android Com ActionBar Style Generator (http://www.thiengo.com.br/customizando-actionbar-android-com-actionbar-style-generator )

Navigator Drawer na ActionBar Android, Entendendo e Utilizando (http://www.thiengo.com.br/navigator-drawer-actionbar-android-entendendo-e-utilizando )

Vídeos sobre transição com efeito entre telas ainda não tenho. Abraço
Responder
Wasley (0) (0)
26/08/2014
Olá Thiengo, os vídeos estão show de bola.
Como faria para implementar o click nas imagens e trazer detalhes sobre o item em questão.
Abraço
Responder
Vinícius Thiengo (2) (0)
26/08/2014
Fala Wasley, blz? Então, vc pode colocar o listener de click no ImageView, ele aceita numa boa (onClickListener()) e dentro do método onClick() do listener vc pode chamar uma outra Activity (startActivity()) mostrando os detalhes que achar necessário. Abraço
Responder