Ich habe einen BottomNavigationView
, die ich so instanziiert:Margen Navigationspunkt in BottomNavigationView
BottomNavigationView navigationView = findViewById(R.id.bottom_navigation);
navigationView.setOnNavigationItemSelectedListener(this);
/menu/menu.xml sieht wie folgt aus:
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android">
<item
android:id="@+id/first_id"
android:icon="@drawable/home_icon"
android:title="Item" />
<item
android:id="@+id/second_id"
android:icon="@drawable/home_icon"
android:title="Item" />
<item
android:id="@+id/third_id"
android:icon="@drawable/home_icon"
android:title="Item" />
<item
android:id="@+id/fourth_id"
android:icon="@drawable/home_icon"
android:title="Item" />
</menu>
und/ziehbar/Home_icon Aussehen wie folgt:
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="24dp"
android:height="24dp"
android:viewportHeight="24.0"
android:viewportWidth="24.0">
<path
android:fillColor="#FFFFF0"
android:pathData="M10 20v-6h4v6h5v-8h3L12 3 2 12h3v8z"
android:strokeColor="#FFFFF0"
android:strokeWidth="1" />
</vector>
Wie Sie sehen können, habe ich Grenzen um die Schaltflächen der navigat Bei Items berühren sich jedoch die Grenzen. Daher möchte ich einen Rand zwischen den Menütasten hinzufügen. Wie kann ich das machen?
Wie Sie auch aus dem Screenshot sehen kann, ich verhindern Modus verschieben. Ich tue dies durch
BottomNavigationViewHelper.removeShiftMode(navigationView);
unter Verwendung von Code aus here aufrufen.
Die Ränder um die Tasten wie folgt zugesetzt wurden:
int stateListDrawable = drawableStateLists.get(currentFragment);
navigationView.setItemBackgroundResource(stateListDrawable);
während stateListDrawable
auf eine StateListDrawable
bezieht, die sich ändert, wenn ein anderes Menü-Taste gedrückt wird. Die StateListDrawable
bezieht sich auf einen XML-Selektor, der wiederum in eine XML-Form, wie dies bezieht sich, zum Beispiel:
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<corners android:radius="5dp"/>
<stroke
android:width="2dp"
android:color="@color/intro"/>
</shape>
Wie haben Sie diese Grenzen hinzugefügt? – azizbekian
@azizbekian Bitte sehe meine Bearbeitung. – kalabalik