`
y150988451
  • 浏览: 197568 次
  • 性别: Icon_minigender_2
  • 来自: 北京
社区版块
存档分类
最新评论

Tab 选项卡的设置

阅读更多
 import android.app.TabActivity;
 import android.content.Intent;
 import android.os.Bundle;
 import android.widget.*;
 import android.widget.TabHost.OnTabChangeListener;
 import android.os.Build;
 import android.view.View;
 import java.lang.reflect.Field;
 import android.view.LayoutInflater;


 public class testTabActivity extends TabActivity {
   /** Called when the activity is first created. */
      @Override
      public void onCreate(Bundle savedInstanceState) {
          super.onCreate(savedInstanceState);
          
          int width =45;
          int height =48;
          
          final TabHost tabs = getTabHost();
          final TabWidget tabWidget = tabs.getTabWidget();
          
          Field mBottomLeftStrip;
          Field mBottomRightStrip;
       
          LayoutInflater.from(this).inflate(R.layout.tab_views, tabs.getTabContentView(), true);
       
          tabs.addTab(tabs.newTabSpec("first tab")
               .setIndicator("信息",getResources().getDrawable(R.drawable.m))
               .setContent(new Intent(testTabActivity.this,OneActivty.class))
               );
          
          tabs.addTab(tabs.newTabSpec("second tab")
           .setIndicator("收藏",getResources().getDrawable(R.drawable.n))
           .setContent(R.id.content));
          
          tabs.addTab(tabs.newTabSpec("second tab")
               .setIndicator("设置",getResources().getDrawable(R.drawable.s))
               .setContent(R.id.content));
          





          for (int i =0; i < tabWidget.getChildCount(); i++) {
              /**
               * 设置高度、宽度,不过宽度由于设置为fill_parent,在此对它没效果
               */
              tabWidget.getChildAt(i).getLayoutParams().height = height;
              tabWidget.getChildAt(i).getLayoutParams().width = width;
             
          
           /**
            * 设置tab中标题文字的颜色,不然默认为黑色
            */
            final TextView tv = (TextView) tabWidget.getChildAt(i).findViewById(android.R.id.title);
          
            tv.setTextColor(this.getResources().getColorStateList(android.R.color.white));
         
             
          
             
              /**
               * 此方法是为了去掉系统默认的色白的底角
               *
               * 在 TabWidget中mBottomLeftStrip、mBottomRightStrip
               * 都是私有变量,但是我们可以通过反射来获取
               *
               * 由于还不知道Android 2.2的接口是怎么样的,现在先加个判断好一些
               */
           if (Float.valueOf(Build.VERSION.RELEASE) <= 2.1) {
                 try {
                    mBottomLeftStrip = tabWidget.getClass().getDeclaredField ("mBottomLeftStrip");
                    mBottomRightStrip = tabWidget.getClass().getDeclaredField ("mBottomRightStrip");
                    if(!mBottomLeftStrip.isAccessible()) {
                      mBottomLeftStrip.setAccessible(true);
                    }
                    if(!mBottomRightStrip.isAccessible()){
                      mBottomRightStrip.setAccessible(true);
                    }
                   mBottomLeftStrip.set(tabWidget, getResources().getDrawable (R.drawable.no));
                   mBottomRightStrip.set(tabWidget, getResources().getDrawable (R.drawable.no));
                   
                 } catch (Exception e) {
                   e.printStackTrace();
                 }
          } else {
           /**
           * 不做任何处理
           */
           }
          View vvv = tabWidget.getChildAt(i);
    if(tabs.getCurrentTab()==i){
            vvv.setBackgroundDrawable(getResources().getDrawable(R.drawable.tab_button));
    }
    else {
            vvv.setBackgroundDrawable(getResources().getDrawable(R.drawable.bar));
    }
          
          }
          /**
           * 当点击tab选项卡的时候,更改当前的背景
           */
          tabs.setOnTabChangedListener(new OnTabChangeListener(){
     @Override
     public void onTabChanged(String tabId) {
      // TODO Auto-generated method stub
      for (int i =0; i < tabWidget.getChildCount(); i++) {
       View vvv = tabWidget.getChildAt(i);
       if(tabs.getCurrentTab()==i){
               vvv.setBackgroundDrawable(getResources().getDrawable(R.drawable.tab_button));
       }
       else {
               vvv.setBackgroundDrawable(getResources().getDrawable(R.drawable.bar));
       }
      }
     }});
         
      }
      
      
 }
  • 大小: 730 Bytes
  • 大小: 42.7 KB
  • 大小: 12.1 KB
  • 大小: 12.1 KB
分享到:
评论
1 楼 wo327808864 2011-08-17  
R.drawable.no是什么图片啊

相关推荐

    13个css tab选项卡

    在网页设计中,CSS Tab选项卡是一种常见的交互元素,它允许用户通过点击不同的标签来查看或切换不同的内容区域。这种设计模式在很多网站上都能看到,例如设置面板、产品介绍等场景。本教程将深入探讨如何创建13种...

    tab选项卡 很经典的选项卡

    "Tab选项卡"是这种交互模式的一种实现方式,通常在网页顶部或侧边设置,每个标签代表一个独立的内容区域。本文将深入探讨“经典”的选项卡设计及其重要特性。 一、选项卡的基本结构与功能 1. 标签:每个选项卡都...

    不规则TAB选项卡JS代码

    不规则TAB选项卡JS代码是指使用JavaScript实现的一种具有独特设计风格的选项卡功能。JavaScript是网页开发中的重要脚本语言,它允许我们动态更新内容、响应用户交互并实现复杂的网页逻辑。 不规则TAB选项卡的设计...

    HTML实现Tab选项卡(自动+手动)

    HTML中的Tab选项卡是一种常用的网页布局和交互设计,它能够有效地组织和展示大量信息,同时保持页面整洁。这种效果通常由一组可切换的面板组成,每个面板代表一个独立的内容区域,用户可以通过点击或悬停在不同的...

    layui Tab选项卡切换跟随特效(源码)

    首先,layui的Tab选项卡是一个常见的页面布局元素,用于将大量内容组织成清晰、简洁的模块,用户可以通过点击不同的选项卡来切换显示的内容。这种功能在展示多层级信息或者避免页面过于拥挤时特别有用。在layui中,...

    非常好的一个tab选项卡

    【标题】:“非常好的一个tab选项卡”指的是在Web开发中常用的一种用户界面元素,它允许在单个容器内切换多个视图或内容区域。在VS2005(Visual Studio 2005)这个集成开发环境中,通过JavaScript实现的tab选项卡...

    TAB选项卡示例介绍

    ### TAB选项卡示例介绍深度解析 在网页设计与开发领域,TAB选项卡是一种常见的交互元素,用于在有限的空间内展示更多的信息或功能模块。它不仅提升了用户体验,还优化了界面布局,使得页面更加整洁有序。本文将深入...

    纯css3经典tab选项卡动画特效

    纯CSS3经典Tab选项卡动画特效是一种无需JavaScript插件,仅通过CSS3属性实现的交互设计。这种技术在现代网页设计中广泛应用,因为其能够提供流畅的用户体验且减少了对JavaScript的依赖,从而优化了页面加载速度。...

    TAB选项卡后台菜单效果

    "TAB选项卡后台菜单效果"是一个专为后台管理系统设计的功能,它旨在提供高效、直观且易于导航的操作界面。在这个主题下,我们将深入探讨选项卡在后台菜单中的应用、实现方式以及它们对用户体验的影响。 选项卡是一...

    漂亮的JSP TAB选项卡

    "漂亮的JSP TAB选项卡"是一个专为提高用户体验而设计的组件,它在网页上以选项卡的形式组织内容,用户可以通过点击不同的选项卡来切换查看不同的页面部分。这种设计方式极大地优化了网页的布局,减少了页面滚动的...

    Android Tab 选项卡

    在Android开发中,Tab选项卡是一种常见的用户界面设计,它允许用户通过切换不同的Tab来查看或操作不同的内容区域。在本资源"Android Tab 选项卡"中,开发者提供了一个使用`Fragment`实现的Tab切换示例,这对于我们...

    jquery tab选项卡插件 轻量级tab选项卡插件支持鼠标滑过、点击、自动切换、数据回调等功能

    在网页设计中,选项卡(Tab)是一种常见的用户界面元素,用于组织和展示大量信息。jQuery Tab 插件就是一种轻量级的解决方案,能够帮助开发者轻松实现多种交互功能,如鼠标滑过、点击切换、自动切换以及数据回调。本...

    tab选项卡切换效果,tab选项卡内容宽度自适应

    在网页设计中,"tab选项卡切换效果"是一种常见的用户界面设计模式,它允许用户在有限的空间内查看和切换不同的内容区域。这种效果通常用于显示大量相关但互斥的信息,如产品详情、用户评论或者设置选项。在这个项目...

    tab选项卡的两个例子

    在网页设计和开发中,"tab选项卡"是一种常见的用户界面元素,用于组织和展示大量信息。它允许用户通过点击不同的标签在多个视图或内容之间进行切换,从而提高用户体验和页面的可读性。本篇文章将深入探讨“tab选项卡...

    android Tab选项卡

    在Android开发中,"android Tab选项卡"是一个常见的用户界面元素,用于展示多个视图或功能区域,并且允许用户在这些区域之间轻松切换。通常,Tab选项卡的设计目的是提高用户体验,使得用户能快速访问和浏览应用程序...

    jquery iframe动态添加删除tab选项卡

    jquery iframe动态添加tab选项卡 jquery iframe动态添加tab选项卡 jquery iframe动态添加tab选项卡 jquery iframe动态添加tab选项卡 jquery iframe动态添加tab选项卡 jquery iframe动态添加tab选项卡 jquery iframe...

    html tab选项卡实现

    基本的样式可能包括设置选项卡标题的字体、颜色、背景,以及内容面板的隐藏和显示。我们还可以通过伪类(如`:hover`, `:focus`, `:active`)来增加交互效果,提升用户体验。 ```css .tabs { width: 100%; border:...

    4种不同风格jQuery自定义tab选项卡特效.zip

    导航菜单可应用于头部和侧边,Tab选项卡提供多套风格,支持响应式,支持删除选项卡等功能。面包屑结构简单,支持自定义分隔符。这是tab选项卡切换的源代码,由于内容较多,所以只截取了大致的结构。其实第二个盒子...

    css+div漂亮的圆角tab选项卡

    圆角tab选项卡是一种常见的网页元素,用于展示可切换的内容区域,通常用于导航或者展示多个相关但独立的信息模块。在本主题“css+div漂亮的圆角tab选项卡”中,我们将深入探讨如何利用CSS和HTML创建具有美观圆角效果...

    tab选项卡新闻列表切换效果代码

    在网页设计中,"tab选项卡"是一种常见的用户界面元素,用于组织和展示大量信息。Tab选项卡允许用户在不同的内容区域之间切换,而无需滚动或打开新的页面,从而提高用户体验和网站导航效率。本资源提供的是一个实现...

Global site tag (gtag.js) - Google Analytics