Android - скриване на лентата с действия по време на стартиране и след това показване отново?

Приложението ми за Android има навигация в раздели с помощта на лента за действие. Работи добре, но ме притеснява, че по време на първото зареждане на приложението за кратко се показва малка лента с действия по подразбиране, преди да бъде заменена от истинската лента с действия за навигация в раздели. Моят onCreate започва така:

    public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    this.getWindow().requestFeature(Window.FEATURE_ACTION_BAR);
    setContentView(R.layout.activity_main);

    //Set up the actionbar
    final ActionBar actionBar = getActionBar();
.
.
.

Какво трябва да направя, така че истинската лента за действие да бъде инициализирана без малка такава по подразбиране, която да се показва за кратко, преди да го направи при стартиране?

Благодаря


person LoneDuck    schedule 18.09.2012    source източник


Отговори (3)


Скриване по време на стартиране

 getSupportActionBar().hide();

След като можете да го покажете отново с...

 getSupportActionBar().show();

Трябва да е същото с родния ActionBar на Android.

трябва да използвате този ред в манифеста и да не използвате getActionBar()

<item name="android:windowActionBar">false</item>

и след като приключи в основната дейност, използвайте по-долу или нищо

<item name="android:windowActionBar">true</item>
person MBMJ    schedule 18.09.2012
comment
Как да добавя посочения от вас XML, така че приложението да се зарежда с ‹item name=android:windowActionBar›false‹/item›, но след това да превключи на ‹item name=android:windowActionBar›true‹/item› след като започне основната дейност? - person LoneDuck; 18.09.2012
comment
Опитах да присвоя на самото приложение тема без лента за действие, но присвоих дейността с тема с такава (с помощта на android:windowActionBar). Той все още се зарежда с лента за действие по подразбиране и едва след това се инициализира като истинска лента за действие за навигация. - person LoneDuck; 18.09.2012
comment
stackoverflow.com/questions/8500283/ гледайте тази връзка - person MBMJ; 19.09.2012

поставете това за вашата дефиниция на манифеста на дейността:

 <activity
            android:name=".MyActivity"
             android:theme="@android:style/Theme.NoTitleBar.Fullscreen"
            >

след това във вашия oncreate направете това, за да покажете действителната тема, която искате да използвате:

setTheme(R.style.AppTheme); 
person j2emanue    schedule 05.10.2013

ако използвате лентата за действие sherlock и искате да превключите това от FragmentActivity, тогава извиквате

getSherlockActivity().getSupportActionBar().hide();
person kevinl    schedule 18.01.2013