java - 如何在 Android 上使用 tabHost

标签 java android xml android-tabhost

我看过 Stack Overflow 上的帖子和其他网站上的教程,但我不明白如何使用 TabHost。有人可以向我解释一下,或者给我发一个教程链接吗?

最佳答案

Concept TabHost

enter image description here

  1. 在 ManiActivity 中扩展 TabActivity

    public class MainActivity extends TabActivity {
    
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
    
        //setContentView(R.layout.activity_main);
    
        TabHost mTabHost = getTabHost();
    
        mTabHost.addTab(mTabHost.newTabSpec("first").setIndicator("First").setContent(new Intent(this  ,FirstActivity.class )));
        mTabHost.addTab(mTabHost.newTabSpec("second").setIndicator("Second").setContent(new Intent(this , SecondActivity.class )));
        mTabHost.setCurrentTab(0);
    
    
    }
    }
    
  • In this activity not use layout "activity_main.xml" .

  • Tabhost mTabHost = getTabHost(); is create main tab.

  • mTabHost.newTabSpec("first") is create tabspec id "first".

  • setIndicator("First") is create text "First" in title tab.

  • setContent(new Intent(this ,FirstActivity.class )) is use content from FirstActivity.class ( FirstActivity.java )

  • mTabHost.addTab(....) is add spectab to main tab

  • mTabHost.setCurrentTab(0) is defult tab when start page.

FirstActivity.java

public class FirstActivity extends Activity{

@Override
protected void onCreate(Bundle savedInstanceState) {

    super.onCreate(savedInstanceState);

    setContentView( R.layout.first_layout );
}

}

SecondActivity.java

public class SecondActivity extends Activity{
@Override
protected void onCreate(Bundle savedInstanceState) {

    super.onCreate(savedInstanceState);

    setContentView( R.layout.second_layout );
}
}
  • "R.layout.first_layout" is content from first_layout.xml

  • "R.layout.second_layout" is content from second_layout.xml

在 AndroidManifest.xml 中,在示例 xml 中添加 Activity 名称“.FirstActivity”和“.SecondActivity”。

enter image description here

完成!!!!!!

enter image description here

关于java - 如何在 Android 上使用 tabHost,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11622539/

相关文章:

java - 从每个 Rest Assured 测试中获取 "CURL"操作,未通过测试时在控制台打印

java - 每天将 1,000 个(不同的)内容文件上传到 GAE Java Web 应用程序的最佳方式是什么?

java - 动态添加按钮到ScrollView android

android - 从 GCM 迁移到 FCM。设备上生成了新 token ,但旧 token 似乎仍然有效

android - 将 View 放置在 android 中 CoordinatorLayout 中的另一个 View 下方

java - 是否可以在 Windows 2008 服务器上使用 Java FX 启用硬件加速?

java - 客户端代码 "randomly"在尝试创建 GzipInputstream 时失败

android - 按下按钮一次后如何更改文本颜色 (Android)

xml - 使用 libxml-ruby 解析命名空间 XML

c# - 如何获取 WCF Web 服务请求的 XML SOAP 请求?