ActionbarSherlock - 如何实现一次选项卡导航并在我的应用程序中使用它?

时间:2013-06-04 11:40:09

标签: android actionbarsherlock

我正在查看ActionbarSherlock下载中的标签导航示例。这些示例显示了每个类的一个元素类型。但我希望我的所有屏幕都能重复使用标签导航。

所以我将tab_navigation.xml添加到我的项目

<?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"
    android:padding="20dip">
    <TextView
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_marginBottom="20dp"
        android:text="@string/tab_navigation_content" />
    <TextView
        android:id="@+id/text"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content" />
</LinearLayout>

现在我想知道如何将标签的代码添加到我的项目中?我是否必须在每个Activity中定义选项卡?或者有没有办法只有一个我可以在多个地方重用的定义?

以下是我的活动的样子:

public class MainActivity extends FragmentActivity 
{   
    @Override
    public void onCreate(Bundle savedInstanceState) 
    {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        ...

2 个答案:

答案 0 :(得分:2)

选项卡是基于每个活动定义的。这意味着如果您希望在每个活动上使用选项卡,则必须添加选项卡(通过xml或通过每个活动的代码)。

处理这种情况的正确方法是使用片段。我建议你使用各种片段,只需根据需要添加或删除它们,同时保持相同的活动和相同的标签导航。这也是根据Android最佳实践的首选方法.t

如果你真的坚持不使用片段(不推荐),那么你可以创建一个基础活动类来创建标签导航,然后从中继承(而不是直接从SherlockFragmentActivity继承),但是这在我看来有些笨拙请注意,我建议你按照Android人员设计的方式坚持使用片段:)

答案 1 :(得分:2)