Action Bar fungerar men förvrängd

Diskussion i 'Frågor, support och diskussion' startad av Sourcetapper, 6 oktober 2013.

  1. Sourcetapper

    Sourcetapper Infant Droid Medlem

    Blev medlem:
    5 oktober 2013
    Inlägg:
    6
    Mottagna gillanden:
    1

    MINA ENHETER

    Hej!

    Jag har problem med att få min action bar att se korrekt ut.
    Både den övre delen och den undre som kommer fram då man trycker meny-knappen ser förvrängda ut. (Se mina bifogade filer.)

    Jag använder Android-support-v7-appcompat då jag har Android ver 2.3.3 i telefonen.
    Bilden är en del av en skärmdump från emulatorn, men det ser likadant ut på telefonen.:(

    Jag haft menyn att se korrekt ut tidigare, men det var innan jag använde Eclipses refactory-kommando och tyvärr innan jag fick fart på versionshanteringen.

    Jag använder Theme.AppCompat.Light.

    Så här ser min main_activity_actions.xml ut:

    <menu xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:yourapp="http://schemas.android.com/apk/res-auto">
    <!-- Search, should appear as action button. -->
    <item android:id="@+id/action_search"
    android:icon="@drawable/action_search"
    android:title="@string/action_search"
    yourapp:showAsAction="ifRoom" />

    <!-- Settings, should always be in the overflow -->
    <item android:id="@+id/action_settings"
    android:title="@string/action_settings"
    yourapp:showAsAction="never" />

    <!-- gotoSetup, switch application to edit the works and translation. -->
    <item android:id="@+id/action_gotoSetup"
    android:title="@string/action_gotoSetup"
    yourapp:showAsAction="never"></item>

    <!-- gotoTest, switch application to take a vocabulary test. -->
    <item android:id="@+id/action_gotoTest"
    android:title="@string/action_gotoTest"
    yourapp:showAsAction="never"></item>


    </menu>


    Och den aktuella koden för att rita action baren.

    Kod:
    @Override
    	public boolean onCreateOptionsMenu(Menu menu) {
    		
    		// Inflate the menu items for use in the menu bar.
    		MenuInflater inflater = getMenuInflater();
    		inflater.inflate(R.menu.main_activity_actions, menu);
    		
    		return super.onCreateOptionsMenu(menu);
    	}
    
    Några ideer, någon?
     

    Bifogade filer:

  2. e7andy

    e7andy Professional Droid Hedersmedlem

    Blev medlem:
    14 oktober 2009
    Inlägg:
    2.349
    Mottagna gillanden:
    835
    Telefon:
    Huawei P10 Plus

    MINA ENHETER

    Telefon:
    Huawei P10 Plus
    Telefon 2:
    Nexus 5
    Telefon 3:
    ADP1
    Övrigt:
    LG G Watch R, ChromeCast
    Din main_activity_actions.xml kom inte med helt, men jag antar att den ser ut så här...typ:
    HTML:
    <menu xmlns:android="http://schemas.android.com/apk/res/android"
          xmlns:yourapp="http://schemas.android.com/apk/res-auto" >
        <item android:id="@+id/action_search"
              android:icon="@drawable/ic_action_search"
              android:title="@string/action_search"
              yourapp:showAsAction="ifRoom"  />
    
        <item android:id="@+id/action_settings"
              android:title="@string/action_settings"
              yourapp:showAsAction="never" />
    
        <item android:id="@+id/action_gotoSetup"
              android:title="@string/action_gotoSetup"
              yourapp:showAsAction="never" />
    
        <item android:id="@+id/action_gotoTest"
              android:title="@string/action_gotoTest"
              yourapp:showAsAction="never" />
    
    </menu>
    
    Det första jag hade testat skulle vara att ta bort Theme.AppCompat.Light och se vad som händer.

    Får du samma problem om du kör i en emulator med högre version?

    Eclipse sparar historik lokalt. Vet inte hur lång tid bakåt. Jag fick fram 2 veckor bakåt nu när jag testade. Högerklicka, compare with och local history.
     
    Last edited: 6 oktober 2013
  3. Sourcetapper

    Sourcetapper Infant Droid Medlem

    Blev medlem:
    5 oktober 2013
    Inlägg:
    6
    Mottagna gillanden:
    1

    MINA ENHETER

    Angående main_activity_actions.xml

    Jag såg det nu.
    Så här ser den ut.
    HTML:
        <menu xmlns:android="http://schemas.android.com/apk/res/android"
            xmlns:yourapp="http://schemas.android.com/apk/res-auto">
            <!--  Search, should appear as action button.  -->
            <item android:id="@+id/action_search"
               android:icon="@drawable/action_search"
               android:title="@string/action_search"
               yourapp:showAsAction="ifRoom" />
            
            <!-- Settings, should always be in the overflow -->
            <item android:id="@+id/action_settings"
                android:title="@string/action_settings"
                yourapp:showAsAction="never" />
            
            <!-- gotoSetup, switch application to edit the works and translation. -->
            <item android:id="@+id/action_gotoSetup" 
                 android:title="@string/action_gotoSetup"
                 yourapp:showAsAction="never"></item>
            
            <!-- gotoTest, switch application to take a vocabulary test. -->
            <item android:id="@+id/action_gotoTest"
                 android:title="@string/action_gotoTest"
                 yourapp:showAsAction="never"></item>
            
            
        </menu>
    Jag har samma problem med utseendet om jag använder en emulator med Android 3.0 och även 2.2.

    Theme.AppCompat.Light är ett av de teman som man skall använda om man vill använda action bar. (Enligt http://developer.android.com/training/basics/actionbar/setting-up.html)
    Jag skall prova att ta bort den ändå för att som du säger se om det gör någon skillnad.

    Tack också för tipset med lokal historia i Eclipse. Det kanske kan ge mig en hint om vad som ändrats.
     
  4. Sourcetapper

    Sourcetapper Infant Droid Medlem

    Blev medlem:
    5 oktober 2013
    Inlägg:
    6
    Mottagna gillanden:
    1

    MINA ENHETER

    Jag har nu provat att ändra Theme.AppCompat.Light till Theme.AppCompat, vilket gjorde det mörkare men jag hade ändå problemen kvar.

    Provade även att ta bort temat helt, men då fungerar inte actionbar eller resten av applikationen alls.

    Local history har inte gett mig lösningen heller.

    Jag skall prova att återskapa innehållet i ett nytt projekt där jag väljer rätt namn direkt på filer och activities så kanske det går att komma vidare.
     
  5. e7andy

    e7andy Professional Droid Hedersmedlem

    Blev medlem:
    14 oktober 2009
    Inlägg:
    2.349
    Mottagna gillanden:
    835
    Telefon:
    Huawei P10 Plus

    MINA ENHETER

    Telefon:
    Huawei P10 Plus
    Telefon 2:
    Nexus 5
    Telefon 3:
    ADP1
    Övrigt:
    LG G Watch R, ChromeCast
    Testa att göra en Clean på ditt projekt så att de generade filerna genereras om.
     
  6. Sourcetapper

    Sourcetapper Infant Droid Medlem

    Blev medlem:
    5 oktober 2013
    Inlägg:
    6
    Mottagna gillanden:
    1

    MINA ENHETER

    Problemet är löst nu. :):):):)

    Jag gjorde ett nytt ActionBar projekt helt enligt instruktionerna här:
    http://developer.android.com/training/basics/actionbar/setting-up.html

    och fick inte det lilla, mer hanterbara projektet att fungera förrän jag tog bort android-support library med Android SDK-manager, installerade det igen och sedan importerade och gjorde allt från början med android-support-v7-appcompat igen.

    Tack ni som engagerade er!:)
     
  7. e7andy

    e7andy Professional Droid Hedersmedlem

    Blev medlem:
    14 oktober 2009
    Inlägg:
    2.349
    Mottagna gillanden:
    835
    Telefon:
    Huawei P10 Plus

    MINA ENHETER

    Telefon:
    Huawei P10 Plus
    Telefon 2:
    Nexus 5
    Telefon 3:
    ADP1
    Övrigt:
    LG G Watch R, ChromeCast
    Så skillnaden du gjorde var att låta din aktivitet ärva ActionBarActivity?
     
  8. Sourcetapper

    Sourcetapper Infant Droid Medlem

    Blev medlem:
    5 oktober 2013
    Inlägg:
    6
    Mottagna gillanden:
    1

    MINA ENHETER

    Nej, skillnaden var snarare något med android-support-v7-appcompat installationen eller tillägg av denna till mitt projekt.

    Jag fick ju inte mitt lilla nya projekt som var helt enligt "kokboken" att fungera innan jag tagit bort Android Support Library och lagt till det igen.
     
    e7andy gillar detta.