底部导航栏FragmenTabHost

底部导航栏FragmenTabHost

这里写图片描述

public class MainActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        FragmentTabHost mTabHost = (FragmentTabHost) findViewById(android.R.id.tabhost);
        // 初始化
        mTabHost.setup(this, getSupportFragmentManager(), R.id.realtabcontent);

        mTabHost.addTab(mTabHost.newTabSpec("simple").setIndicator(getIndicator(0)),
                TestFragment.class, null);
        mTabHost.addTab(mTabHost.newTabSpec("contacts").setIndicator(getIndicator(1)),
                SeFragment.class, null);
        mTabHost.addTab(mTabHost.newTabSpec("custom").setIndicator(getIndicator(2)),
                ThrFragment.class, null);
        mTabHost.addTab(mTabHost.newTabSpec("throttle").setIndicator(getIndicator(3)),
                FouFragment.class, null);

        // 去掉分割线 必须在添加完标签之后才能执行不然会报错
        mTabHost.getTabWidget().setDividerDrawable(null);
    }

    // 设置图片时要用到 格式最好为选择器selector
    // selector使用时需要指明正确的状态对应的图片
    // 否则顺序可能导致不生效
    private int[] imgs = new int[]{R.drawable.nav_one,
            R.drawable.nav_one, R.drawable.nav_one, R.drawable.nav_one};

    // 用来设置自定义指示器
    private View getIndicator(int index) {
        View view = getLayoutInflater().inflate(R.layout.layout_nav, null);
        ImageView imgTab = (ImageView) view.findViewById(R.id.img_navTab);
        imgTab.setImageResource(imgs[index]);
        return view;
    }
}

XML文件中的id最好不要修改

<android.support.v4.app.FragmentTabHost
        xmlns:android="http://schemas.android.com/apk/res/android"
        android:id="@android:id/tabhost"
        android:layout_width="match_parent"
        android:layout_height="match_parent">

        <LinearLayout
            android:orientation="vertical"
            android:layout_width="match_parent"
            android:layout_height="match_parent">

            <FrameLayout
                android:id="@android:id/tabcontent"
                android:layout_width="0dp"
                android:layout_height="0dp"
                android:layout_weight="0"/>

            <FrameLayout
                android:id="@+id/realtabcontent"
                android:layout_width="match_parent"
                android:layout_height="0dp"
                android:layout_weight="1"/>

            <TabWidget
                android:id="@android:id/tabs"
                android:orientation="horizontal"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:layout_weight="0"/>

        </LinearLayout>
    </android.support.v4.app.FragmentTabHost>

这里写图片描述
也可以通过为tabwidget的 android:divider=”#00000000”
来隐藏分割线

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值