Android使用ViewPager+Fragment的使用(一)

本文介绍如何使用ViewPager和Fragment创建可滑动的界面。通过创建Fragment样板、配置ViewPager、编写适配器及主界面代码,实现了页面间的平滑切换。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

              现在的许多应用的界面都使用ViewPager+Fragment这种框架来做用户的主界面,比如微信6.0等来实现页面的滑动,看一下代码。


(一). 创建Fragment样板,用于显示页面

 public class TabFragment extends Fragment {


	private String mTitle = "default";


	public TabFragment() {


	}


	@Override
	public View onCreateView(LayoutInflater inflater, ViewGroup container,
			Bundle savedInstanceState) {
		// TODO Auto-generated method stub


		//用于显示Fragment的页面标题
		if (getArguments() != null) {
			mTitle = getArguments().getString("title");
		}
        
		//动态创建TextView
		TextView textview = new TextView(getActivity());
		textview.setTextSize(20);
		textview.setTextColor(Color.parseColor("#000000"));
		textview.setGravity(Gravity.CENTER);
		textview.setText(mTitle);
		return textview;
	}
}

 (二)   .在布局文件中加入V4包的ViewPager     

<span style="font-size:18px;"><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:id="@+id/LinearLayout1"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical" >

    <android.support.v4.view.ViewPager
        android:id="@+id/viewpager"
        android:layout_width="match_parent"
        android:layout_height="0dp"
        android:layout_weight="1" >
    </android.support.v4.view.ViewPager>
    
</LinearLayout></span>
 这里有一个需要注意的是,这里使用V4包中的ViewPager,那么对应的其他地方用到的ViewPager也应该导入V4包中的,如果不一致的话会报错

 (三)   .继承于FragmentPagerAdapter适配器的编写

import java.util.List;

import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentManager;
import android.support.v4.app.FragmentPagerAdapter;

/**
 * @Title: MyFragmentAdapter.java
 * @author FANG
 * @Description: TODO
 * @date 2015-2-5 上午10:07:03 
 */
public class MyFragmentAdapter extends FragmentPagerAdapter {
	//需要显示页面Fragment的列表
	private List<Fragment> mTabs;

	public MyFragmentAdapter(FragmentManager fm) {
		super(fm);
	}
	
	//构造函数,接收FragmentManager管理器对象,以及Fragment的列表
	public MyFragmentAdapter(FragmentManager fm,List<Fragment> mTabs){
		super(fm);
		this.mTabs = mTabs;
	}

	@Override
	public Fragment getItem(int arg0) {
		// 返回当前页
		return mTabs.get(arg0);
	}

	@Override
	public int getCount() {
		// 获取显示页面的总数
		return mTabs.size();
	}

}

 (四)   .主界面的编写   

        1.首先获取ViewPager对象并实例,这个是必须的

        2.使用循环的形式创建多个标题不同的Fragment,并存放到List中去 

         

               //根据标题的个数,创建对应的Fragment
		for (String mTitle : mTitleArr) {
			TabFragment mTabFragment = new TabFragment();
			Bundle bundle = new Bundle();
			bundle.putString("title", mTitle);
			mTabFragment.setArguments(bundle);
			mTab.add(mTabFragment);
		}
       3.实例化适配器,传递相应的参数

     mAdapter = new MyFragmentAdapter(getSupportFragmentManager(), mTab);
       4.设置ViewPager对应的适配器      

     mViewPager.setAdapter(mAdapter);

       至此,一个可以滑动的页面以及建立起来了,来看一下实际效果吧

          

下篇在原有的这种效果下面加上几个对应的菜单按钮

       源码下载:源码下载

         另外这个是本人的微信公众号,大伙可扫描关注,会定时发送一些文章以及开发技巧给到大家   

        


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值