TabLayout без использования ViewPager
Я знаю, что здесь есть тот же вопрос, но он был без ответа, поэтому Я собираюсь его открыть. Я хочу реализовать tablayout, потому что это было просто, но все учебники связаны с viewpager.
это выход
единственное, что я хочу, это что-то вроде OnClickListener
Если я нажму значок "Добавить", он произнесет тост "tab 1", Если я нажму значок календаря, он произнесет тост"tab 2"
и так далее т. д.
простое право? Я не знаю, почему нет ссылки на этот простой вопрос
Я уже сделал это, используя 3 ImageView и 2 textview внутри linearLayout, но я хочу использовать 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>
1 ответов
Я сам отвечу на свой вопрос. Я нашел его случайно, я Отчаянно ищу в списке предложений, предоставленном Android Studio, пока не нашел 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) {
}
});
}