TabLayout而不使用ViewPager

我知道这里有一个相同的问题,但没有回答,所以我打算重新打开它。 我想实现一个tablayout,因为它很简单,但所有的教程都涉及viewpager。

这是输出

产量

我想要的唯一的东西就像OnClickListener

如果我点击添加图标,它会烤面包“选项卡1”,如果我点击日历图标,将烤面包“选项卡2”

如此等等

简单的权利? 我不知道为什么没有这个简单的问题的参考

我已经在linearLayout中使用了3个ImageView和2个textview,但是我想使用TabLayout,因为它会自动调整它是纵向还是横向。

如果这是不可能的有人可以做一个类似的输出,只能使用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> 

Solutions Collecting From Web of "TabLayout而不使用ViewPager"

我会回答我自己的问题。 我意外地发现,我绝望地searchAndroid Studio提供的build议列表,直到findsetOnTabSelectedListener

  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.setOnTabSelectedListener(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) { } }); }