说在前面:

底部菜单的几种方式:

1.TabHost+Activity

2.RadioButton+Fragment

3.FragmentTabHost+Fragment

一、布局文件

因为goole官方没有给出layout文件,所以,手写了一份

布局中需要注意的地方:

1.id需要使用android:id的形式

android:id="@android:id/tabhost"

2.官方要求必须这样命名 tabcontent

android:id="@android:id/tabcontent"


二、首先,看看goole官方给的demo

activity中使用:

fragment中使用:

三、根据官方给的demo,自己撸了一份代码

1.FragmentTabHost用法

(1)Activity要继承FragmentActivity

(2)调用setup()方法

(3)添加TabSpec

2.代码实现

mTabHost= (FragmentTabHost) findViewById(android.R.id.tabhost);

mTabHost.setup(this,getSupportFragmentManager(),R.id.realtabcontent);

TabHost.TabSpec mTabSpec =mTabHost.newTabSpec(getString(tab.getTitle()));

mTabSpec.setIndicator(buildIndicator(tab));

mTabHost.addTab(mTabSpec,tab.getFragment(),null);

//去掉分割线

mTabHost.getTabWidget().setShowDividers(LinearLayout.SHOW_DIVIDER_NONE);

//设置默认第一个页面被选择

mTabHost.setCurrentTab(0);

3.附上demo

更多相关文章

  1. Android(安卓)使用ORMLite 操作数据库
  2. android自动化(2)
  3. android使用全局变量的两种方法
  4. android中application 关于全局变量
  5. android ClipDrawable 使用
  6. android广播监听短信并显示内容
  7. 箭头函数的基础使用
  8. NPM 和webpack 的基础使用
  9. Python list sort方法的具体使用

随机推荐

  1. Android(安卓)Studio 将项目打成JAR包
  2. Android版本适配:9.0 Pie(API级别28)
  3. 日拱一卒(十七)
  4. Android(安卓)DeepLink
  5. Android基于HttpUrlConnection类的文件下
  6. android ::JNI WARNING illegal start by
  7. Android优化之内存优化
  8. Android内容提供者(ContentProvider)浅析(二
  9. Android(安卓)Canvas 说明
  10. spring mvc dubbo ios android整合cms内