你可以在动作栏中添加一个textview吗?如果没有,一个子动作栏?

时间:2013-04-30 01:42:36

标签: android layout android-fragments textview android-actionbar

我希望在我的应用操作栏(显示标题,应用图片等的栏)下面有一个“信息栏/文本视图”。

我有我的应用程序选项卡,我希望信息栏位于操作栏正下方的选项卡上方。我知道如何更改主要的'布局xml,使用布局将其放在标签下方,但我无法弄清楚是否可以将标尺放在标签上方。我不能把它放在标签上方,因为我认为它们是行动栏的“一部分”。

1 个答案:

答案 0 :(得分:1)

为信息栏和选项卡创建xml布局。例如:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent" >

    <TextView
        android:id="@+id/infobar"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Info Bar" />

    <RelativeLayout
        android:id="@id/tab_layout"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:layout_below="@+id/infobar" >
    </RelativeLayout>

</RelativeLayout>

用您自己的布局替换信息栏文本视图。注意相对布局“tab_layout”?这将是标签占用的空间。请遵循示例here。取自链接上的示例:

/* The following are each of the ActionBar.TabListener callbacks */

    public void onTabSelected(Tab tab, FragmentTransaction ft) {
        // Check if the fragment is already initialized
        if (mFragment == null) {
            // If not, instantiate and add it to the activity
            mFragment = Fragment.instantiate(mActivity, mClass.getName());
            ft.add(android.R.id.content, mFragment, mTag);
        } else {
            // If it exists, simply attach it in order to show it
            ft.attach(mFragment);
        }
    }

将此ft.add(android.R.id.content, mFragment, mTag)更改为此ft.add(R.id.tab_layout, mFragment, mTag)。请注意,我们使用自己的布局而不是android.R.id.content。