1.布局文件

这里为了简单起见,只有两个布局文件

activity_main.xml

        

activity_one.xml

<?xml version="1.0" encoding="utf-8"?>    

2.Activity

MainActivity

package cn.sehzh.tester;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.FragmentTransaction;import android.os.Bundle;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 android.support.v4.view.ViewPager.OnPageChangeListener;import android.util.Log;import android.view.MenuItem;public class MainActivity extends FragmentActivity {private static final String MYTAG = "MYTAG";private ViewPager mViewPager;private List mList = new ArrayList<>();private ActionBar mActionBar;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);init();}private void init() {mViewPager = (ViewPager) findViewById(R.id.m_viewpager);MyTap myTap;myTap = new MyTap(getSupportFragmentManager());mList.add(new FirstFragment());mList.add(new SecondFragment());mList.add(new ThridFragment());mActionBar = getActionBar();mActionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS);Tab newTab = mActionBar.newTab();newTab.setText("First");newTab.setTabListener(myTap);mActionBar.addTab(newTab);Tab newTab2 = mActionBar.newTab();newTab2.setText("Second");newTab2.setTabListener(myTap);mActionBar.addTab(newTab2);Tab newTab3 = mActionBar.newTab();newTab3.setText("Third");newTab3.setTabListener(myTap);mActionBar.addTab(newTab3);mViewPager.setOnPageChangeListener(myTap);mViewPager.setAdapter(myTap);}class MyTap extends FragmentPagerAdapter implements TabListener, OnPageChangeListener{public MyTap(FragmentManager fm) {super(fm);}@Overridepublic Fragment getItem(int arg0) {return mList.get(arg0);}@Overridepublic int getCount() {return mList.size();}@Overridepublic void onTabSelected(Tab tab, FragmentTransaction ft) {mViewPager.setCurrentItem(tab.getPosition());Log.i(MYTAG, "onTabSelected");}@Overridepublic void onTabUnselected(Tab tab, FragmentTransaction ft) {Log.i(MYTAG, "onTabUnselected");}@Overridepublic void onTabReselected(Tab tab, FragmentTransaction ft) {Log.i(MYTAG, "onTabReselected");}@Overridepublic void onPageScrollStateChanged(int arg0) {Log.i(MYTAG, "onPageScrollStateChanged");}@Overridepublic void onPageScrolled(int arg0, float arg1, int arg2) {Log.i(MYTAG, "onPageScrolled");}@Overridepublic void onPageSelected(int arg0) {Log.i(MYTAG, "onPageSelected");mActionBar.setSelectedNavigationItem(arg0);}}@Overridepublic boolean onOptionsItemSelected(MenuItem item) {// Handle action bar item clicks here. The action bar will// automatically handle clicks on the Home/Up button, so long// as you specify a parent activity in AndroidManifest.xml.int id = item.getItemId();if (id == R.id.action_settings) {return true;}return super.onOptionsItemSelected(item);}@Overrideprotected void onPause() {super.onPause();Log.i(MYTAG, "onPause MainActivity...");}}
FirstFragment

package cn.sehzh.tester;import android.os.Bundle;import android.support.v4.app.Fragment;import android.view.LayoutInflater;import android.view.View;import android.view.ViewGroup;import android.widget.TextView;public class FirstFragment extends Fragment{private TextView mTextView;@Overridepublic View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {View view;view = inflater.inflate(R.layout.activity_one, container, false);mTextView = (TextView) view.findViewById(R.id.m_textView);mTextView.setText("this is the first page!");return view;}}

SecondFragment

package cn.sehzh.tester;import android.os.Bundle;import android.support.v4.app.Fragment;import android.view.LayoutInflater;import android.view.View;import android.view.ViewGroup;import android.widget.TextView;public class SecondFragment extends Fragment{private TextView mTextView;@Overridepublic View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {View view;view = inflater.inflate(R.layout.activity_one, container, false);mTextView = (TextView) view.findViewById(R.id.m_textView);mTextView.setText("this is the second page!");return view;}}
ThridFragment

package cn.sehzh.tester;import android.os.Bundle;import android.support.v4.app.Fragment;import android.view.LayoutInflater;import android.view.View;import android.view.ViewGroup;import android.widget.TextView;public class ThridFragment extends Fragment{private TextView mTextView;@Overridepublic View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {View view;view = inflater.inflate(R.layout.activity_one, container, false);mTextView = (TextView) view.findViewById(R.id.m_textView);mTextView.setText("this is the third page!");return view;}}
3.实现效果

android ViewPager加Fragment实现导航加左右滑动(类似QQ、微信)_第1张图片



更多相关文章

  1. android中填充界面布局的三种方式
  2. Android 多扩展布局ChipGroup使用
  3. Android中播放mp3文件
  4. Android 文件的下载
  5. framework之 ContextImpl文件解析
  6. Android外部存储(/storage/emulated/0)无法创建文件夹
  7. AndroidManifest.xml文件详解(uses-feature)
  8. Android Studio 导入so文件
  9. Android的string.xml文件中的特殊字符显示

随机推荐

  1. Android(安卓)4.4 Kitkat Phone工作流程
  2. Android实现网络访问
  3. Android(安卓)theme 使用
  4. Andriod EditText 属性学习
  5. 天天记录 - Android(安卓)使用view.Scrol
  6. Bitmap Drawable相互转换
  7. 【Android】Eclipse报This version of th
  8. Android时间选择器和日期选择器的使用注
  9. Android(安卓)OpenGL ES 绘图 -- 热力图
  10. Android(安卓)7.0的新特性