zoukankan      html  css  js  c++  java
  • 更改TabHost标签的背景

    显示效果如下图: 更改TabHost标签的背景颜色。 

    修改思路: 监听TabHost的onTabChanged方法。

    实现代码:

    package com.tony.tabstudy;

    import android.app.Activity;
    import android.os.Bundle;
    import android.view.View;
    import android.widget.TabHost;
    import android.widget.TabHost.OnTabChangeListener;
    import android.widget.TabWidget;

    public class TabStudyActivity extends Activity {
    @Override
    public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);

    final TabHost tabHost = (TabHost) findViewById(R.id.tabHost);
    tabHost.setup();

    TabHost.TabSpec spec
    = tabHost.newTabSpec("tab1");
    spec.setContent(R.id.tab1);
    spec.setIndicator(
    "主页");
    tabHost.addTab(spec);

    TabHost.TabSpec spec2
    = tabHost.newTabSpec("tab2");
    spec2.setContent(R.id.tab2);
    spec2.setIndicator(
    "主页2", getResources().getDrawable(android.R.drawable.btn_dialog));
    tabHost.addTab(spec2);

    tabHost.setCurrentTab(
    1);

    //初始化设置一次标签背景
    updateTabBackground(tabHost);


    //选择时背景更改。
    tabHost.setOnTabChangedListener(new OnTabChangeListener() {
    @Override
    public void onTabChanged(String tabId) {
    updateTabBackground(tabHost);
    }
    });
    }

    /**
    * 更新Tab标签的背景图
    *
    @param tabHost
    */
    private void updateTabBackground(final TabHost tabHost) {
    for (int i = 0; i < tabHost.getTabWidget().getChildCount(); i++) {
    View vvv
    = tabHost.getTabWidget().getChildAt(i);
    if (tabHost.getCurrentTab() == i) {
    //选中后的背景
    vvv.setBackgroundDrawable(getResources().getDrawable(android.R.drawable.spinner_background));
    }
    else {
    //非选择的背景
    vvv.setBackgroundDrawable(getResources().getDrawable(R.drawable.a));
    }
    }
    }
    }

      

  • 相关阅读:
    go学习-环境安装1-WIN10如何安装wsl2
    go学习-环境安装2-wsl2安装docker
    go学习-使用swagger生成接口文档
    go学习-WSL安装gcc
    go学习-如何修改Docker0的IP地址的默认网段
    go学习-go-sqlmock数据库操作测试
    go学习-环境安装3-wsl安装golang
    java基础学习-Stream API
    go学习-gorm
    go学习-获取form表单提交数据
  • 原文地址:https://www.cnblogs.com/xitang/p/2176539.html
Copyright © 2011-2022 走看看