web-dev-qa-db-fra.com

Barre de navigation inférieure: la taille du texte augmente en appuyant sur?

J'utilise la barre de navigation inférieure dans Android. Par défaut, lorsque je sélectionne un élément, la taille du texte de l'étiquette de cet élément augmente. Comme le montre ici le label "tournois".

enter image description here

enter image description here

Existe-t-il un moyen de supprimer cela pour que les "tournois" Word restent de la même taille?

13
Lewis Black

Essayez d'ajouter ce code dans dimens.xml fichier

<dimen name="design_bottom_navigation_text_size" tools:override="true">10sp</dimen>
<dimen name="design_bottom_navigation_active_text_size" tools:override="true">10sp</dimen>
21
Mitesh Vanaliya

Vous pouvez définir les active et inactive textAppearance pour une BottomNavigationView via des styles:

<Android.support.design.widget.BottomNavigationView
    Android:id="@+id/navigation"
    Android:layout_width="match_parent"
    Android:layout_height="wrap_content"
    style="@style/BottomNavigationView"/>

Mettez les styles ci-dessous dans styles.xml fichier

<style name="BottomNavigationView">
    <item name="itemTextAppearanceActive">@style/TextAppearance.BottomNavigationView.Active</item>
    <item name="itemTextAppearanceInactive">@style/TextAppearance.BottomNavigationView.Inactive</item>
</style>

 <!-- blank styles for better code readability-->
<style name="TextAppearance"/>
<style name="TextAppearance.BottomNavigationView"/>

<!-- inactive tab icon style -->
<style name="TextAppearance.BottomNavigationView.Inactive">
    <item name="Android:textSize">12sp</item>
</style>

<!-- active tab icon style -->
<style name="TextAppearance.BottomNavigationView.Active">
    <item name="Android:textSize">12sp</item>
</style>

Avec TextAppearance, vous pouvez contrôler plus que textSize, mais aussi des propriétés telles que fontFamily, etc.

17
Jason Grife

Vous devez faire 2 choses simples si vous utilisez la bibliothèque de support '28.0.0-alpha1' ou plus -

Ajoutez ci-dessous deux lignes dans votre fichier dimen.xml

<dimen name="design_bottom_navigation_text_size" tools:override="true">15sp</dimen>
<dimen name="design_bottom_navigation_active_text_size" tools:override="true">15sp</dimen>

Et en vue -

<Android.support.design.widget.BottomNavigationView
            Android:id="@+id/navigation"
            Android:layout_width="0dp"
            Android:layout_height="wrap_content"
            Android:background="@color/colorPrimary"
            Android:foreground="?attr/selectableItemBackground"
            app:itemIconTint="@color/colorAccent"
            app:itemTextColor="@color/colorAccent"
            Android:elevation="16dp"
            app:layout_constraintBottom_toBottomOf="parent"
            app:layout_constraintEnd_toEndOf="parent"
            app:layout_constraintStart_toStartOf="parent"
            app:labelVisibilityMode="labeled"
            app:menu="@menu/navigation" />

Mettez app:labelVisibilityMode="labeled"

C'est tout profiter :-)

2
Bajrang Hudda

Utilisez cette méthode dans onCreate () et avant bottom_navigation_menu.setOnNavigationItemSelectedListener: -

public void removePaddingFromBottomNavigationItem() {
        BottomNavigationMenuView menuView = (BottomNavigationMenuView) bottom_navigation_menu.getChildAt(0);
        for (int i = 0; i < menuView.getChildCount(); i++) {
            BottomNavigationItemView item = (BottomNavigationItemView) menuView.getChildAt(i);
            View activeLabel = item.findViewById(R.id.largeLabel);
            if (activeLabel instanceof TextView) {
                activeLabel.setPadding(0, 0, 0, 0);
            }
        }
    }

Et utilisez ce code dans styles.xml: -

<style name="TextAppearance.BottomNavigationView.Inactive">
    <item name="Android:textSize">@dimen/_10ssp</item>
</style>

<style name="TextAppearance.BottomNavigationView.Active">
    <item name="Android:textSize">@dimen/_10ssp</item>
</style>
0
Ankit Lathiya

Tous contrôlent l'interface utilisateur BottomNavigationView, ci-dessous. J'ai utilisé la dépendance com.google.Android.material: matériel pour BottomNavigationView.

 private void editBottomNavigationViewItems(BottomNavigationView bottomNavigationView) {

        for (int i = 0; i < bottomNavigationView.getChildCount(); i++) {

            try {

                View item = bottomNavigationView.getChildAt( i );

                if (item instanceof BottomNavigationMenuView) {

                    BottomNavigationMenuView menu = (BottomNavigationMenuView) item;
                    for (int j = 0; j < menu.getChildCount(); j++) {

                        try {

                            View menuItem = menu.getChildAt( j );

                            // not chosen item menu  GO
                            View _small = menuItem.findViewById(com.google.Android.material.R.id.smallLabel);//dependence com.google.Android.material:material
                            //View _small = menuItem.findViewById(Android.support.design.R.id.smallLabel);// dependence Android.support.design
                            if ( _small instanceof TextView ) {
                                //_small.setPadding(0, 0, 0, 0);// remove all padding
                                TextView _tv = (TextView)_small;
                                _tv.setTextSize( 12 );// set size text
                            }// not chosen item menu  END

                            //this chosen item menu GO
                            View _large = menuItem.findViewById(com.google.Android.material.R.id.largeLabel);//dependence com.google.Android.material:material
                            //View _large = menuItem.findViewById(Android.support.design.R.id.largeLabel);//dependence Android.support.design.R.id.largeLabel
                            if ( _large instanceof TextView ) {
                                _large.setPadding(0,0,0,0);// remove all padding
                                TextView _tv = (TextView)_large;
                                _tv.setTextSize( 12 );// set size text
                            }// this chosen item menu  END

                        } catch ( NullPointerException npei ) {
                            Log.e("TAG", "get:BottomNavigationMenuView: " + npei.getMessage() );
                        }

                    }

                }

            } catch ( NullPointerException npe ) {
                Log.e("TAG", "get:BottomNavigationView: " + npe.getMessage() );
            }

        }

    }
0
amiron