国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學(xué)院 > 開發(fā)設(shè)計 > 正文

viewpager的基本用法

2019-11-09 14:09:28
字體:
供稿:網(wǎng)友

ViewPager繼承自ViewGroup,用以實現(xiàn)頁面的左右滑動。

1)ViewPager類直接繼承了ViewGroup類,所有它是一個容器類,可以在其中添加其他的view類。

2)ViewPager類需要一個PagerAdapter適配器類給它提供數(shù)據(jù)。

3)ViewPager經(jīng)常和Fragment一起使用,并且提供了專門的FragmentPagerAdapter和FragmentStatePagerAdapter類供Fragment中的ViewPager使用。

在編寫ViewPager的應(yīng)用的使用,還需要使用兩個組件類分別是PagerTitleStrip類和PagerTabStrip類,PagerTitleStrip類直接繼承自ViewGroup類,而PagerTabStrip類繼承PagerTitleStrip類,所以這兩個類也是容器類。但是有一點需要注意,在定義xml的layout的時候,這兩個類必須是ViewPager標簽的子標簽,不然會出錯。

fragment_collection_object.xml必不可少

<android.support.v4.view.ViewPager xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/activity_collection_demo_pager" android:layout_width="match_parent" android:layout_height="match_parent"> <android.support.v4.view.PagerTitleStrip android:id="@+id/pager_title_strip" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_gravity="top" android:background="#33b5e5" android:textColor="#fff" android:paddingTop="4dp" android:paddingBottom="4dp" /></android.support.v4.view.ViewPager>

這里寫圖片描述 這里寫圖片描述

主要類共5個: CollectionDemoActivity.java,顯示控制頁面 activity_collection_demo.xml,顯示頁面的xml DemoCollectionPagerAdapter.java,viewpager的數(shù)據(jù)填充adapter DemoObjectFragment.java,數(shù)字顯示控制頁面 fragment_collection_object.xml,fragment的xml布局

/** 顯示數(shù)字的Fragment */

public static class DemoObjectFragment extends Fragment { public static final String ARG_OBJECT = "object"; @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { View rootView = inflater.inflate(R.layout.fragment_collection_object, container, false); Bundle args = getArguments(); ((TextView) rootView.findViewById(android.R.id.text1)).setText( Integer.toString(args.getInt(ARG_OBJECT))); return rootView; } }

/**填充viewpager */

public static class DemoCollectionPagerAdapter extends FragmentStatePagerAdapter { public DemoCollectionPagerAdapter(FragmentManager fm) { super(fm); } @Override public Fragment getItem(int i) { Fragment fragment = new DemoObjectFragment(); Bundle args = new Bundle(); args.putInt(DemoObjectFragment.ARG_OBJECT, i + 1); // Our object is just an integer :-P fragment.setArguments(args); return fragment; } @Override public int getCount() { //有100個子項 return 100; } @Override public CharSequence getPageTitle(int position) { return "OBJECT " + (position + 1); } }

//主activity

public class CollectionDemoActivity extends FragmentActivity { DemoCollectionPagerAdapter mDemoCollectionPagerAdapter; ViewPager mViewPager; public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_collection_demo); mDemoCollectionPagerAdapter = new DemoCollectionPagerAdapter(getSupportFragmentManager()); mViewPager = (ViewPager) findViewById(R.id.activity_collection_demo_pager); mViewPager.setAdapter(mDemoCollectionPagerAdapter); } @Override public boolean onOptionsItemSelected(MenuItem item) { switch (item.getItemId()) { case android.R.id.home: // This is called when the Home (Up) button is PRessed in the action bar. // Create a simple intent that starts the hierarchical parent activity and // use NavUtils in the Support Package to ensure proper handling of Up. Intent upIntent = new Intent(this, MainActivity.class); if (NavUtils.shouldUpRecreateTask(this, upIntent)) { // This activity is not part of the application's task, so create a new task // with a synthesized back stack. TaskStackBuilder.from(this) // If there are ancestor activities, they should be added here. .addNextIntent(upIntent) .startActivities(); finish(); } else { // This activity is part of the application's task, so simply // navigate up to the hierarchical parent activity. NavUtils.navigateUpTo(this, upIntent); } return true; } return super.onOptionsItemSelected(item); } }

fragment_collection_object.xml

<TextView xmlns:android="http://schemas.android.com/apk/res/android" android:id="@android:id/text1" android:layout_width="match_parent" android:layout_height="match_parent" android:gravity="center" android:textSize="128sp" android:padding="32dp" />
發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 油尖旺区| 曲靖市| 阜南县| 嵊州市| 邢台县| 泸定县| 西贡区| 西贡区| 资兴市| 永靖县| 铁力市| 江源县| 阜平县| 苗栗县| 郧西县| 高邑县| 襄垣县| 永吉县| 华安县| 桓台县| 定陶县| 西华县| 莱阳市| 大港区| 彭州市| 焦作市| 怀仁县| 绥阳县| 松原市| 监利县| 剑河县| 宁海县| 乐业县| 大同市| 新宁县| 屯昌县| 云安县| 陆川县| 惠安县| 定兴县| 平远县|