Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

TabLayout without using ViewPager

I want to implement a TabLayout because it is simple but all the tutorials I have found involve a ViewPager. I just want something like OnClickListener where if I click the Add icon, it will show a toast that displays "tab 1" and if I click a calendar icon, it will show a toast that displays "tab 2"

I would like to use TabLayout because it handles device rotations.

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);     // Add five tabs.  Three have icons and two have text titles     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> 
like image 681
Eleojasmil J Milagrosa Avatar asked Nov 11 '15 08:11

Eleojasmil J Milagrosa


People also ask

Can I use tabLayout without ViewPager?

It is possible to use a TabLayout without a ViewPager by using a TabLayout. OnTabSelectedListener . For navigation within an Activity , manually populate the UI based on the tab selected.

When should I use ViewPager?

ViewPager in Android allows the user to flip left and right through pages of data. In our android ViewPager application we'll implement a ViewPager that swipes through three views with different images and texts.

How do I use tabLayout with ViewPager?

Tab layout are visible below toolbar with View pager, used to create swipeable views . Tabs are designed to work with fragments. Use them to swipe fragments in view pager.


1 Answers

I found addOnTabSelectedListener:

    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) {          }     }); } 
like image 190
Eleojasmil J Milagrosa Avatar answered Sep 19 '22 19:09

Eleojasmil J Milagrosa