0

我正在查看 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>

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

这是我的活动的样子:

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

2 回答 2

2

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

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

如果您真的坚持不使用片段(不推荐),那么您可以创建一个基本活动类来创建选项卡导航,然后从它继承(而不是直接从 SherlockFragmentActivity 继承),但是在我看来这有点 hacky,并且我建议您按照 Android 人员设计的方式使用 Fragments :)

于 2013-06-04T11:43:14.897 回答
2

使用片段

你是否见过这个?

http://wptrafficanalyzer.in/blog/adding-navigation-tabs- contains-listview-to-action-bar-in-pre-honeycomb-versions-using-sherlock-library/

于 2013-06-04T11:44:20.430 回答