8 मई, 2018 से अद्यतन
आप उपयोग कर सकते हैं
app:labelVisibilityMode="labeled"
सीधे में<android.support.design.widget.BottomNavigationView />
स्रोत: https://developer.android.com/reference/com/google/android/material/bottomnavigation/LabelVisibilityMode
इस लंबे समाधान के नीचे की जरूरत नहीं है।
प्रीवियस ANSWER
मेरा बॉटमवेशन व्यू के साथ कुछ अजीब व्यवहार था। जब मैं इसमें किसी भी आइटम / टुकड़े का चयन कर रहा था, तो टुकड़ा नीचे को नीचे की ओर धकेलता है। इसलिए नीचे का पाठ स्क्रीन के नीचे चला जाता है, इसलिए केवल चिह्न दिखाई देते थे और पाठ किसी भी वस्तु पर क्लिक करने पर छिप जाता है।
यदि आप उस अजीब व्यवहार का सामना कर रहे हैं तो यहाँ समाधान है। जरा हटाओ
android:fitsSystemWindows="true"
टुकड़े के अपने मूल लेआउट में। जरा इसे हटाओ और उछालो! BottomNavigationView ठीक काम करेगा, अब इसे टेक्स्ट और आइकन के साथ दिखाया जा सकता है। मैं अपने मूल में यह था टुकड़े के CoordinatorLayout।
इसके अलावा जोड़ना मत भूलना
BottomNavigationViewHelper.removeShiftMode(bottomNavigationView);
अपनी गतिविधि में शिफ्टिंग मोड को निष्क्रिय करने के लिए।
यहाँ वह वर्ग है:
public class BottomNavigationViewHelper {
@SuppressLint("RestrictedApi")
public static void removeShiftMode(BottomNavigationView view) {
//this will remove shift mode for bottom navigation view
BottomNavigationMenuView menuView = (BottomNavigationMenuView) view.getChildAt(0);
try {
Field shiftingMode = menuView.getClass().getDeclaredField("mShiftingMode");
shiftingMode.setAccessible(true);
shiftingMode.setBoolean(menuView, false);
shiftingMode.setAccessible(false);
for (int i = 0; i < menuView.getChildCount(); i++) {
BottomNavigationItemView item = (BottomNavigationItemView) menuView.getChildAt(i);
item.setShiftingMode(false);
// set once again checked value, so view will be updated
item.setChecked(item.getItemData().isChecked());
}
} catch (NoSuchFieldException e) {
Log.e("ERROR NO SUCH FIELD", "Unable to get shift mode field");
} catch (IllegalAccessException e) {
Log.e("ERROR ILLEGAL ALG", "Unable to change value of shift mode");
}
}
}