zoukankan      html  css  js  c++  java
  • Android TabHost 动态修改图标或者动态改变标题

    abHost mTabHost;
     
     /** Called when the activity is first created. */
    
     @Override
     public void onCreate(Bundle savedInstanceState)
     {
      super.onCreate(savedInstanceState);
      setContentView(R.layout.main);
      
      //取得TabHost对象
      mTabHost = getTabHost();
        
      /* 为TabHost添加标签 */
      //新建一个newTabSpec(newTabSpec)
      //设置其标签和图标(setIndicator)
      //设置内容(setContent)
         mTabHost.addTab(mTabHost.newTabSpec("tab_1")
           .setIndicator("TAB 1",getResources().getDrawable(R.drawable.img1))
           .setContent(R.id.textview1));
         mTabHost.addTab(mTabHost.newTabSpec("tab_2")
           .setIndicator("TAB 2",getResources().getDrawable(R.drawable.img2))
           .setContent(R.id.textview2));
         mTabHost.addTab(mTabHost.newTabSpec("tab_3")
           .setIndicator("TAB 3",getResources().getDrawable(R.drawable.img3))
           .setContent(R.id.textview3));
        
         //设置TabHost的背景颜色
         mTabHost.setBackgroundColor(Color.argb(150, 22, 70, 150));
         //设置TabHost的背景图片资源
         mTabHost.setBackgroundResource(R.drawable.bg0);
        
         //设置当前显示哪一个标签
         mTabHost.setCurrentTab(0);
        
         //标签切换事件处理,setOnTabChangedListener
         mTabHost.setOnTabChangedListener(new OnTabChangeListener()
         {
                @Override
                public void onTabChanged(String tabId)
                {
                }            
         });
     }
    }
    
    转入核心问题吧。
    
    1.将TabHost的标题的图标改变吧。
    
    首先我们应该获取到布局View,再获取对应的控件,图标应该是ImageView,文本应该是TextView。
    
    代码如下:
    
    View mView = mTabHost.getTabWidget().getChildAt(0);//0是代表第一个Tab
    
    ImageView imageView = (ImageView)mView.findViewById(Android.R.id.icon);//获取控件imageView
    
    imageView .setImageDrawable(getResources().getDrawable(R.drawable.img3)); //改变我们需要的图标
    
    imageView = (ImageView)mTabHost.getTabWidget().getChildAt(1).findViewById(Android.R.id.icon);
    imageView .setImageDrawable(getResources().getDrawable(R.drawable.img2));
    imageView  = (ImageView)mTabHost.getTabWidget().getChildAt(2).findViewById(Android.R.id.icon);
    imageView .setImageDrawable(getResources().getDrawable(R.drawable.img1));
    
    2.将TabHost的标题改变吧。
    
    TextView textview = (TextView)mTabHost.getTabWidget().getChildAt(0).findViewById(Android.R.id.title);
    textview.setTextSize(1);
    textview = (TextView)mTabHost.getTabWidget().getChildAt(1).findViewById(Android.R.id.title);
    textview.setTextSize(2);
    textview = (TextView)mTabHost.getTabWidget().getChildAt(2).findViewById(Android.R.id.title);
    textview.setTextSize(3);
    
    其实获取了View,我们还可以再此基础上可以设置标题的颜色啊,字体啊,字体大小等等哦。
    
  • 相关阅读:
    Java内存回收
    Android四大基本组件介绍与生命周期
    JAVA中获取当前系统时间
    jquery如何判断元素是否被点击_百度知道
    css控制div显示/隐藏方法及2种方法比较原码
    点击图标不断震动效果
    jquery 如何动态添加、删除class样式方法介绍_jquery_脚本之家
    HTML5绘制矩形和圆形并且还有获取在这个图层内的坐标的思路和代码
    Attribute name invalid for tag form according to TLD异常解决办法_gaigai_百度空间
    html5绘图
  • 原文地址:https://www.cnblogs.com/jiayonghua/p/2326350.html
Copyright © 2011-2022 走看看