actionbar与viewpager的联合使用(android 3.0 ,level 11以上)
16lz
2022-03-15
package com.example.pad;import java.util.ArrayList;import java.util.List;import android.app.ActionBar;import android.app.ActionBar.Tab;import android.app.ActionBar.TabListener;import android.app.Activity;import android.app.FragmentTransaction;import android.os.Bundle;import android.support.v4.view.PagerAdapter;import android.support.v4.view.ViewPager;import android.support.v4.view.ViewPager.OnPageChangeListener;import android.view.View;import android.view.ViewGroup;public class MainActivity extends Activity implements TabListener,OnPageChangeListener {private ActionBar actionBar;private ViewPager viewPager;private List<View> viewList;private MainPageAdapter viewPagerAdapter;@Overridepublic void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.main);viewPager = (ViewPager) findViewById(R.id.view_pager);actionBar = getActionBar();actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS);actionBar.setDisplayShowTitleEnabled(false);actionBar.setDisplayShowHomeEnabled(true);Tab tab = actionBar.newTab().setText("第一页").setTabListener(this);actionBar.addTab(tab);tab = actionBar.newTab().setText("第二页").setTabListener(this);actionBar.addTab(tab);tab = actionBar.newTab().setText("第三页").setTabListener(this);actionBar.addTab(tab);viewList = new ArrayList<View>();View view1 = (View) View.inflate(this, R.layout.layout1, null);View view2 = (View) View.inflate(this, R.layout.layout2, null);View view3 = (View) View.inflate(this, R.layout.layout3, null);viewList.add(view1);viewList.add(view2);viewList.add(view3);viewPagerAdapter = new MainPageAdapter();viewPager.setAdapter(viewPagerAdapter);viewPager.setCurrentItem(0);viewPager.setOnPageChangeListener(this);}@Overridepublic void onTabReselected(Tab tab, FragmentTransaction ft) {}@Overridepublic void onTabSelected(Tab tab, FragmentTransaction ft) {viewPager.setCurrentItem(tab.getPosition());}@Overridepublic void onTabUnselected(Tab tab, FragmentTransaction ft) {}@Overridepublic void onPageScrollStateChanged(int arg0) {}@Overridepublic void onPageScrolled(int arg0, float arg1, int arg2) {}@Overridepublic void onPageSelected(int arg0) {actionBar.getTabAt(arg0).select();}public class MainPageAdapter extends PagerAdapter {@Overridepublic Object instantiateItem(ViewGroup container, int position) {View view = viewList.get(position);viewPager.addView(view);return view;}@Overridepublic void destroyItem(ViewGroup container, int position, Object object) {container.removeView(viewList.get(position));}@Overridepublic int getCount() {return viewList.size();}@Overridepublic boolean isViewFromObject(View arg0, Object arg1) {return arg0 == arg1;}}}
<?xml version="1.0" encoding="utf-8"?><FrameLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical" > <android.support.v4.view.ViewPager android:id="@+id/view_pager" android:layout_width="fill_parent" android:layout_height="fill_parent" /></FrameLayout>
更多相关文章
- 代码中设置drawableleft
- android 3.0 隐藏 系统标题栏
- Android开发中activity切换动画的实现
- Android(安卓)学习 笔记_05. 文件下载
- Android中直播视频技术探究之—摄像头Camera视频源数据采集解析
- 技术博客汇总
- android 2.3 wifi (一)
- AndRoid Notification的清空和修改
- Android中的Chronometer