在早期版本中,想要做好看的tab就需要自己实现,或者在tabhost上面作改动。现在android已经更新到5.1了,对于这些tab经提供了非常不错的控件。不需要自己去实现,当然了,要使用还是得学习的。下面是一个非常简单的使用例子。
效果图如下:
java代码也非常简单
import java.util.ArrayList; import java.util.List; import android.annotation.SuppressLint; import android.os.Bundle; import android.os.Parcelable; import android.support.v4.view.PagerAdapter; import android.support.v4.view.PagerTabStrip; import android.support.v4.view.ViewPager; import android.view.LayoutInflater; import android.view.View; import com.fenjin.app.humiture.BaseActivity; public class BigDataActivity extends BaseActivity { private ViewPager mPager;// 页卡内容 private ListlistViews; // Tab页面列表 @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_big_data); InitViewPager(); } /** * 初始化ViewPager */ @SuppressLint({ "InflateParams", "SetJavaScriptEnabled" }) private void InitViewPager() { mPager = (ViewPager) findViewById(R.id.vPager); listViews = new ArrayList (); LayoutInflater mInflater = getLayoutInflater(); View tab_one = mInflater.inflate(R.layout.tab_one, null); View tab_two = mInflater.inflate(R.layout.tab_two, null); listViews.add(tab_one); listViews.add(tab_two); mPager.setAdapter(new MyPagerAdapter(listViews)); mPager.setCurrentItem(0); PagerTabStrip pagerTabStrip = (PagerTabStrip) findViewById(R.id.tabstrip); pagerTabStrip.setTabIndicatorColorResource(R.color.green); } @Override public void onClick(View view) { // TODO Auto-generated method stub super.onClick(view); int id = view.getId(); switch (id) { case R.id.back: finish(); break; } } /** * ViewPager适配器 */ public class MyPagerAdapter extends PagerAdapter { public List mListViews; String[] titles = { "工作统计", "累计统计" }; public MyPagerAdapter(List mListViews) { this.mListViews = mListViews; } @Override public CharSequence getPageTitle(int position) { // TODO Auto-generated method stub return titles[position]; } @Override public void destroyItem(View arg0, int arg1, Object arg2) { ((ViewPager) arg0).removeView(mListViews.get(arg1)); } @Override public void finishUpdate(View arg0) { } @Override public int getCount() { return mListViews.size(); } @Override public Object instantiateItem(View arg0, int arg1) { ((ViewPager) arg0).addView(mListViews.get(arg1), 0); return mListViews.get(arg1); } @Override public boolean isViewFromObject(View arg0, Object arg1) { return arg0 == (arg1); } @Override public void restoreState(Parcelable arg0, ClassLoader arg1) { } @Override public Parcelable saveState() { return null; } @Override public void startUpdate(View arg0) { } } }
效果图如下:
收藏的用户(0) X
正在加载信息~
推荐阅读
最新回复 (0)
站点信息
- 文章2300
- 用户1336
- 访客10862077
每日一句
True success inspires others to act.
真正的成功是激励他人行动。
真正的成功是激励他人行动。
语法错误: 意外的令牌“标识符”
全面理解Gradle - 定义Task
Motrix全能下载工具 (支持 BT / 磁力链 / 百度网盘)
谷歌Pixel正在开始起飞?
获取ElementUI Table排序后的数据
Run-Time Check Failure #0 - The value of ESP was not properly saved across a function call. This is
亲测!虚拟机VirtualBox安装MAC OS 10.12图文教程
华为手机app闪退重启界面清空log日志问题
android ndk开发之asm/page.h: not found
手机屏幕碎了怎么备份操作?
免ROOT实现模拟点击任意位置
新手必看修改DSDT教程
thinkpad t470p装黑苹果系统10.13.2
新会员