简单的导航viewpager
下载PagerSlidingTabStrip https://github.com/astuetz/PagerSlidingTabStrip
主界面:
public class MainActivity extends FragmentActivity {
private ViewPager viewPager;
private PagerSlidingTabStrip tab;
private String[] Titles={"页面一","页面二","页面三","页面四"};
private DisplayMetrics dm;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
viewPager = (ViewPager) findViewById(R.id.viewPager);
viewPager.setAdapter(new TestAdapter(getSupportFragmentManager()));
tab=(PagerSlidingTabStrip) findViewById(R.id.tabStrip);
tab.setViewPager(viewPager);
dm = getResources().getDisplayMetrics();
// 设置填充满屏幕
tab.setShouldExpand(true);
// 设置分割线
tab.setDividerColor(Color.TRANSPARENT);
// 设置底部线的高度
tab.setUnderlineHeight((int) TypedValue.applyDimension(
TypedValue.COMPLEX_UNIT_DIP, 1, dm));
// 设置Indicator的高度
tab.setIndicatorHeight((int) TypedValue.applyDimension(
TypedValue.COMPLEX_UNIT_DIP, 5, dm));
// 标题文字的大小
tab.setTextSize((int) TypedValue.applyDimension(
TypedValue.COMPLEX_UNIT_SP, 18, dm));
// Indicator的颜色
tab.setIndicatorColor(Color.parseColor("#569844"));
// 设置选中文字的颜色
tab.setSelectedTextColor(Color.parseColor("#569844"));
// 点击的背景色
tab.setTabBackground(0);
}
class TestAdapter extends FragmentPagerAdapter{
public TestAdapter(FragmentManager fm) {
super(fm);
// TODO Auto-generated constructor stub
}
@Override
public Fragment getItem(int position) {
// TODO Auto-generated method stub
PagerFragment fragment=new PagerFragment();
Bundle bundle=new Bundle();
bundle.putString("TITLE", Titles[position]);
fragment.setArguments(bundle);
return fragment;
}
@Override
public int getCount() {
// TODO Auto-generated method stub
return Titles.length;
}
@Override
public CharSequence getPageTitle(int position) {
// TODO Auto-generated method stub
return Titles[position];
}
}
}
fragment类:
public class PagerFragment extends Fragment {
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
// TODO Auto-generated method stub
RelativeLayout layout=new RelativeLayout(getActivity());
LayoutParams params=new LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT);
layout.setLayoutParams(params);
TextView text=new TextView(getActivity());
text.setLayoutParams(params);
text.setGravity(Gravity.CENTER);
Bundle bundle=getArguments();
String title=bundle.getString("TITLE");
text.setText(title);
layout.addView(text);
return layout;
}
}
attr:
<?xml version="1.0" encoding="utf-8"?>
<resources> <declare-styleable name="PagerSlidingTabStrip">
<attr name="pstsIndicatorColor" format="color" />
<attr name="pstsUnderlineColor" format="color" />
<attr name="pstsDividerColor" format="color" />
<attr name="pstsIndicatorHeight" format="dimension" />
<attr name="pstsUnderlineHeight" format="dimension" />
<attr name="pstsDividerPadding" format="dimension" />
<attr name="pstsTabPaddingLeftRight" format="dimension" />
<attr name="pstsScrollOffset" format="dimension" />
<attr name="pstsTabBackground" format="reference" />
<attr name="pstsShouldExpand" format="boolean" />
<attr name="pstsTextAllCaps" format="boolean" />
</declare-styleable> </resources>
简单的导航viewpager的更多相关文章
- react-native 简单的导航
默默潜水了两年了,一直都在看大神们写的博客,现在我也分享一下跟RN导航有关的东西. 前两年我主要是做iOS开发的,现在刚找了份工作,应公司要求,现在开始学习reactnative的东西,由于我以前没怎 ...
- 用jquery制作一个简单的导航栏
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title> ...
- 基于node+koa2+mongodb实现简单的导航管理系统
基于node+koa2+mongodb实现简单的导航管理系统 项目说明 本项目gitbub地址 https://github.com/xuess/nav-admin,喜欢请star 基于node 实现 ...
- jq+css+html简单实现导航下拉菜单
相信导航栏下拉菜单是web开发最常见的一个item了.这里就不做介绍了,直接上code. Html部分 <div class="_nav"> <ul id=&qu ...
- iOS开发之--最简单的导航按钮更换方法/导航颜色的改变
有很多时候,我们需要用到导航,那么更换导航的时候,是在那用那修改,还是自定义一个导航,或者是声明一个代理方法,经过查资料和对导航属性的一些了解,用一种方法最为简单,就是在入口类里面添加一个方法,调用偏 ...
- css制作简单的导航栏
//css代码 #menu{ height: 65px; width:100%; background-color: rgba(0, 0, 0, 0.5);}#menu ul{ list-style: ...
- 【CSS】 一个简单的导航条
今天来做一个导航条! 首先写一个坯子: <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" &quo ...
- iOS史上最简单修改导航栏分隔线颜色方法!!!
override func viewDidLoad() { super.viewDidLoad() if let imageView = self.findNavLineView(view: navi ...
- vue简单的导航栏
<style> img{ display:block; margin:0 auto; width:500px; height:500px; } #app li{ list-style: n ...
随机推荐
- EditTextPreference点击后输入框显示隐藏内容,类似密码输入(转)
http://bbs.anzhuo.cn/thread-928131-1-1.html EditTextPreference点击后输入框显示隐藏内容,类似密码输入... [复制链接] aski ...
- KeepAlived主备模型高可用LVS
部署前准备: 1.至少4台主机:两个Director(HA1,HA2),两个Real Server(RS1,RS2) 2.Director之间时间必须同步,且关闭各主机的防火墙和Selinux 3.出 ...
- orcl 中decode的妙用
在不认识这个函数之前,我们要对同一张表或者同一查询语句块中的某一个字段进行计算分类统计时,要用到很多函数以及外连接.用这一函数往往可以解决很多复杂的东西. 网上的一段具有代表性的decode用法,不用 ...
- JS的prototype
初步理解: 在说prototype和constructor之前我们先得看几个例子. 1 2 3 4 function name(obj){ alert(obj)//"uw3c&quo ...
- silverlight控件阴影效果示例
<ScrollViewer MaxHeight="400" VerticalScrollBarVisibility="Auto" HorizontalSc ...
- jQuery Ajax传递数组到asp.net web api参数为空
前端: var files = []; files.push({ FileName: "1.jgp", Extension: ".jgp", FileType: ...
- 最简单的访问google的办法
我用的是猎豹浏览器,在工具下面的猎豹应用市场里面,搜索红杏,安装即可. 打开google产品地址时,如果地址栏里面右边的杏是绿色的,代表正常,如果是红色的,代表不正常. 可能是装了其他代理软件,如Sw ...
- Struts 2学习笔记——拦截器相关
一.添加国际化支持 默认的struts-deault.xml文件中已经定义了国际化拦截器,内容如下 <!-定义国际化拦截器--> <interceptor name="i1 ...
- tnsnames.ora配置注意(连接新的数据库)
文件地址D:\app\think\product\11.2.0\instantclient_11_2\network\admin\tnsnames.ora# tnsnames.ora Network ...
- geoServer 发布geoTiff格式的DEM数据
1/数据下载(首先感谢earthexplorer提供了免费的全球DEM数据) 下载地址 https://lta.cr.usgs.gov/GTOPO30 ,首先要注册才可以下载,登陆网站后点击get ...