Android:使用pagerslidingtabstrip做Tab


效果如下:





使用过程:
首先我们可以从官方 (https://github.com/astuetz/PagerSlidingTabStrip )下载 library 导入工程设置为library ,或者直接将源码和需要的资源(color string attr等添加进项目),当然也可以打包成jar包来使用。
看界面,我们需要一个activity中承载三个fragment,activity需要一个布局文件,每个fragment有一个布局文件,这里给出activity的布局:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"    xmlns:tools="http://schemas.android.com/tools"    android:layout_width="match_parent"    android:layout_height="match_parent"    tools:context="com.pagerSliding.pagersliding.MainActivity"     xmlns:app="http://schemas.android.com/apk/res-auto">    <com.astuetz.PagerSlidingTabStrip        android:textSize="16.0sp"        android:textColor="#fff"        android:background="#000"        android:id="@+id/tabs"        android:layout_width="match_parent"        app:pstsIndicatorColor="#345"        app:pstsUnderlineColor="#781"        android:layout_height="48dip" >    </com.astuetz.PagerSlidingTabStrip>    <android.support.v4.view.ViewPager        android:id="@+id/viewpager"        android:layout_width="match_parent"        android:layout_height="wrap_content"        android:layout_below="@+id/tabs"/>    </RelativeLayout>

接下来是我们的 Activity
package com.example.pagerslidingdemo;import java.util.ArrayList;import java.util.List;import com.astuetz.PagerSlidingTabStrip;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;public class MainActivity extends FragmentActivity {private ViewPager viewpager;private PagerSlidingTabStrip tabs;private Fragment f1, f2, f3;private List<Fragment> pages = new ArrayList<Fragment>();@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);// 初始化initPagers();}private void initPagers() {viewpager = (ViewPager) findViewById(R.id.viewpager);if (f1 == null) {f1 = new Fragment1();}if (f2 == null) {f2 = new Fragment2();}if (f3 == null) {f3 = new Fragment3();}pages.add(f1);pages.add(f2);pages.add(f3);viewpager.setAdapter(new MyPagerAdapter(getSupportFragmentManager(),pages));// 初始化 默认显示哪个viewpager.setCurrentItem(0);tabs = (PagerSlidingTabStrip) findViewById(R.id.tabs);tabs.setViewPager(viewpager);}// MyPagerAdapter要和上面实现的三个Fragment对应起来class MyPagerAdapter extends FragmentPagerAdapter {private final String[] TITLES = { "所有订单", "已完成订单", "未完成订单" };private List<Fragment> fragmentlist;public MyPagerAdapter(FragmentManager fm, List<Fragment> list) {super(fm);fragmentlist = list;}@Overridepublic CharSequence getPageTitle(int position) {return TITLES[position];}@Overridepublic int getCount() {return fragmentlist.size();}public Fragment getItem(int position) {return fragmentlist.get(position);}}}


然后只需要我们新建三个fragment,在不同的fragmnt中引入不同的布局,实现其对应的功能即可。

demo的下载地址:
http://download.csdn.net/detail/cassiepython/9500924




更多相关文章

  1. android编辑布局文件时非要降低api level或者更改主题才能显示布
  2. Android 线性布局:LinearLayout
  3. Android学习笔记-Android非布局activity中布局文件及控件加载方
  4. Android应用开发学习之相对布局
  5. Android merge抽象布局介绍
  6. android View页面布局总结 最全总结。
  7. Android系统回顾(三):UI之GridLayout布局

随机推荐

  1. 使用Android(安卓)Google Map
  2. Android画图学习总结(四)——Animation(下)
  3. NetBeans 7.0 安装 Android SDK 开发 And
  4. Android使用json对中文进行编码 使用php
  5. Android获取当前已连接的wifi信号强度的
  6. Android 数据存储与IO (一)
  7. View事件分发机制
  8. Android(安卓)官方架构组件(三)——ViewMod
  9. Android API 中文 (53) ―― BaseAdapter
  10. android wifi debug 调试