summaryrefslogtreecommitdiffstats
path: root/samples/browseable/LNotifications/src/com.example.android.lnotifications/LNotificationActivity.java
diff options
context:
space:
mode:
Diffstat (limited to 'samples/browseable/LNotifications/src/com.example.android.lnotifications/LNotificationActivity.java')
-rw-r--r--samples/browseable/LNotifications/src/com.example.android.lnotifications/LNotificationActivity.java81
1 files changed, 45 insertions, 36 deletions
diff --git a/samples/browseable/LNotifications/src/com.example.android.lnotifications/LNotificationActivity.java b/samples/browseable/LNotifications/src/com.example.android.lnotifications/LNotificationActivity.java
index fbc3e6232..8b44ed327 100644
--- a/samples/browseable/LNotifications/src/com.example.android.lnotifications/LNotificationActivity.java
+++ b/samples/browseable/LNotifications/src/com.example.android.lnotifications/LNotificationActivity.java
@@ -16,65 +16,74 @@
package com.example.android.lnotifications;
-import android.app.ActionBar;
-import android.app.Activity;
-import android.app.Fragment;
-import android.app.FragmentTransaction;
import android.os.Bundle;
+import android.support.design.widget.TabLayout;
+import android.support.v4.app.Fragment;
+import android.support.v4.app.FragmentActivity;
+import android.support.v4.app.FragmentManager;
+import android.support.v4.app.FragmentPagerAdapter;
+import android.support.v4.view.ViewPager;
+
+import static com.example.android.lnotifications.R.id.pager;
/**
* Launcher Activity for the L Notification samples application.
*/
-public class LNotificationActivity extends Activity {
+public class LNotificationActivity extends FragmentActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_notification);
- setTitle(R.string.title_lnotification_activity);
- ActionBar actionBar = getActionBar();
- // Use ViewPager in the support library where possible.
- // At this time, the support library for L is not ready so using the deprecated method
- // to create tabs.
- actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS);
- ActionBar.Tab tabHeadsUpNotification = actionBar.newTab().setText("Heads Up");
- ActionBar.Tab tabVisibilityMetadata = actionBar.newTab().setText("Visibility");
- ActionBar.Tab tabOtherMetadata = actionBar.newTab().setText("Others");
- tabHeadsUpNotification.setTabListener(new FragmentTabListener(HeadsUpNotificationFragment
- .newInstance()));
- tabVisibilityMetadata.setTabListener(new FragmentTabListener(VisibilityMetadataFragment
- .newInstance()));
- tabOtherMetadata.setTabListener(new FragmentTabListener(OtherMetadataFragment.newInstance
- ()));
- actionBar.addTab(tabHeadsUpNotification, 0);
- actionBar.addTab(tabVisibilityMetadata, 1);
- actionBar.addTab(tabOtherMetadata, 2);
+ // Show 3 tabs with the different notification options.
+ ViewPager viewPager = (ViewPager) findViewById(pager);
+ TabLayout tabs = (TabLayout) findViewById(R.id.tabs);
+
+ NotificationsPagerAdapter pagerAdapter =
+ new NotificationsPagerAdapter(getSupportFragmentManager());
+ viewPager.setAdapter(pagerAdapter);
+ tabs.setupWithViewPager(viewPager);
}
- /**
- * TabListener that replaces a Fragment when a tab is clicked.
- */
- private static class FragmentTabListener implements ActionBar.TabListener {
- public Fragment fragment;
+ private static class NotificationsPagerAdapter extends FragmentPagerAdapter {
- public FragmentTabListener(Fragment fragment) {
- this.fragment = fragment;
+ NotificationsPagerAdapter(FragmentManager fm) {
+ super(fm);
}
@Override
- public void onTabReselected(ActionBar.Tab tab, FragmentTransaction ft) {
- //do nothing.
+ public Fragment getItem(int position) {
+ switch (position) {
+ case 0:
+ return HeadsUpNotificationFragment.newInstance();
+ case 1:
+ return VisibilityMetadataFragment.newInstance();
+ case 2:
+ return OtherMetadataFragment.newInstance();
+ default:
+ break;
+ }
+ return null;
}
@Override
- public void onTabSelected(ActionBar.Tab tab, FragmentTransaction ft) {
- ft.replace(R.id.container, fragment);
+ public int getCount() {
+ return 3;
}
@Override
- public void onTabUnselected(ActionBar.Tab tab, FragmentTransaction ft) {
- ft.remove(fragment);
+ public CharSequence getPageTitle(int position) {
+ switch (position) {
+ case 0:
+ return "Heads Up";
+ case 1:
+ return "Visibility";
+ case 2:
+ return "Others";
+ default:
+ return super.getPageTitle(position);
+ }
}
}
}