我正在查看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);
...
答案 0 :(得分:2)
选项卡是基于每个活动定义的。这意味着如果您希望在每个活动上使用选项卡,则必须添加选项卡(通过xml或通过每个活动的代码)。
处理这种情况的正确方法是使用片段。我建议你使用各种片段,只需根据需要添加或删除它们,同时保持相同的活动和相同的标签导航。这也是根据Android最佳实践的首选方法.t
如果你真的坚持不使用片段(不推荐),那么你可以创建一个基础活动类来创建标签导航,然后从中继承(而不是直接从SherlockFragmentActivity继承),但是这在我看来有些笨拙请注意,我建议你按照Android人员设计的方式坚持使用片段:)
答案 1 :(得分:2)