Return Custom TabSwithcer
1: package com.voipplus.mmsclient.tabs;
2:
3: import android.content.Context;
4: import android.content.;
5: import android.util.Log;
6:
7: import com.google.android.material.tabs.TabLayout;
8: import com.voipplus.mmsclient.R;
9: import com.voipplus.mmsclient.activities.ContactsActivity;
10: import com.voipplus.mmsclient.activities.DialerActivity;
11: import com.voipplus.mmsclient.activities.HistoryActivity;
12: import com.voipplus.mmsclient.activities.SettingActivity;
13:
14: public class TabSwitcher {
15:
16: private static final String TAG = "TabSwitcher";
17: private Context context;private TabLayout tabLayout;
18: private int currentTab = -1; // Keep track of the currently selected tab
19:
20: public TabSwitcher(Context context, TabLayout tabLayout) {
21: this.context = context;
22: this.tabLayout = tabLayout;
23: setupTabs();
24: setupTabListener();
25: }
26:
27: private void setupTabs() {
28: Log.d(TAG, "setupTabs: Setting up tabs");
29: tabLayout.addTab(tabLayout.newTab().setIcon(R.drawable.baseline_call_24));
30: tabLayout.addTab(tabLayout.newTab().setIcon(R.drawable.baseline_person_add_24));
31: tabLayout.addTab(tabLayout.newTab().setIcon(R.drawable.baseline_history_24));
32: tabLayout.addTab(tabLayout.newTab().setIcon(R.drawable.baseline_settings_applications_24));
33: }
34:
35: private void setupTabListener() {
36: Log.d(TAG, "setupTabListener: Setting up tab listener");
37: tabLayout.addOnTabSelectedListener(new TabLayout.OnTabSelectedListener() {
38: @Override
39: public void onTabSelected(TabLayout.Tab tab) {
40: int position = tab.getPosition();
41: Log.d(TAG, "onTabSelected: Tab selected: " + position);
42: if (position != currentTab) {
43: currentTab = position;
44: switch (position) {
45: case 0:
46: startDialerActivity();
47: break;
48: case 1:
49: startContactsActivity();
50: break;
51: case 2:
52: startHistoryActivity();
53: break;
54: case 3:
55: startSettingActivity();
56: break;
57: }
58: }
59: }
60:
61: @Override
62: public void onTabUnselected(TabLayout.Tab tab) {
63: Log.d(TAG, "onTabUnselected: Tab unselected: " + tab.getPosition());
64: }
65:
66: @Override
67: public void onTabReselected(TabLayout.Tab tab) {
68: Log.d(TAG, "onTabReselected: Tab reselected: " + tab.getPosition());
69: // Do nothing here, we don't want to relaunch the activity
70: }
71: });
72: }
73:
74: private void startDialerActivity() {
75: Log.d(TAG, "startDialerActivity: Starting DialerActivity");
76: intent = new (context, DialerActivity.class);
77: context.startActivity(intent);
78: }
79:
80: private void startContactsActivity() {
81: Log.d(TAG, "startContactsActivity: Starting ContactsActivity");
82: intent = new (context, ContactsActivity.class);
83: context.startActivity(intent);
84: }
85:
86: private void startHistoryActivity() {
87: Log.d(TAG, "startHistoryActivity: Starting HistoryActivity");
88: intent = new (context, HistoryActivity.class);
89: context.startActivity(intent);
90: }
91:
92: private void startSettingActivity() {
93: Log.d(TAG, "startSettingActivity: Starting SettingActivity");
94: intent = new (context, SettingActivity.class);
95: context.startActivity(intent);
96: }
97:
98: public void selectTab(int tabIndex) {
99: Log.d(TAG, "selectTab: Selecting tab: " + tabIndex);
100: currentTab = tabIndex;
101: TabLayout.Tab tab = tabLayout.getTabAt(tabIndex);
102: if (tab != null) {
103: tab.select();
104: }
105: }
106: }
107:
AndroidMosaic context:
Return
Comments (
)
)
Link to this page:
http://www.vb-net.com/AndroidMosaic/TabSwitcher.htm
|
|