The example provided below shows how to create a simple scrollable TabLayout and add a TabLayout.OnTabSelectedListener to it in Sketchware.
1. In VIEW area of main.xml add a Linear Vertical
linear1 with width and height as match_parent. Inside it add a Linear Horizontal
linear2.
2. Switch On AppCompat and design.
3. In
onCreate event, use an add source directly block and put following codes.
// Create a TabLayout (tabLayout)
android.support.design.widget.TabLayout tabLayout = new android.support.design.widget.TabLayout(this);// Make TabLayout scrollable
tabLayout.setTabMode(android.support.design.widget.TabLayout.MODE_SCROLLABLE);// Add Tabs to the TabLayout
tabLayout.addTab(tabLayout.newTab().setText("Sunday")); tabLayout.addTab(tabLayout.newTab().setText("Monday")); tabLayout.addTab(tabLayout.newTab().setText("Tuesday"));tabLayout.addTab(tabLayout.newTab().setText("Wednesday")); tabLayout.addTab(tabLayout.newTab().setText("Thursday")); tabLayout.addTab(tabLayout.newTab().setText("Friday"));tabLayout.addTab(tabLayout.newTab().setText("Saturday"));// Add TabLayout to linear2
linear2.addView(tabLayout);// Add OnTabSelectedListener to the TabLayout
tabLayout.addOnTabSelectedListener(new android.support.design.widget.TabLayout.OnTabSelectedListener(){@Overridepublic void onTabSelected(android.support.design.widget.TabLayout.Tab tab){switch(tab.getText().toString()){case "Sunday":linear1.setBackgroundColor(Color.RED);break;case "Monday":linear1.setBackgroundColor(Color.parseColor("#aaddab"));break;case "Tuesday":linear1.setBackgroundColor(Color.parseColor("#0dddad"));break;case "Wednesday":linear1.setBackgroundColor(Color.BLUE);break;case "Thursday":linear1.setBackgroundColor(Color.YELLOW);break;case "Friday":linear1.setBackgroundColor(Color.WHITE);break;case "Saturday":linear1.setBackgroundColor(Color.GREEN);break;}}@Overridepublic void onTabReselected(android.support.design.widget.TabLayout.Tab tab){}@Overridepublic void onTabUnselected(android.support.design.widget.TabLayout.Tab tab){}});4. Save and run the project.