CERCA
PER MODELLO
FullScreen Chatbox! :)

Utente del giorno: elmegio con ben 2 Thanks ricevuti nelle ultime 24 ore
Utente della settimana: carotix con ben 11 Thanks ricevuti negli ultimi sette giorni
Utente del mese: megthebest con ben 24 Thanks ricevuti nell'ultimo mese

Visualizzazione dei risultati da 1 a 5 su 5
Discussione:

Come cambiare colore testo menu?

Se questa discussione ti è stata utile, ti preghiamo di lasciare un messaggio di feedback in modo che possa essere preziosa in futuro anche per altri utenti come te!
  1. #1
    Senior Droid L'avatar di l30n4rd0


    Registrato dal
    Jan 2013
    Località
    Terni/Roma
    Messaggi
    447
    Smartphone
    HUAWEI Ascend G330 (U8825-1)

    Ringraziamenti
    67
    Ringraziato 72 volte in 53 Posts
    Predefinito

    Come cambiare colore testo menu?

    Salve a tutti. Nell'app che sto sviluppando il menu che viene fuori dall'action bar ha le scritte bianche, mentre quello che viene fuori dal tasto fisico ha le scritte nere. Io vorrei in entrambi le scritte bianche (quindi il problema risiede nel menu dal tasto fisico).
    Sotto metto il codice del mio tema, e due screen per capire meglio.
    Se avete consigli/indicazioni scrivete pure.
    (Ovviamente ho cercato in internet un modo per farlo, ma non ho trovato)
    Grazie

     
    1
    2
    <?xml version="1.0" encoding="utf-8"?>
    3
    <resources>
    4
    5
        <style name="Theme.Bg_text_pers" parent="@android:style/Theme.Holo.Light.DarkActionBar">
    6
            <item name="android:actionBarItemBackground">@drawable/selectable_background_bg_text_pers</item>
    7
            <item name="android:popupMenuStyle">@style/PopupMenu.Bg_text_pers</item>
    8
            <item name="android:dropDownListViewStyle">@style/DropDownListView.Bg_text_pers</item>
    9
            <item name="android:actionBarTabStyle">@style/ActionBarTabStyle.Bg_text_pers</item>
    10
            <item name="android:actionDropDownStyle">@style/DropDownNav.Bg_text_pers</item>
    11
            <item name="android:actionBarStyle">@style/ActionBar.Solid.Bg_text_pers</item>
    12
            <item name="android:actionModeBackground">@drawable/cab_background_top_bg_text_pers</item>
    13
            <item name="android:actionModeSplitBackground">@drawable/cab_background_bottom_bg_text_pers</item>
    14
            <item name="android:actionModeCloseButtonStyle">@style/ActionButton.CloseMode.Bg_text_pers</item>
    15
    16
            <item name="android:typeface">serif</item>
    17
            <item name="android:panelBackground">@color/background_grey</item>
    18
            <item name="android:buttonStyle">@style/Widget.Button</item>
    19
    20
            <item name="android:actionBarWidgetTheme">@style/Theme.Bg_text_pers.Widget</item>
    21
    22
        </style>
    23
    24
        <style name="ActionBar.Solid.Bg_text_pers" parent="@android:style/Widget.Holo.Light.ActionBar.Solid.Inverse">
    25
            <item name="android:background">@drawable/ab_solid_bg_text_pers</item>
    26
            <item name="android:backgroundStacked">@drawable/ab_stacked_solid_bg_text_pers</item>
    27
            <item name="android:backgroundSplit">@drawable/ab_bottom_solid_bg_text_pers</item>
    28
            <item name="android:progressBarStyle">@style/ProgressBar.Bg_text_pers</item>
    29
        </style>
    30
    31
        <style name="ActionBar.Transparent.Bg_text_pers" parent="@android:style/Widget.Holo.ActionBar">
    32
            <item name="android:background">@drawable/ab_transparent_bg_text_pers</item>
    33
            <item name="android:progressBarStyle">@style/ProgressBar.Bg_text_pers</item>
    34
        </style>
    35
    36
        <style name="PopupMenu.Bg_text_pers" parent="@android:style/Widget.Holo.ListPopupWindow">
    37
            <item name="android:popupBackground">@drawable/menu_dropdown_panel_bg_text_pers</item>
    38
        </style>
    39
    40
        <style name="DropDownListView.Bg_text_pers" parent="@android:style/Widget.Holo.ListView.DropDown">
    41
            <item name="android:listSelector">@drawable/selectable_background_bg_text_pers</item>
    42
        </style>
    43
    44
        <style name="ActionBarTabStyle.Bg_text_pers" parent="@android:style/Widget.Holo.ActionBar.TabView">
    45
            <item name="android:background">@drawable/tab_indicator_ab_bg_text_pers</item>
    46
        </style>
    47
    48
        <style name="DropDownNav.Bg_text_pers" parent="@android:style/Widget.Holo.Spinner">
    49
            <item name="android:background">@drawable/spinner_background_ab_bg_text_pers</item>
    50
            <item name="android:popupBackground">@drawable/menu_dropdown_panel_bg_text_pers</item>
    51
            <item name="android:dropDownSelector">@drawable/selectable_background_bg_text_pers</item>
    52
        </style>
    53
    54
        <style name="ProgressBar.Bg_text_pers" parent="@android:style/Widget.Holo.ProgressBar.Horizontal">
    55
            <item name="android:progressDrawable">@drawable/progress_horizontal_bg_text_pers</item>
    56
        </style>
    57
    58
        <style name="ActionButton.CloseMode.Bg_text_pers" parent="@android:style/Widget.Holo.ActionButton.CloseMode">
    59
            <item name="android:background">@drawable/btn_cab_done_bg_text_pers</item>
    60
        </style>
    61
    62
        <style name="Theme.Bg_text_pers.Widget" parent="@android:style/Theme.Holo">
    63
            <item name="android:popupMenuStyle">@style/PopupMenu.Bg_text_pers</item>
    64
            <item name="android:dropDownListViewStyle">@style/DropDownListView.Bg_text_pers</item>
    65
        </style>
    66
    67
        <style name="Widget.Button" parent="@android:style/Widget.Holo.Light.Button">
    68
            <item name="android:focusable">true</item>
    69
            <item name="android:clickable">true</item>
    70
            <item name="android:textAppearance">?android:attr/textAppearanceSmallInverse</item>
    71
            <item name="android:textColor">?android:attr/textColorPrimaryInverseDisableOnly</item>
    72
            <item name="android:gravity">center_vertical|center_hori  zontal</item>
    73
        </style>
    74
    75
        <style name="AlertDialogCustom" parent="@android:style/Theme.Holo.Dialog">
    76
            <item name="android:textColor">?android:attr/textColorPrimaryInverseDisableOnly</item>
    77
        </style>
    78
    79
    </resources>
    80


    Da tasto fisico:
    menu1.png

    Da action bar:
    menu2.png
    Smartphone: Huawei Ascend G330 (U8825-1)
    ROM: CyanogenMod 11
    Recovery: TWRP 2.7.1.0
    Root: Done
    Unloock bootloader: Done

    Tablet: Nexus 7 3G 32 GB
    ROM: CyanogenMod 11 for Tilapia
    Recovery: TWRP 2.6.3.0
    Root: Done
    Unloock bootloader: Done

  2.  
  3. #2
    Baby Droid


    Registrato dal
    May 2014
    Località
    Cagliari
    Messaggi
    20
    Smartphone
    GT I9305 - Z3

    Ringraziamenti
    1
    Ringraziato 2 volte in 2 Posts

  4. #3
    Senior Droid L'avatar di l30n4rd0


    Registrato dal
    Jan 2013
    Località
    Terni/Roma
    Messaggi
    447
    Smartphone
    HUAWEI Ascend G330 (U8825-1)

    Ringraziamenti
    67
    Ringraziato 72 volte in 53 Posts
    Predefinito

    Ti ringrazio della risposta.
    Il metodo da te suggerito non funziona. E questo è l'errore che mi restituisce il logcat.

    java.lang.IllegalStateException: A factory has already been set on this LayoutInflater

    Considera che ho preso questa parte qua, ma a quel "Log.e(TAG, "DENTRO");" non mi ci arriva affatto:
    26
     
    1
    2
    getLayoutInflater().setFactory(new LayoutInflater.Factory() {
    3
                    public View onCreateView(String name, Context context, AttributeSet attrs) {
    4
                        if (name.equalsIgnoreCase("com.android.internal.view.menu.IconMenuItemView")) {
    5
                            try {
    6
                                LayoutInflater li = LayoutInflater.from(context);
    7
                                final View view = li.createView(name, null, attrs);
    8
                                new Handler().post(new Runnable() {
    9
                                    public void run() {
    10
                                        ((TextView) view).setTextColor(getResources().getColor(R.color.text_white));
    11
                                        Log.e(TAG, "DENTRO");
    12
                                    }
    13
                                });
    14
                                return view;
    15
                            } catch (InflateException e) {
    16
                                //Handle any inflation exception here
    17
                                Log.e(TAG, "Inflate exception = " + e);
    18
                            } catch (ClassNotFoundException e) {
    19
                                //Handle any ClassNotFoundException here
    20
                                Log.e(TAG, "Class not found exception = " + e);
    21
                            }
    22
                        }
    23
                        return null;
    24
                    }
    25
                });
    26
    Smartphone: Huawei Ascend G330 (U8825-1)
    ROM: CyanogenMod 11
    Recovery: TWRP 2.7.1.0
    Root: Done
    Unloock bootloader: Done

    Tablet: Nexus 7 3G 32 GB
    ROM: CyanogenMod 11 for Tilapia
    Recovery: TWRP 2.6.3.0
    Root: Done
    Unloock bootloader: Done

  5. #4
    Baby Droid


    Registrato dal
    May 2014
    Località
    Cagliari
    Messaggi
    20
    Smartphone
    GT I9305 - Z3

    Ringraziamenti
    1
    Ringraziato 2 volte in 2 Posts
    Predefinito

    Quote Originariamente inviato da l30n4rd0 Visualizza il messaggio
    Ti ringrazio della risposta.
    Il metodo da te suggerito non funziona. E questo è l'errore che mi restituisce il logcat.

    java.lang.IllegalStateException: A factory has already been set on this LayoutInflater

    Considera che ho preso questa parte qua, ma a quel "Log.e(TAG, "DENTRO");" non mi ci arriva affatto:
    26
     
    1
    2
    getLayoutInflater().setFactory(new LayoutInflater.Factory() {
    3
                    public View onCreateView(String name, Context context, AttributeSet attrs) {
    4
                        if (name.equalsIgnoreCase("com.android.internal.view.menu.IconMenuItemView")) {
    5
                            try {
    6
                                LayoutInflater li = LayoutInflater.from(context);
    7
                                final View view = li.createView(name, null, attrs);
    8
                                new Handler().post(new Runnable() {
    9
                                    public void run() {
    10
                                        ((TextView) view).setTextColor(getResources().getColor(R.color.text_white));
    11
                                        Log.e(TAG, "DENTRO");
    12
                                    }
    13
                                });
    14
                                return view;
    15
                            } catch (InflateException e) {
    16
                                //Handle any inflation exception here
    17
                                Log.e(TAG, "Inflate exception = " + e);
    18
                            } catch (ClassNotFoundException e) {
    19
                                //Handle any ClassNotFoundException here
    20
                                Log.e(TAG, "Class not found exception = " + e);
    21
                            }
    22
                        }
    23
                        return null;
    24
                    }
    25
                });
    26
    Puoi postare il interamente il metodo onCreateOptionMenu() ?

  6. #5
    Senior Droid L'avatar di l30n4rd0


    Registrato dal
    Jan 2013
    Località
    Terni/Roma
    Messaggi
    447
    Smartphone
    HUAWEI Ascend G330 (U8825-1)

    Ringraziamenti
    67
    Ringraziato 72 volte in 53 Posts
    Predefinito

    Quote Originariamente inviato da DesoDroid Visualizza il messaggio
    Puoi postare il interamente il metodo onCreateOptionMenu() ?
    Certo!
    100
     
    1
    2
    @Override
    3
        public boolean onCreateOptionsMenu(Menu menu) {
    4
            if (Build.VERSION.SDK_INT >= 14) {
    5
                // Inflate the menu; this adds items to the action bar if it is present. (For Android >= ICS)
    6
                MenuInflater inflater = getMenuInflater();
    7
                inflater.inflate(R.menu.main, menu);
    8
    9
                // PARTE INSERITA PER MODIFICARE COLORE TESTO E NON FUNZIONANTE
    10
                getLayoutInflater().setFactory(new LayoutInflater.Factory() {
    11
                    public View onCreateView(String name, Context context, AttributeSet attrs) {
    12
                        if (name.equalsIgnoreCase("com.android.internal.view.menu.IconMenuItemView")) {
    13
                            try {
    14
                                LayoutInflater li = LayoutInflater.from(context);
    15
                                final View view = li.createView(name, null, attrs);
    16
                                new Handler().post(new Runnable() {
    17
                                    public void run() {
    18
                                        ((TextView) view).setTextColor(getResources().getColor(R.color.text_white)); 
    19
                                        //R.color.text_white è una risorsa del file colors.xml funzionante in altre parti di codice
    20
                                        Log.e(TAG, "DENTRO");
    21
                                    }
    22
                                });
    23
                                return view;
    24
                            } catch (InflateException e) {
    25
                                //Handle any inflation exception here
    26
                                Log.e(TAG, "Inflate exception = " + e);
    27
                            } catch (ClassNotFoundException e) {
    28
                                //Handle any ClassNotFoundException here
    29
                                Log.e(TAG, "Class not found exception = " + e);
    30
                            }
    31
                        }
    32
                        return null;
    33
                    }
    34
                });
    35
                // FINE INSERIMENTO PER CAMBIARE COLORE AL TESTO
    36
    37
    38
            // La parte di codice che segue è per far funzionare il menu in versioni android inferiori alla API 14,
    39
            //poiché con "getMenuInflate();" mi dava errore (probabilmente per i submenu che ho messo dentro)
    40
            } else {
    41
                menu.add(Menu.NONE, R.id.action_homem, 1, R.string.homem);
    42
                menu.add(Menu.NONE, R.id.action_homes, 2, R.string.homes);
    43
                SubMenu bookmarks = menu.addSubMenu(Menu.NONE, Menu.NONE, 3, R.string.bookmarks);
    44
                bookmarks.add(Menu.NONE, R.id.action_travelnorm, 1, R.string.travelnorm);
    45
                bookmarks.add(Menu.NONE, R.id.action_travelsm, 2, R.string.travelsm);
    46
                bookmarks.add(Menu.NONE, R.id.action_travelquick, 3, R.string.travelquick);
    47
                bookmarks.add(Menu.NONE, R.id.action_cheese, 4, R.string.cheese);
    48
                bookmarks.add(Menu.NONE, R.id.action_weapons, 5, R.string.weapons);
    49
                bookmarks.add(Menu.NONE, R.id.action_bases, 6, R.string.bases);
    50
                bookmarks.add(Menu.NONE, R.id.action_charms, 7, R.string.charms);
    51
                bookmarks.add(Menu.NONE, R.id.action_skins, 8, R.string.skins);
    52
                bookmarks.add(Menu.NONE, R.id.action_craftingitems, 9, R.string.craftingitems);
    53
                bookmarks.add(Menu.NONE, R.id.action_hammer, 10, R.string.hammer);
    54
                bookmarks.add(Menu.NONE, R.id.action_recipe, 11, R.string.recipe);
    55
                bookmarks.add(Menu.NONE, R.id.action_potions, 12, R.string.potions);
    56
                bookmarks.add(Menu.NONE, R.id.action_basket, 13, R.string.basket);
    57
                bookmarks.add(Menu.NONE, R.id.action_special, 14, R.string.special);
    58
                bookmarks.add(Menu.NONE, R.id.action_coll, 15, R.string.coll);
    59
                bookmarks.add(Menu.NONE, R.id.action_plank, 16, R.string.plank);
    60
                bookmarks.add(Menu.NONE, R.id.action_shopch, 17, R.string.shopch);
    61
                bookmarks.add(Menu.NONE, R.id.action_shoptr, 18, R.string.shoptr);
    62
                bookmarks.add(Menu.NONE, R.id.action_shopchar, 19, R.string.shopchar);
    63
                bookmarks.add(Menu.NONE, R.id.action_shopgs, 20, R.string.shopgs);
    64
                bookmarks.add(Menu.NONE, R.id.action_shopca, 21, R.string.shopca);
    65
                bookmarks.add(Menu.NONE, R.id.action_shopmp, 22, R.string.shopmp);
    66
                bookmarks.add(Menu.NONE, R.id.action_shopps, 23, R.string.shopps);
    67
                bookmarks.add(Menu.NONE, R.id.action_mice, 24, R.string.mice);
    68
                bookmarks.add(Menu.NONE, R.id.action_rfr, 25, R.string.rfr);
    69
                bookmarks.add(Menu.NONE, R.id.action_fl, 26, R.string.fl);
    70
                bookmarks.add(Menu.NONE, R.id.action_give, 27, R.string.give);
    71
                bookmarks.add(Menu.NONE, R.id.action_gift, 28, R.string.gift);
    72
                bookmarks.add(Menu.NONE, R.id.action_score, 29, R.string.score);
    73
                bookmarks.add(Menu.NONE, R.id.action_wiki, 30, R.string.wiki);
    74
                bookmarks.add(Menu.NONE, R.id.action_guide, 31, R.string.guide);
    75
                bookmarks.add(Menu.NONE, R.id.action_myteam, 32, R.string.myteam);
    76
                bookmarks.add(Menu.NONE, R.id.action_teamsc, 33, R.string.teamsc);
    77
                bookmarks.add(Menu.NONE, R.id.action_tourn, 34, R.string.tourn);
    78
                bookmarks.add(Menu.NONE, R.id.action_tournsc, 35, R.string.tournsc);
    79
                bookmarks.add(Menu.NONE, R.id.action_forum, 36, R.string.forum);
    80
                bookmarks.add(Menu.NONE, R.id.action_news, 37, R.string.news);
    81
                bookmarks.add(Menu.NONE, R.id.action_timerSpread, 38, R.string.spread);
    82
                bookmarks.add(Menu.NONE, R.id.action_journal, 39, R.string.journal);
    83
                menu.add(Menu.NONE, R.id.action_manualrefresh, 4, R.string.manualrefresh);
    84
                menu.add(Menu.NONE, R.id.settings, 5, R.string.settings);
    85
                menu.add(1, R.id.chk_bot, 6, R.string.chk_bot);
    86
                menu.setGroupCheckable(1, true, false);
    87
                menu.add(Menu.NONE, R.id.action_timers, 7, R.string.timers);
    88
                menu.add(Menu.NONE, R.id.action_timer_off, 8, R.string.timer_off);
    89
                menu.add(Menu.NONE, R.id.action_exit, 9, R.string.exit);
    90
                menu.add(Menu.NONE, R.id.action_about, 10, R.string.about);
    91
                menu.add(Menu.NONE, R.id.action_logout, 11, R.string.logout);
    92
            }
    93
            super.onCreateOptionsMenu(menu);
    94
    95
            // Questa variabile boolean "showMenu" mi serve per disattivare il tasto fisico del menu 
    96
            //durante il caricamento dello splashscreen che avviene sempre nella MainActivity (dopo un 
    97
            //dato evento nascondo lo splash screen e si attiva action bar e menu dal tasto fisico)
    98
            return showMenu;
    99
        }
    100


    Visto che sei stato così gentile da "perdere tempo" con me ti chiedo anche un'altra informazione. Sai dove posso trovare una libreria chromium da importare nel mio progetto, così la posso usare al posto di WebView che è pesante come un macigno?
    Grazie mille!
    Ultima modifica di l30n4rd0; 14-06-14 alle 11:32
    Smartphone: Huawei Ascend G330 (U8825-1)
    ROM: CyanogenMod 11
    Recovery: TWRP 2.7.1.0
    Root: Done
    Unloock bootloader: Done

    Tablet: Nexus 7 3G 32 GB
    ROM: CyanogenMod 11 for Tilapia
    Recovery: TWRP 2.6.3.0
    Root: Done
    Unloock bootloader: Done

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire risposte
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Torna su
Privacy Policy