2015-01-26 3 views
-2

Я попытался настроить свою панель действий для каждого действия (в файле .java), и он не будет загружаться для каждого действия, за исключением только одного (FunnyActivity.java) может ли кто-нибудь помочь?ActionBar не отображается для каждого действия (только для одного действия)

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

где Ваш код активности? –

+0

Какой? - спасибо – TropicalStudios

ответ

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.

+0

Спасибо! Он работает сейчас! :) – TropicalStudios

0

Файл AndroidManifest может определять, какой стиль вы настроили для данного Activity. Если вы изменили это или настроили только тему для одного действия, это не повлияет на другие действия. Например, если у вас есть настройки активности, как это в файле манифеста XML:

<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"/> 

предоставит темный стиль действия. Если вы не предоставляете тему, которая поддерживает ее, вы ее не увидите. Это может быть проблема, с которой вы сталкиваетесь.

+0

Я добавил свое объявление о своих действиях ... взгляните :) Спасибо за помощь, так как вы видите, что я уже добавил темы, похоже, что она не загружается должным образом. – TropicalStudios

1

Если вам нужно скрыть ActionBar в какой-то активности попытки можно назвать getActionBar().hide() или getSupportActionBar().hide(), если вы используете библиотеку поддержки

Смежные вопросы