Advertisement
Guest User

ViewPagerIndicator

a guest
Nov 15th, 2011
399
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 3.65 KB | None | 0 0
  1. //4classes used for viewpagerindicator with an xml
  2.  
  3. ViewPageBaseActivity
  4. -----------------------
  5. public class ViewPageBaseActivity extends FragmentActivity {
  6.     ViewPageFragmentAdapter mAdapter;
  7.     ViewPager mPager;
  8. }
  9.  
  10.  
  11. ViewPageActivity                     ------main activity
  12. ------------------
  13.  
  14. public class ViewPageActivity extends ViewPageBaseActivity {
  15.  
  16.    
  17.     @Override
  18.     protected void onCreate(Bundle arg0) {
  19.         super.onCreate(arg0);
  20.         setContentView(R.layout.view_page);
  21.         mAdapter=new ViewPageFragmentAdapter(getSupportFragmentManager());
  22.        
  23.         mPager = (ViewPager)findViewById(R.id.pager);
  24.         mPager.setAdapter(mAdapter);
  25.        
  26.         TitlePageIndicator indicator = (TitlePageIndicator)findViewById(R.id.indicator);
  27.         indicator.setViewPager(mPager);
  28.         indicator.setFooterIndicatorStyle(IndicatorStyle.Underline);
  29.     }
  30. }
  31.  
  32.  
  33.  
  34. ViewPageFragment
  35. ------------------
  36. public class ViewPageFragment extends Fragment{
  37.  
  38. private static final String KEY_CONTENT = "TestFragment:Content";
  39.    
  40.     public static ViewPageFragment newInstance(String content) {
  41.         ViewPageFragment fragment = new ViewPageFragment();
  42.  
  43.         StringBuilder builder = new StringBuilder();
  44.         for (int i = 0; i < 20; i++) {
  45.             builder.append(content).append(" ");
  46.         }
  47.         builder.deleteCharAt(builder.length() - 1);
  48.         fragment.mContent = builder.toString();
  49.        
  50.         return fragment;
  51.     }
  52.    
  53.     private String mContent = "???";
  54.    
  55.     @Override
  56.     public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
  57.         if ((savedInstanceState != null) && savedInstanceState.containsKey(KEY_CONTENT)) {
  58.             mContent = savedInstanceState.getString(KEY_CONTENT);
  59.         }
  60.        
  61.         TextView text = new TextView(getActivity());
  62.         text.setGravity(Gravity.CENTER);
  63.         text.setText(mContent);
  64.         text.setTextSize(20 * getResources().getDisplayMetrics().density);
  65.         text.setPadding(20, 20, 20, 20);
  66.        
  67.         LinearLayout layout = new LinearLayout(getActivity());
  68.         layout.setLayoutParams(new LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.FILL_PARENT));
  69.         layout.setGravity(Gravity.CENTER);
  70.         layout.addView(text);
  71.        
  72.         return layout;
  73.     }
  74.  
  75.     @Override
  76.     public void onSaveInstanceState(Bundle outState) {
  77.         super.onSaveInstanceState(outState);
  78.         outState.putString(KEY_CONTENT, mContent);
  79.     }
  80. }
  81.  
  82.  
  83.  
  84. ViewPageFragmentAdapter
  85. ------------------------
  86.  
  87. public class ViewPageFragmentAdapter extends FragmentPagerAdapter {
  88.  
  89.     protected static final String[] CONTENT = new String[] { "NearBy", "Cities", "Custom", };
  90.    
  91.     private int mCount = CONTENT.length;
  92.     public ViewPageFragmentAdapter(FragmentManager supportFragmentManager) {
  93.         super(supportFragmentManager);
  94.     }
  95.  
  96.     @Override
  97.     public Fragment getItem(int position) {
  98.         return ViewPageFragment.newInstance(CONTENT[position % CONTENT.length]);
  99.     }
  100.  
  101.     @Override
  102.     public int getCount() {
  103.         return mCount;
  104.     }
  105.    
  106.     public void setCount(int count) {
  107.         if (count > 0 && count <= 10) {
  108.             mCount = count;
  109.             notifyDataSetChanged();
  110.         }
  111.     }
  112.  
  113. }
  114.  
  115.  
  116.  
  117. view_page.xml
  118. --------------
  119. <?xml version="1.0" encoding="utf-8"?>
  120.  
  121. <LinearLayout
  122.     xmlns:android="http://schemas.android.com/apk/res/android"
  123.     android:orientation="vertical"
  124.     android:layout_width="fill_parent"
  125.     android:layout_height="fill_parent">
  126.  
  127.     <com.viewpagerindicator.TitlePageIndicator
  128.         android:id="@+id/indicator"
  129.         android:padding="10dip"
  130.         android:layout_height="wrap_content"
  131.         android:layout_width="fill_parent"
  132.         />
  133.     <android.support.v4.view.ViewPager
  134.         android:id="@+id/pager"
  135.         android:layout_width="fill_parent"
  136.         android:layout_height="0dp"
  137.         android:layout_weight="1"
  138.         />
  139.  
  140. </LinearLayout>
  141.  
  142.  
  143.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement