Community mapy.com Mapy.com Community
    • Categories
    • Popular
    • Categories
    • Login

    Android navigační tlačítka

    Scheduled Pinned Locked Moved Community Support | Uživatelská poradna
    7 Posts 3 Posters 847 Views 4 Watching
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • i.carI Offline
      i.car Backseat navigator
      last edited by

      Mám problém s bílou Android navigační lištou. Nic nevidím, protože jsou bílé tlačítka na bílém podkladu. Preferoval bych černou lištu a bílé tlačítka i když má člověk nastaven white režim. Anebo když už musí být ta bílá, tak alespoň černé ty tlačítka. Ostatní aplikace s tím nemají problém. Přikládám obrázky. Je to sice starší telefon XIAOMI s androidem 10, ale fungovat by to mohlo i tam...
      Screenshot_2025-10-08-17-34-44-452_com.android.chrome.jpg
      Screenshot_2025-10-08-17-24-22-639_cz.seznam.mapy.jpg

      EwelinaE 1 Reply Last reply Reply Quote 0
      • EwelinaE Offline
        Ewelina Mapy.com Team Premium Administrators @i.car
        last edited by

        @i.car Dobrý den, jakou máte prosím verzi aplikace? Kontroluji barvu navigačních tlačítek na Androidu 12 a 13 (nejnovější verze aplikace) a barva je šedá, dobře viditelná.

        i.carI Josef BoleslavJ 2 Replies Last reply Reply Quote 0
        • i.carI Offline
          i.car Backseat navigator @Ewelina
          last edited by

          @Ewelina
          9.72.0, což je předpokládám poslední.
          Verze androidu je 10.
          Na novém telefonu s Android 15 mám tlačítka také šedé, ale na té desítce jenom u mapy aplikace mám takové bílé...

          1 Reply Last reply Reply Quote 0
          • i.carI Offline
            i.car Backseat navigator
            last edited by

            Takže tento kód funguje mi funguje. Doporučuji to použít a dát to třebas i na uživatelské nastavení ať si každý vybere co je libo (pokud nevybere nic, necháte jak máte teď, bez jakéhokoliv volání kódu):

             private void setLightNavBar() {
                    // bílý podklad + tmavé ikony
                    setNavBarColor(Color.WHITE, true);
                }
            
                private void setDarkNavBar() {
                    // černý podklad + světlé ikony
                    setNavBarColor(Color.BLACK, false);
                }
            
                private void setTransparentNavBar() {
                    Window w = getWindow();
            
                    // 1) Musíme povolit "draw behind" (obsah sahá pod navigaci)
                    View decor = w.getDecorView();
                    int vis = decor.getSystemUiVisibility();
                    vis |= View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION | View.SYSTEM_UI_FLAG_LAYOUT_STABLE;
                    // zrušíme flag pro světlé ikony (většinou na průhledném chceme světlé ikony)
                    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
                        vis &= ~View.SYSTEM_UI_FLAG_LIGHT_NAVIGATION_BAR;
                    }
                    decor.setSystemUiVisibility(vis);
            
                    // 2) Ujistíme se, že systém kreslí barvy
                    w.clearFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_NAVIGATION);
                    w.addFlags(WindowManager.LayoutParams.FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS);
            
                    // 3) Transparentní bar
                    w.setNavigationBarColor(Color.TRANSPARENT);
            
                    // 4) API 30+: nastavíme appearance přes platformní WindowInsetsController
                    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.R) {
                        WindowInsetsController ic = w.getInsetsController();
                        if (ic != null) {
                            // zde 0 = tmavé ikony NE, tedy světlé ikony (často lepší na průhledném)
                            ic.setSystemBarsAppearance(0, WindowInsetsController.APPEARANCE_LIGHT_NAVIGATION_BARS);
                        }
                    }
            
                }
            
                // ----------------------
                // pomocné metody
                // ----------------------
                private void setNavBarColor(int color, boolean useLightIcons) {
                    Window w = getWindow();
                    View decor = w.getDecorView();
            
                    // 1) Odebereme "draw-behind" layout flags (pokud byly)
                    int vis = decor.getSystemUiVisibility();
                    vis &= ~View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION;
                    vis &= ~View.SYSTEM_UI_FLAG_LAYOUT_STABLE;
            
                    // 2) Správně nastavíme flag pro světlé ikony (API 26+)
                    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
                        if (useLightIcons) {
                            vis |= View.SYSTEM_UI_FLAG_LIGHT_NAVIGATION_BAR;
                        } else {
                            vis &= ~View.SYSTEM_UI_FLAG_LIGHT_NAVIGATION_BAR;
                        }
                    }
            
                    decor.setSystemUiVisibility(vis);
            
                    // 3) Ujistíme se že systém kreslí barvy (ne translucent)
                    w.clearFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_NAVIGATION);
                    w.addFlags(WindowManager.LayoutParams.FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS);
            
                    // 4) Nastavíme barvu navigační lišty
                    w.setNavigationBarColor(color);
            
                    // 5) API 30+: preferuj platformní API pro appearance (spolehlivější)
                    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.R) {
                        WindowInsetsController ic = w.getInsetsController();
                        if (ic != null) {
                            int appearance = useLightIcons ? WindowInsetsController.APPEARANCE_LIGHT_NAVIGATION_BARS : 0;
                            ic.setSystemBarsAppearance(appearance, WindowInsetsController.APPEARANCE_LIGHT_NAVIGATION_BARS);
                        }
                    }
                }
            
            1 Reply Last reply Reply Quote 1
            • i.carI Offline
              i.car Backseat navigator
              last edited by

              ve verzi 9.73.1 to ještě nefunguje, tak budu čekat dál, snad se dočkám ...

              1 Reply Last reply Reply Quote 0
              • Josef BoleslavJ Offline
                Josef Boleslav Premium @Ewelina
                last edited by

                @Ewelina Dobrý den, mám podobný problém, Samsung S23, Android 16, poslední verze, Mapy 9.73. 1. Dělalo to i na předešlé verzi., špatně čitelné vrchní ikonky. 1000067324.jpg

                i.carI 1 Reply Last reply Reply Quote 0
                • i.carI Offline
                  i.car Backseat navigator @Josef Boleslav
                  last edited by

                  @Josef-Boleslav
                  Myslím, že by bylo opravdu vhodné dát uživateli na výběr jestli chce bílé, černé anebo průhledné někde v nastavení, protože jak se navigační tlačítka a horní menu chovají velmi závisí na výrobci telefonu, resp. verzí androidu a jak ji zasvinil svými customizacemi. Ať se budete snažit jakkoliv, univerzál nenajdete, volba v nastavení povede naprosté spokojenosti všech.

                  1 Reply Last reply Reply Quote 2

                  Hello! It looks like you're interested in this conversation, but you don't have an account yet.

                  Getting fed up of having to scroll through the same posts each visit? When you register for an account, you'll always come back to exactly where you were before, and choose to be notified of new replies (either via email, or push notification). You'll also be able to save bookmarks and upvote posts to show your appreciation to other community members.

                  With your input, this post could be even better 💗

                  Register Login
                  • First post
                    Last post
                  Mapy.com are part of Seznam.cz, a.s. – all rights reserved. Powered by excellent NodeBB
                  NodeBB & contributors, OSM & contributors
                  Terms of Use   Privacy Policy