support.v7包中使用ActionBarActivity

   最近终于能上google了,再看android源码,发现android新版本多了v7库。根据官方的demo,自己试着使用了一下。

  话不多说,上代码:

package com.example.drawerdemo;

import java.util.ArrayList;

import java.util.List;

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.PagerTabStrip;
import android.support.v4.view.ViewPager;
import android.support.v7.app.ActionBar;
import android.support.v7.app.ActionBar.Tab;
import android.support.v7.app.ActionBarActivity;
import android.app.Activity;
import android.app.FragmentTransaction;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.Menu;
import android.view.MenuInflater;
import android.view.MenuItem;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ImageView;
import android.widget.TextView;

public class MainActivity extends ActionBarActivity implements ActionBar.TabListener{
	
	private static int TOTAL_COUNT = 5;// 标题数量
	private  ViewPager mViewPager;
	
	private ActionBar actionBar;
 
@Override
protected void onCreate(Bundle arg0) {
    // TODO Auto-generated method stub
    super.onCreate(arg0);
    setContentView(R.layout.activity_main);
     
//    PagerTabStrip mPagerTabStrip=(PagerTabStrip) findViewById(R.id.pager_tabstrip);
    //设置导航条的颜色
//    mPagerTabStrip.setTabIndicatorColorResource(android.R.color.white);
    
 actionBar = getSupportActionBar();
    
 	
    actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS);

   mViewPager = (ViewPager) findViewById(R.id.view_pager_demo);
    ArrayList<Fragment> fragmentList = new ArrayList<Fragment>();//ViewPager中显示的数据
    ArrayList<String> titleList = new ArrayList<String>();// 标题数据
    //添加数据
    for (int i = 0; i < TOTAL_COUNT; i++) {
        ViewPagerFragment mViewPagerFragment = new ViewPagerFragment();
        Bundle bundle = new Bundle();
//        bundle.putInt("upImageId", R.drawable.banner1);// 图片
        bundle.putString("text", "Page " + i);// 文字
        mViewPagerFragment.setArguments(bundle);// 设置参数
        titleList.add("Title " + (i+1));
        fragmentList.add(mViewPagerFragment);
    }
    mViewPager.setAdapter(new MyPagerFragmentAdapter(
            getSupportFragmentManager(), fragmentList, titleList));
    actionBar.addTab(actionBar.newTab().setText("Title " + 1).setTabListener(this));
    actionBar.addTab(actionBar.newTab().setText("Title " + 2).setTabListener(this));
    actionBar.addTab(actionBar.newTab().setText("Title " + 3).setTabListener(this));
    actionBar.addTab(actionBar.newTab().setText("Title " + 4).setTabListener(this));
    actionBar.addTab(actionBar.newTab().setText("Title " + 5).setTabListener(this));
    mViewPager.setOnPageChangeListener(new ViewPager.SimpleOnPageChangeListener() {
		
		@Override
		public void onPageSelected(int position) {
			// TODO Auto-generated method stub
			actionBar.setSelectedNavigationItem(position);
		}
			
	});
    
   

}

@Override
public boolean onOptionsItemSelected(MenuItem item) {
	 // Handle presses on the action bar items
    switch (item.getItemId()) {
        case R.id.action_search:
            openSearch();
            return true;
        case R.id.action_settings:
            openSettings();
            return true;
        default:
            return super.onOptionsItemSelected(item);
    }
}
 private void openSearch() {
	// TODO Auto-generated method stub

	 
}
 
 private void openSettings() {
	// TODO Auto-generated method stub

}

@Override
public boolean onCreateOptionsMenu(Menu menu) {
	// TODO Auto-generated method stub
	
	MenuInflater inflater = getMenuInflater();
	inflater.inflate(R.menu.main, menu);
	
	return super.onCreateOptionsMenu(menu);
//	return true;
}
//适配器
private class MyPagerFragmentAdapter extends FragmentPagerAdapter {

    private List<Fragment> fragmentList;
    private List<String> titleList;

    public MyPagerFragmentAdapter(FragmentManager fm,
            List<Fragment> fragmentList, List<String> titleList) {
        super(fm);
        this.fragmentList = fragmentList;
        this.titleList = titleList;
    }

    // ViewPage中显示的内容
    @Override
    public Fragment getItem(int arg0) {
        // TODO Auto-generated method stub
        return (fragmentList == null || fragmentList.size() == 0) ? null
                : fragmentList.get(arg0);
    }

//    // Title中显示的内容
//    @Override
//    public CharSequence getPageTitle(int position) {
//        // TODO Auto-generated method stub
//        return (titleList.size() > position) ? titleList.get(position) : "";
//    }

    @Override
    public int getCount() {
        // TODO Auto-generated method stub
        return fragmentList == null ? 0 : fragmentList.size();
    }

}
/** 使用Fragment显示ViewPager中的主要内容 */
public static class ViewPagerFragment extends Fragment {
    public ViewPagerFragment() {
        super();
    }

    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
            Bundle savedInstanceState) {
        View view = inflater.inflate(R.layout.tab1,
                container, false);
        TextView tv = (TextView) view.findViewById(R.id.textView1);
//        ImageView image = (ImageView) view
//                .findViewById(R.id.view_pager_image);

        Bundle bundle = getArguments();
        tv.setText(bundle.getString("text"));
//        if (bundle != null) {
//            //设置图片
//            int upImageId = bundle.getInt("upImageId");
//            if (upImageId != 0) {
//                image.setImageResource(upImageId);
//            }
//            //设置文字
//            String text = bundle.getString("text");
//            tv.setText(text);
//        }
        return view;
    }
}
	// TODO Auto-generated method stub

@Override
public void onTabSelected(Tab arg0,
		android.support.v4.app.FragmentTransaction arg1) {
	// TODO Auto-generated method stub
	mViewPager.setCurrentItem(arg0.getPosition());
}
@Override
public void onTabUnselected(Tab arg0,
		android.support.v4.app.FragmentTransaction arg1) {
	// TODO Auto-generated method stub
	
}
@Override
public void onTabReselected(Tab arg0,
		android.support.v4.app.FragmentTransaction arg1) {
	// TODO Auto-generated method stub
	
}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值