操作栏仅出现在某些屏幕上

时间:2012-07-09 18:26:21

标签: android android-actionbar

我正在开发一款Android应用,其主屏幕上有图标,可链接到应用的不同功能。除了一个屏幕之外,从该主屏幕链接的所有屏幕都需要具有可通过链接到“关于”和“设置”屏幕的操作栏。没有这些选项的一个活动(ViewerActivity)在操作栏上显示了一组不同的菜单选项。

我的问题是操作栏只出现在主屏幕(HomeActivity)和ViewerActivity上。在所有其他屏幕上它已经消失了,尽管我没有(明知)调用任何方法使其消失并在每个活动类中放入以下inflater代码:

public boolean onCreateOptionsMenu(Menu menu)
{
    MenuInflater inflater = getMenuInflater();
    inflater.inflate(R.menu.home_screen_menu, menu);
    return true;
}

home_screen_menu.xml:

<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android" >
    <item android:id="@+id/about" android:title="About" android:showAsAction="ifRoom"> </item>
     <item android:id="@+id/settings" android:title="Settings" android:showAsAction="ifRoom"></item>

</menu>

我已经搜索了这个问题,我发现的所有类似问题都是通过声明Holo主题或将API版本更改为11或更高来解决的,这两个都是我尝试过的。有人知道我可能忽略了什么吗?

编辑:

为了解释更多,这里有一些截图。我不能在一个问题中发布图片,因为我没有足够高的代表,但这里是imgur链接(第三个有空格,因为它不会让我发布超过2个)。

主屏幕,操作栏和正确的菜单选项可见: http://i.stack.imgur.com/7ogJn.png

登录屏幕,应该有主屏幕的操作栏和相同的菜单选项,但操作栏没有出现: http://i.stack.imgur.com/EQ9VB.png

ViewerActivity,操作栏和新的菜单选项集可见:     一世。堆。 imgur。 com / btf8u。 JPG

编辑2:

主屏幕xml,正在使用操作栏:

    <?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/db1_root"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="horizontal" >

    <Button
        android:id="@+id/home_btn_feature1"
        style="@style/HomeButton"
        android:drawableTop="@drawable/6-social-forward"
        android:onClick="onLoginClick"
        android:text="@string/title_feature1"
        android:textSize="@dimen/text_size_large" />

    <Button
        android:id="@+id/home_btn_feature2"
        style="@style/HomeButton"
        android:drawableTop="@drawable/7-location-map"
        android:onClick="onManageClick"
        android:text="@string/title_feature2"
        android:textSize="@dimen/text_size_large" />

    </LinearLayout>

登录屏幕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="wrap_content"
    android:orientation="vertical" >

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_margin="16dp"
        android:orientation="vertical" >

        <TextView
            android:id="@+id/nameLabel"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="@string/name_title" />

        <EditText
            android:id="@+id/nameTextBox"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:ems="10"
            android:inputType="text" >

            <requestFocus />
        </EditText>

        <TextView
            android:id="@+id/passwordLabel"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="@string/password_title" />

        <EditText
            android:id="@+id/passwordTextBox"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:ems="10"
            android:inputType="textPassword" />

        <TextView
            android:id="@+id/GridLabel"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="@string/grid_title" />

        <Spinner
            android:id="@+id/gridSpinner"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:entries="@array/grids_array"
            android:prompt="@string/grid_title" />

        <TextView
            android:id="@+id/RegionLabel"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="@string/region_title" />

        <Spinner
            android:id="@+id/regionSpinner"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:entries="@array/regions_array"
            android:prompt="@string/region_title" />

        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:gravity="bottom|center" >

            <Button
                android:id="@+id/submitButton"
                android:layout_width="wrap_content"
                android:layout_height="48dp"
                android:text="@string/submit_button" />
        </LinearLayout>
    </LinearLayout>

</LinearLayout>

两个活动都使用完全相同的onCreateOptionsMenu方法指向上面的home_screen_menu xml。

0 个答案:

没有答案