我尝试为每个活动设置我的操作栏(在.java文件中)并且除了只有一个(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>
答案 0 :(得分:1)
如果您在某些活动中需要隐藏actionBar,请尝试使用支持库调用getActionBar().hide()
或getSupportActionBar().hide()
答案 1 :(得分:1)
我们可以通过调用ActionBar
来隐藏/显示show();
,并hide();
隐藏它。如果您使用的是API级别7,8或10,请使用getSupportActionBar()
,并且不要忘记导入appcompat-v7库。然后,使用ActionBarActivity
而不是Activity
扩展您的课程。对于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。
答案 2 :(得分:0)
AndroidManifest文件可以定义您为给定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"/>
会提供一个黑暗风格的动作栏。如果你没有提供支持一个主题的主题,那么你就不会看到一个主题。这可能是你遇到的问题。