当前位置: 首页 > news >正文

巨野住房和城乡建设局网站短视频精准获客系统

巨野住房和城乡建设局网站,短视频精准获客系统,校园网搭建,微云做网站http://www.cnblogs.com/aademeng/articles/6119737.html转载注:简单总结一下,外层Tab用TabHost,类层Tab用ViepagerFramentStatePagerAdapter解决方案。本篇将使用PagerSlidingTabStrip 和ViewPager实现子Tab导航菜单栏的页面滑动。当然&…

http://www.cnblogs.com/aademeng/articles/6119737.html

转载注:简单总结一下,外层Tab用TabHost,类层Tab用Viepager+FramentStatePagerAdapter解决方案。

本篇将使用PagerSlidingTabStrip 和ViewPager实现子Tab导航菜单栏的页面滑动。当然,你也可以直接把PagerSlidingTabStrip 和ViewPager放到项目中当做主Tab导航菜单栏使用,只要思路掌握了,就可以随心所欲的灵活运用了。

特别注明:本篇所使用的PagerSlidingTabStrip代码来自郭林。

先看一下效果图(二级Tab导航菜单栏可以实现滑动):

bf937d28dd34fdae606aec79628b12ec.png 

f1f29024c73c3cc16ab430e60346e11f.png

重写fragment_message.xml

android:layout_width="match_parent"

android:layout_height="match_parent"

android:orientation="vertical" >

android:id="@+id/tabs"

android:layout_width="match_parent"

android:layout_height="40dp" />

android:id="@+id/pager"

android:layout_width="match_parent"

android:layout_height="wrap_content"

android:layout_below="@+id/tabs" />

重写 FragmentMessage

public class FragmentMessage extends Fragment {

private SubFragment1 subFragment1;

private SubFragment2 subFragment2;

private SubFragment3 subFragment3;

/**

* PagerSlidingTabStrip的实例

*/

private PagerSlidingTabStrip tabs;

/**

* 获取当前屏幕的密度

*/

private DisplayMetrics dm;

@Override

public void onCreate(Bundle savedInstanceState) {// 在前面执行

super.onCreate(savedInstanceState);

// 获取参数

Bundle bundle = getArguments();

if (null != bundle) {

//

}

}

@Override

public View onCreateView(LayoutInflater inflater, ViewGroup container,

Bundle savedInstanceState) {

T.showShort(getActivity(), "FragmentMessage==onCreateView");

View view = inflater.inflate(R.layout.fragment_message, null);

initView(view);

return view;

}

private void initView(View view) {

dm = getResources().getDisplayMetrics();

ViewPager pager = (ViewPager) view.findViewById(R.id.pager);

tabs = (PagerSlidingTabStrip) view.findViewById(R.id.tabs);

pager.setAdapter(new MyPagerAdapter(getChildFragmentManager()));

tabs.setViewPager(pager);

setTabsValue();

}

/**

* 对PagerSlidingTabStrip的各项属性进行赋值。

*/

private void setTabsValue() {

// 设置Tab是自动填充满屏幕的

tabs.setShouldExpand(true);

// 设置Tab的分割线是透明的

tabs.setDividerColor(Color.TRANSPARENT);

// tabs.setDividerColor(Color.BLACK);

// 设置Tab底部线的高度

tabs.setUnderlineHeight((int) TypedValue.applyDimension(

TypedValue.COMPLEX_UNIT_DIP, 1, dm));

// 设置Tab Indicator的高度

tabs.setIndicatorHeight((int) TypedValue.applyDimension(

TypedValue.COMPLEX_UNIT_DIP, 4, dm));// 4

// 设置Tab标题文字的大小

tabs.setTextSize((int) TypedValue.applyDimension(

TypedValue.COMPLEX_UNIT_SP, 16, dm)); // 16

// 设置Tab Indicator的颜色

tabs.setIndicatorColor(Color.parseColor("#45c01a"));// #45c01a

// 设置选中Tab文字的颜色 (这是我自定义的一个方法)

tabs.setSelectedTextColor(Color.parseColor("#45c01a"));// #45c01a

// 取消点击Tab时的背景色

tabs.setTabBackground(0);

}

// FragmentPagerAdapter FragmentStatePagerAdapter //不能用FragmentPagerAdapter

public class MyPagerAdapter extends FragmentStatePagerAdapter {

public MyPagerAdapter(FragmentManager fm) {

super(fm);

// TODO Auto-generated constructor stub

}

private final String[] titles = { "SubOne", "SubTwo", "SubThree" };

@Override

public CharSequence getPageTitle(int position) {

return titles[position];

}

@Override

public int getCount() {

return titles.length;

}

@Override

public Fragment getItem(int position) {

switch (position) {

case 0:

if (null == subFragment1) {

subFragment1 = new SubFragment1();

}

return subFragment1;

case 1:

if (null == subFragment2) {

subFragment2 = new SubFragment2();

}

return subFragment2;

case 2:

if (null == subFragment3) {

subFragment3 = new SubFragment3();

}

subFragment1 = new SubFragment1();

return subFragment3;

default:

return null;

}

}

}

}

再添加 SubFragment1(这里只给出一个,其它类似)

public class SubFragment1 extends Fragment {

@Override

public View onCreateView(LayoutInflater inflater, ViewGroup container,

Bundle savedInstanceState) {

T.showShort(getActivity(), "SubFragment1==onCreateView");

TextView tv = new TextView(getActivity());

tv.setTextSize(25);

tv.setBackgroundColor(Color.parseColor("#FFA07A"));

tv.setText("SubFragment1");

tv.setGravity(Gravity.CENTER);

return tv;

}

}

感觉没什么可写了……当然,你会发现切换ViewPager的时候,它所管理的Fragment生命周期很有意思,具体需求具体解决,方案很多……

http://www.lbrq.cn/news/2763991.html

相关文章:

  • 做3d图的网站ip域名解析查询
  • 新建的网站如何做seo百度输入法免费下载
  • 网站开发需要哪些证书高端网站建设公司排行
  • 用wordpress建的大部网络推广优化工具
  • 网站开发商换了武汉网络推广公司排名
  • 网站的网站制作网站设计
  • 阿里云做网站送服务器网站建设方案书模板
  • 怎么做网站赚钱吗免费网站建站页面
  • 和文化有关的吉网站建设模板线上推广外包公司
  • 成都广告公司招聘广告制作安装百度seo整站优化
  • 网站建设有哪些需要注意的关键细节今日特大新闻新事
  • 企业策划公关公司靠谱seo整站优化外包
  • 临沂网站建设制作南宁网络推广平台
  • wordpress分享卡片插件seo研究中心超逸seo
  • 可以举报一个做网络网站发大财吗长沙网络营销顾问
  • 宁晋县建设局网站搜索引擎推广的优势
  • 哈尔滨网站设计公司地址推广产品的渠道
  • wordpress页面教程视频教程seo查询百科
  • 时间管理系统 网站开发深圳网络营销模式
  • 威海高新园区建设运营有限公司网站百度广告位价格
  • 丽水网站建设专业的公司沈阳seo网站推广
  • 建设银行普卡申请网站在线网页制作系统搭建
  • 深圳做网站建设公司企业网站建设
  • 兰州网站建设百度官网首页登录入口
  • 建设银行手机短信网站怎么开通短视频推广渠道有哪些
  • 知名网站建设定制英雄联盟最新赛事
  • 潍坊建立企业网站公司爱站seo
  • 长春网站外包运营推广怎么做
  • 郑州网站建设幸巴网址查询
  • 外贸用什么平台自建站较好长沙网站推广排名优化
  • SQL详细语法教程(六)存储+索引
  • 上下文切换及线程操作相关内容
  • (MST,并查集)nflsoj #4114 货车运输/洛谷 P1967NOIP2003 货车运输
  • Makefile介绍(Makefile教程)(C/C++编译构建、自动化构建工具)
  • Java开发MCP服务器
  • 【CV 目标检测】Fast RCNN模型②——算法流程