首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Android-在没有v4支持库的片段中创建选项卡

Android-在没有v4支持库的片段中创建选项卡
EN

Stack Overflow用户
提问于 2015-04-22 08:05:22
回答 2查看 1.5K关注 0票数 1

我正在尝试使用支持库为我的应用程序创建一个“选项卡”w/o,但是我甚至没有在任何地方找到一个简单的工作示例/教程。

因为我的整个应用程序都使用android.app.fragment,所以不能将所有现有的fragments更改为android.support.v4.app.Fragment

使用支持库在片段中创建选项卡是小菜一碟,但我想知道我们是否可以创建一个w/o android.support.v4.app.Fragment

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-05-07 15:51:57

这是可以实现的,这很容易,遵循我的步骤:

1.将FragmentTabHost的正式源代码复制到您的项目中,并更改以下3类参考资料:android.support.v4.app.Fragment to android.app.Fragment android.support.v4.app.FragmentManager to android.app.FragmentManager android.support.v4.app.FragmentTransaction to android.app.FragmentTransaction

2.在项目中使用FragmentTabHost的修改版本,忘记android.support.v4库。我的编辑版本:FragmentTabHost

示例代码:(显示第一个选项卡,延迟5秒后,您将看到第二个选项卡,我在我的Android上成功运行!)

MainActivity.java

代码语言:javascript
复制
public class MainActivity extends Activity {

    FragmentTabHost mTabHost;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        mTabHost = (FragmentTabHost) findViewById(R.id.tabhost);
        mTabHost.setup(this, getFragmentManager(), R.id.container);

        // Add each tab
        mTabHost.addTab(mTabHost.newTabSpec("first").setIndicator("first"), BlankFragment1.class, null);
        mTabHost.addTab(mTabHost.newTabSpec("second").setIndicator("second"), BlankFragment2.class, null);


        mTabHost.postDelayed(new Runnable() {
            @Override
            public void run() {
                mTabHost.setCurrentTabByTag("second");
            }
        }, 5000);
    }

}

activity_main.xml

代码语言:javascript
复制
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent"
    android:layout_height="match_parent" android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    android:paddingBottom="@dimen/activity_vertical_margin" tools:context=".MainActivity">

    <com.example.bill.myapplication.FragmentTabHost
        android:layout_width="match_parent" android:layout_height="match_parent"
        android:id="@+id/tabhost">
        <LinearLayout
            android:orientation="vertical"
            android:layout_width="match_parent"
            android:layout_height="match_parent">

            <TabWidget
                android:id="@android:id/tabs"
                android:orientation="horizontal"
                android:layout_width="0dp"
                android:layout_height="0dp"/>

            <FrameLayout
                android:id="@android:id/tabcontent"
                android:layout_width="0dp"
                android:layout_height="0dp"/>

            <FrameLayout
                android:id="@+id/container"
                android:layout_width="match_parent"
                android:layout_height="0dp"
                android:layout_weight="1"/>
        </LinearLayout>
    </com.example.bill.myapplication.FragmentTabHost>

</RelativeLayout>
票数 3
EN

Stack Overflow用户

发布于 2015-05-07 15:27:35

将片段放入布局XML中的选项卡内容中,并将它们添加到onCreate中的onCreate中。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29791329

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档