【问题标题】:How to create a tab layout with a fixed number tabs, with static elements?如何使用固定数量的选项卡和静态元素创建选项卡布局?
【发布时间】:2017-02-23 07:11:54
【问题描述】:

我正在尝试为我的应用创建一个带有选项卡布局的活动。我的目标是让这个布局有固定数量的选项卡(我在想四个,也许五个),每个都有静态元素(标签、文本视图等)。这些元素将填充与用户相对应的个人数据(如姓名、年龄等),这些数据将从数据库中获取。我的问题是我找不到如何制作这个静态布局。

我在官方文档 (http://developer.android.com/reference/android/support/v4/app/FragmentPagerAdapter.html) 中进行了搜索,我尝试了链接中的示例并且它有效,但我不知道如何将其调整为我正在尝试制作的内容。

谁能给我一个如何制作这个固定标签布局的基本示例?

【问题讨论】:

  • 你也看过TabHost类吗?
  • @Luksprog 不,我没有。我现在去看看。

标签: android android-layout


【解决方案1】:
  1. 在activity中,调用getTabHost()获取TabHost对象。单个选项卡将添加到此对象。

  2. 调用 TabHost 对象的 newTabSpec() 以创建/扩展各个选项卡。

  3. 重复执行上面的步骤#2创建所有选项卡后,最后调用TabHost对象的addTab()方法来添加和显示选项卡。

    private void createTabs() {
    
        TabHost tabs = getTabHost();
    
        getLayoutInflater().inflate(R.layout.main, tabs.getTabContentView(), true);
    
        Resources resources = getResources();
    
        TabHost.TabSpec tabOne = tabs.newTabSpec("TabOne")
            .setContent(R.id.tabone)
            .setIndicator(getString(R.string.tabone), 
            resources.getDrawable(R.drawable.tabone));
    
        TabHost.TabSpec tabTwo = tabs.newTabSpec("TabTwo")
                            .setContent(R.id.tabtwo)
                            .setIndicator(getString(R.string.tabtwo),
                            resources.getDrawable(R.drawable.tabtwo));
    
        TabHost.TabSpec tabThree = tabs.newTabSpec("TabThree")
            .setContent(R.id.tabthree)
            .setIndicator(getString(R.string.tabthree), 
            resources.getDrawable(R.drawable.tabthree));
    
    
        tabs.addTab(tabon);
        tabs.addTab(photo);
        tabs.addTab(reservation);
    }
    

【讨论】:

  • 以上回答对你有帮助吗?如果是这样,你能接受答案吗?谢谢。
  • getTabHost() 是 TabActivity 不是 Activity 的方法。您需要扩展它而不是 Activity 才能在对象中定义方法。
猜你喜欢
  • 2020-12-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-07-12
  • 2016-06-12
相关资源
最近更新 更多