`

自己定义的Tabhost

阅读更多
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent" android:layout_height="fill_parent"
android:orientation="vertical">

<TabHost android:id="@+id/view_tab_host" android:layout_width="fill_parent"
android:layout_height="fill_parent">

<LinearLayout android:layout_width="fill_parent"
android:layout_height="fill_parent" android:gravity="center"
android:orientation="vertical">

<FrameLayout android:id="@android:id/tabcontent"
android:layout_width="fill_parent" android:layout_height="fill_parent"
android:layout_gravity="center_vertical" android:layout_weight="1"
android:gravity="center_vertical">
</FrameLayout>

<TabWidget android:id="@android:id/tabs"
android:layout_width="fill_parent" android:layout_height="52dip"
android:layout_weight="0">
</TabWidget>
</LinearLayout>
</TabHost>

</LinearLayout>


package cn.fn;

import android.app.ActivityGroup;
import android.content.Intent;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.TabHost;
import android.widget.TabWidget;
import android.widget.TextView;
import android.widget.TabHost.TabSpec;

public class TabHostActivity extends ActivityGroup {
private TabHost tabHost;

@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
// 加载TabSpec
tabHost = (TabHost) findViewById(R.id.view_tab_host);
tabHost.setup(getLocalActivityManager());
TabWidget tabWidget = tabHost.getTabWidget();


tabHost.addTab(tabHost.newTabSpec("text1").setIndicator("选项卡1")
.setContent(
new Intent(TabHostActivity.this, Text1Activity.class)));

tabHost.addTab(tabHost.newTabSpec("text2").setIndicator("选项卡2")
.setContent(
new Intent(TabHostActivity.this, Text1Activity.class)));

// 设置标签栏背景图片
tabHost.setCurrentTab(1);
tabWidget.setBackgroundResource(R.drawable.bg);
}
}
分享到:
评论

相关推荐

    TabHost两种实现方式

    1. 创建XML布局文件,定义TabHost、TabWidget和FrameLayout。TabWidget通常包含TabSpecs,每个TabSpec代表一个标签和其关联的Intent,Intent指向要显示的活动或视图。 2. 在活动中初始化TabHost,使用`...

    TabHost的各种实现方式

    - 创建TabHost实例:通常我们会在布局XML文件中定义一个TabHost,并在Java代码中通过`findViewById()`获取它。 - 添加Tab:使用`TabHost.addTab()`方法来添加新的Tab。这个方法需要传递四个参数:TabSpec(Tab的...

    TabHost标签

    首先,你需要在布局XML文件中设置`TabHost`,并为`TabWidget`和`FrameLayout`定义ID。例如: ```xml &lt;TabHost xmlns:android="http://schemas.android.com/apk/res/android" android:id="@android:id/tabhost" ...

    tabHost滑动切换选项卡 tabHost ViewPager

    你可以通过修改颜色、字体、尺寸等属性来自定义TabHost和ViewPager的外观,使其符合应用的整体设计风格。 6. **兼容性**:由于项目基于Android 2.2开发,这意味着它考虑到了向后兼容,可以运行在较旧版本的Android...

    tabhost标签页面简单实现

    3. **添加Tab**:接下来,为每个要显示的页面创建一个`TabSpec`,这定义了标签的文本、图标以及与之关联的内容。你可以使用`TabHost.newTabSpec()`方法创建`TabSpec`,并调用`setIndicator()`设置标签的显示内容,`...

    tabhost单例模式小例子

    首先,我们需要定义一个名为`TabHostSingleton`的类,该类将持有TabHost的实例。在这个类中,我们将实现单例模式的双重检查锁定(Double-Checked Locking)机制,以确保线程安全并避免不必要的同步开销。 ```java ...

    android tabhost用法 源码

    例如,可以创建一个XML布局文件来定义Tab的样式,然后使用`setIndicator()`方法加载这个布局。 六、源码分析 通过查看TabHost的源码,我们可以了解到其内部的工作流程。TabHost主要负责管理TabWidget和FrameLayout...

    仿新浪微博tabhost实现

    在res/layout目录下创建一个名为activity_main.xml的布局文件,定义TabHost、TabWidget和FrameLayout。示例如下: ```xml &lt;TabHost xmlns:android="http://schemas.android.com/apk/res/android" android:id="@...

    ViewPager和Tabhost结合,可滑动的tabhost

    3. **关联ViewPager和TabHost**:使用 `TabHost.TabSpec` 来定义每个标签,设置其标签文字和对应的 `ViewPager` 页面。`TabSpec` 的 `setContent()` 方法接受一个 `Intent`,但我们在这里需要将其设置为 `ViewPager`...

    封装的一个tabhost框架

    2. **布局文件**:通常会有XML布局文件来定义TabHost的结构,包括TabWidget和FrameLayout,以及可能的自定义样式。 3. **选项卡的添加**:在Java代码中,开发者会通过TabSpec创建并添加选项卡,每个TabSpec包含了...

    TabHost中填充自定义ListView

    2. 自定义`ListView`的布局文件:在`res/layout`目录下创建XML布局文件,定义每个列表项的视图结构。这个布局文件会被`Adapter`的`getView()`方法加载并填充数据。 为了将自定义`ListView`添加到`TabHost`的一个`...

    android-->tabHost

    添加选项卡通常通过`TabSpec`对象完成,它定义了选项卡的标签、内容和对应的Intent。`TabSpec`可以通过`TabHost.newTabSpec()`创建,然后使用`setIndicator()`设置标签文本,`setContent()`设置内容。 ```java ...

    tabhost使用方法

    这里的`R.id.tab_host`是你在XML中为TabHost定义的ID。 3. 添加标签: 接下来,你可以使用`TabHost.addTab()`方法为TabHost添加标签。每个标签需要指定一个TabSpec对象,它包含了标签的显示文本、对应的Activity或...

    嵌套TabHost

    5. **布局设计**:在XML布局文件中,需要正确放置TabHost,通常使用`&lt;TabHost&gt;`标签作为根元素,并在其内部定义`&lt;TabWidget&gt;`和`&lt;FrameLayout&gt;`,分别用于展示Tab和内容区域。 ### 示例代码 以下是一个简单的嵌套...

    andorid中TabHost的使用

    1. 创建TabHost实例:通常在布局XML文件中定义一个TabHost,并在代码中通过findViewById()获取其引用。 2. 设置TabHost的宿主:调用TabHost的setup()方法,传入一个FrameLayout的ID作为参数。 3. 添加Tab:使用...

    TabHost的使用及原理-源码下载

    TabHost的布局通常会包含一个`&lt;TabHost&gt;`标签,并在其中定义`&lt;TabWidget&gt;`和`&lt;FrameLayout&gt;`,通过`android:id="@android:id/tabhost"`来标识它们。 TabHost的使用步骤大致如下: 1. 初始化TabHost:`TabHost ...

    listview tabhost 的各种使用

    在布局文件中定义TabHost,然后在代码中设置其布局。 - **添加Tab**:使用TabHost的`setup()`方法初始化,然后调用`tabHost.addTab()`方法添加新的Tab,指定标签文本、图标以及与之关联的布局。 - **切换内容**:...

    TabHost和ViewPage源码

    通过`TabSpec`对象,你可以定义每个标签的内容和标签文字。以下是如何使用`TabHost`的基本步骤: 1. 初始化`TabHost`:通过`TabHost tabHost = TabHost(this);`并设置布局。 2. 设置`TabHost`为宿主:`tabHost....

    Android TabHost TabWidget 切换卡

    `TabHost`通过`setup()`方法初始化,并且必须有一个`TabSpec`来定义每个标签。 `TabWidget`是`TabHost`的一部分,显示一系列的标签,每个标签代表一个可切换的视图。当用户点击一个标签时,`TabHost`会更新其内容...

    Android的tabHost案例

    首先,我们需要在布局XML文件中定义TabHost。TabHost通常包含两个主要部分:一个TabWidget和一个FrameLayout。例如: ```xml &lt;TabHost android:id="@android:id/tabhost" android:layout_width="match_parent" ...

Global site tag (gtag.js) - Google Analytics