`
小杨学JAVA
  • 浏览: 901639 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

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,我们还可以再此基础上可以设置标题的颜色啊,字体啊,字体大小等等哦。
分享到:
评论

相关推荐

    Android TabHost组件使用方法详解

    在Android开发中,TabHost组件是一个非常实用的控件,用于创建带有标签页的应用界面,让用户可以在多个功能之间轻松切换。本文将详细讲解如何使用TabHost,并通过实例代码进行演示。 首先,TabHost的核心组成部分...

    tabhost 动态改变tab的背景图

    总结来说,动态改变TabHost的tab背景图主要涉及到对TabHost和TabWidget的操作,包括在XML中定义基本布局,然后在Java代码中获取并修改tab的视图属性。这个过程对于创建灵活、交互丰富的Android应用是非常关键的,...

    Android Tabhost使用详解(详尽)

    - 通过调用 `setIndicator()` 方法来设置标签的标题或图标。 - 通过调用 `setContent()` 方法来指定标签对应的内容视图。 **3. `getTabContentView()` 方法** - 此方法返回 `TabHost` 内容区域的 `ViewGroup`。 - ...

    android tabHost

    除了基本的设置,我们还可以对`TabWidget`进行更多的自定义,比如改变字体大小、颜色,或者添加图标等。例如,我们可以使用自定义的布局作为标签指示器: ```java View tabIndicator = LayoutInflater.from(this)....

    Android_TabHost_TabWidget选项卡总结

    在Android开发中,`TabHost`和`TabWidget`是构建多标签界面的重要组件,用于创建具有选项卡式导航的应用程序。`TabHost`作为容器,管理着`TabWidget`和一个`FrameLayout`,而`TabWidget`则是展示选项卡的控件。 1. ...

    TabHost标题图片变换例子

    在实际应用中,我们可能需要根据用户的操作或者特定条件来改变标题或图片。这可以通过监听`TabHost`的事件,如`OnTabChangeListener`,并在回调方法中更新`IndicatorView`的图片和文字。 总结一下,这个"TabHost...

    android 选项卡(TabHost)如何放置在屏幕的底部

    在Android开发中,TabHost是用于创建选项卡式界面的一个核心组件,它允许用户通过不同的标签页来切换不同的视图或活动。将TabHost放置在屏幕底部通常是设计师为了提供更好的用户体验而选择的一种布局方式。在传统的...

    可以横向拖动的tabHost

    3. **添加标签**:使用TabHost.addTab()方法添加每个标签,指定标签的图标、标题和对应的Content View(Activity或Fragment)。 4. **处理滑动手势**:创建一个GestureDetector对象,重写onDown(), onFling()等方法...

    android仿UC底部Tab并且带标题栏

    通过重写TabHost.OnTabChangeListener接口,可以在Tab改变时动态更新标题。在MainActivity中添加以下代码: ```java tabHost.setOnTabChangedListener(new TabHost.OnTabChangeListener() { @Override public ...

    自定义TabHost最简Demo源代码

    在Android开发中,`TabHost`是一个非常重要的组件,它用于创建带有多个选项卡的界面,每个选项卡对应一个不同的活动或视图。本示例是关于如何自定义`TabHost`,使其满足特定需求,如将标签置于页面底部,并且能够...

    Android 使用Gallery_tabhost实现标签效果图源码.zip

    开发者可以自定义每个标签的图标、标题和对应的Activity或Fragment。 在"Android 使用Gallery_tabhost实现标签效果图源码"项目中,开发者可能会使用Gallery来实现标签的切换,而每个标签的内容则由TabHost承载。...

    ViewPager+Fragment替代TabHost效果的简单示例

    在实际项目中,可以进一步扩展这个示例,例如添加自定义的Tab图标和标题,或者使用动态数据来生成页面。 在提供的压缩包文件`SlidingFragmentViewpager`中,应该包含了实现上述功能的示例代码。通过研究和修改这些...

    tabhost+radiogroup

    在标题"tabhost+radiogroup"中,提到的是一个不使用标准`TabWidget`,而是利用`RadioGroup`来模拟标签页效果的创新性做法。这种设计思路可以为应用程序提供更加灵活和自定义化的界面布局。 `TabHost` 是Android系统...

    android项目Tab标签页大汇总

    首先,Android Tab布局通常通过`TabHost`、`ViewPager`配合`TabLayout`,或者是自定义实现来完成。在早期的Android版本中,`TabHost`是主要的Tab实现方式,它可以嵌套`TabSpec`来创建和管理各个Tab。然而,随着...

    android小插件tab标签大合集.zip源码资源下载

    6. **自定义Tab样式**: 开发者可能通过重写TabLayout的TabView或者使用自定义View来改变Tab的外观,包括文字、图标、背景色等。 7. **事件监听**: Tab切换通常需要监听用户的行为,源码中可能包含Tab选中和未选中...

    Android仿蘑菇街TAB悬浮控件

    在Android中,通常使用TabHost或者TabLayout来创建Tab切换效果。TabLayout是Android Support Library的一部分,提供了更加现代和可定制化的选项。开发者需要熟悉TabLayout的使用,包括设置Tab的图标、标题,以及与...

    android 代码

    1. **ColorDemo**:可能是一个展示如何在Android中使用颜色资源和动态改变颜色的示例,包括设置背景色、文字颜色等。 2. **TabHostDemo**:TabHost是Android早期版本中实现多标签页界面的组件,此示例展示了如何...

    安卓Android源码——(Tab分页式菜单).rar

    7. **样式和主题**: Android允许开发者通过XML资源文件定义自定义的主题和样式,以改变Tab的颜色、字体、背景等视觉元素,使应用界面更符合品牌风格。 8. **响应式设计**: 考虑到不同设备的屏幕尺寸和方向,良好的...

    Customer VerticalTabHost

    在Android开发中,`TabHost` 是一个非常重要的组件,用于创建多标签界面,它允许开发者在一个Activity中展示多个Fragments或Activities。然而,标准的`TabHost`默认设计是水平布局,显示在屏幕底部或者顶部。对于...

Global site tag (gtag.js) - Google Analytics