2015-11-11 22 views
19

So che c'è una stessa domanda pubblicata qui ma non ha risposto, quindi ho intenzione di riaprirlo. Voglio implementare un tablayout perché era semplice ma tutti i tutorial sono coinvolti con viewpager.TabLayout senza utilizzare ViewPager

Questa è l'uscita

Output

L'unica cosa che voglio è qualcosa di simile a OnClickListener

se clicco sull'icona Aggiungi sarà brindare "scheda 1" se clicco sull'icona del calendario è sarà brindare "scheda 2"

così via e così via

semplice diritto? Non so perché non ci sia riferimento per quella semplice domanda

L'ho già fatto usando 3 ImageView e 2 textview all'interno di linearLayout ma voglio usare TabLayout perché regolerà automaticamente se è verticale o orizzontale.

Se non è possibile qualcuno può creare un layout simile a quell'output che regola automaticamente solo usando xml?

Main_activity.java

public class MainActivity extends AppCompatActivity { 

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main2); 

    TabLayout tabLayout = (TabLayout) findViewById(R.id.tabs); 
    tabLayout.addTab(tabLayout.newTab().setIcon(R.drawable.add_live)); 
    tabLayout.addTab(tabLayout.newTab().setIcon(R.drawable.calendar_live)); 
    tabLayout.addTab(tabLayout.newTab().setIcon(R.drawable.group_live)); 
    tabLayout.addTab(tabLayout.newTab().setText("Send")); 
    tabLayout.addTab(tabLayout.newTab().setText("Send & Post")); 

} 

} 

activity_main.xml

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
android:layout_width="fill_parent" 
android:layout_height="fill_parent" 
xmlns:app="http://schemas.android.com/tools"> 

<android.support.design.widget.TabLayout 
    android:id="@+id/tabs" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    app:tabMode="fixed" 
    app:tabGravity="fill" /> 

</RelativeLayout> 
+0

u può fare riferimento qui: http://androidexample.com/Tab_Layout_%7C_TabBar_-_Android_Example/index. php? view = article_discription & aid = 103 & aaid = 125 –

+1

Userei ancora un viewpager per le animazioni di transizione personalmente, ma disabilito la possibilità per l'utente di scorrere: http://stackoverflow.com/a/9650884/1219389 – PPartisan

risposta

36

risponderò alla mia domanda. ho trovato per caso, sto cercando disperatamente la lista suggerimento fornito da Android Studio fino a quando ho trovato setOnTabSelectedListener

TabLayout tabLayout = (TabLayout) findViewById(R.id.tabs); 
    tabLayout.addTab(tabLayout.newTab().setIcon(R.drawable.add_live)); 
    tabLayout.addTab(tabLayout.newTab().setIcon(R.drawable.calendar_live)); 
    tabLayout.addTab(tabLayout.newTab().setIcon(R.drawable.group_live)); 
    tabLayout.addTab(tabLayout.newTab().setText("Send")); 
    tabLayout.addTab(tabLayout.newTab().setText("Send & Post")); 

    tabLayout.addOnTabSelectedListener(new TabLayout.OnTabSelectedListener() { 
     @Override 
     public void onTabSelected(TabLayout.Tab tab) { 
      if(tabLayout.getSelectedTabPosition() == 0){ 
       Toast.makeText(MainActivity.this, "Tab " + tabLayout.getSelectedTabPosition(), Toast.LENGTH_LONG).show(); 
      }else if(tabLayout.getSelectedTabPosition() == 1){ 
       Toast.makeText(MainActivity.this, "Tab " + tabLayout.getSelectedTabPosition(), Toast.LENGTH_LONG).show(); 
      }else if(tabLayout.getSelectedTabPosition() == 2){ 
       Toast.makeText(MainActivity.this, "Tab " + tabLayout.getSelectedTabPosition(), Toast.LENGTH_LONG).show(); 
      }else if(tabLayout.getSelectedTabPosition() == 3){ 
       Toast.makeText(MainActivity.this, "Tab " + tabLayout.getSelectedTabPosition(), Toast.LENGTH_LONG).show(); 
      }else if(tabLayout.getSelectedTabPosition() == 4){ 
       Toast.makeText(MainActivity.this, "Tab " + tabLayout.getSelectedTabPosition(), Toast.LENGTH_LONG).show(); 
      } 
     } 

     @Override 
     public void onTabUnselected(TabLayout.Tab tab) { 

     } 

     @Override 
     public void onTabReselected(TabLayout.Tab tab) { 

     } 
    }); 
} 
+0

è possibile passare il layout personalizzato per la scheda in modo sopra senza cercapersone? – Min2

+1

sì sì. usando. 'tabLayout.addView (Visualizza)' –

+0

grazie, proverò e poi ti faccio sapere .. – Min2

Problemi correlati