ActionBar not displaying for each activity (Only Displaying for one activity)

ActionBar not displaying for each activity (Only Displaying for one activity)

我尝试为每个 activity(在 .java 文件中)设置我的操作栏,它不会为每个 activity 加载,除了只有一个(FunnyActivity.java) 有人可以帮忙吗?

FunnyActivity.java onCreateOptionsMenu

@Override
public boolean onCreateOptionsMenu(Menu menu) {
    // Inflate the menu items for use in the action bar
    MenuInflater inflater = getMenuInflater();
    inflater.inflate(R.menu.funny_menu, menu);
    return super.onCreateOptionsMenu(menu);
}

GunsActivity.java onCreateOptionsMenu

@Override
public boolean onCreateOptionsMenu(Menu menu) {
    // Inflate the menu items for use in the action bar
    MenuInflater inflater = getMenuInflater();
    inflater.inflate(R.menu.guns_menu, menu);
    return super.onCreateOptionsMenu(menu);
}

感谢您的任何回复。

<activity
        android:name="com.tropicalstudios.soundboard.FunnyActivity"
        android:label="Funny Sounds"
        android:theme="@style/Theme.AppCompat.Light.DarkActionBar">
        android:launchMode="singleTask" >
    </activity>

    <activity
        android:name="com.tropicalstudios.soundboard.GunsActivity"
        android:label="Gun Sounds"
        android:theme="@style/Theme.AppCompat.Light.DarkActionBar"
        android:launchMode="singleTask" >
    </activity>

    <activity
        android:name="com.tropicalstudios.soundboard.Miscellaneous"
        android:label="Miscellaneous Sounds"
        android:theme="@style/Theme.AppCompat.Light.DarkActionBar"
        android:launchMode="singleTask" >
    </activity>

AndroidManifest 文件可以定义您为给定 Activity 设置的样式。如果您对此进行了修改,或者只有一个 activity 的主题设置,则不会影响其他活动。例如,如果您在清单 XML 文件中有这样的 Activity 设置:

<activity android:name=".AlertFailedCommunications"
          android:label="@string/alert_account_label"
          android:screenOrientation="portrait"
          android:theme="@android:style/Theme.Dialog"/>

然后它需要一个对话框样式的屏幕,并且该屏幕内没有可用的操作栏(不是最好的示例主题,但您明白了)。然而,这样的主题:

<activity android:name="MainActivity"
          android:label="@string/app_name"
          android:screenOrientation="portrait"
          android:theme="@android:style/Theme.DeviceDefault.Light.DarkActionBar"/>

将提供深色风格的操作栏。如果您不提供支持一个的主题,那么您将看不到一个。这可能是您遇到的问题。

如果您需要在某些 activity 中隐藏 actionBar,请尝试调用 getActionBar().hide()getSupportActionBar().hide() 如果您使用支持库

我们可以 hide/show 通过调用 show(); 显示 ActionBarhide(); 隐藏它。如果您使用 API 级别 7、8 或 10,请使用 getSupportActionBar(),并且不要忘记导入 appcompat-v7 库。然后,用 ActionBarActivity 而不是 Activity 扩展你的 class。对于 API 级别 11 及更高级别,只需调用 getActionBar()。这是一个例子:

// extend this class with "Activity" for API 11+
public class MainActivity extends ActionBarActivity {

@Override
protected void onCreate(Bundle savedInstanceState){
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    // For API 10 and lower only
    getSupportActionBar().show(); // call hide() if you want to hide it.

    // For API 11 and higher only
    getActionBar().show(); // call hide() if you want to hide it.

请详细了解 ActionBar