8 ই মে, 2018 থেকে আপডেট করুন
আপনি app:labelVisibilityMode="labeled"
সরাসরি ব্যবহার করতে পারেন
<android.support.design.widget.BottomNavigationView />
উৎস: https://developer.android.com/references/com/google/android/matory/bottomnavication/ LabelVisibilityMode
দীর্ঘ সমাধানের নীচে এটির দরকার নেই।
পূর্ববর্তী উত্তর
বটমনাভিগেশনভিউয়ের সাথে আমার কিছু অদ্ভুত আচরণ ছিল। আমি যখন এটিতে কোনও আইটেম / টুকরা নির্বাচন করছিলাম তখন খণ্ডটি নীচে নেভিগেশনভিউটিকে কিছুটা নীচে ঠেলে দেয়, সুতরাং নীচে নেভিগেশনভিউয়ের পাঠ্যটি পর্দার নীচে চলে যায়, সুতরাং কেবল আইকনগুলি দৃশ্যমান ছিল এবং যে কোনও আইটেমের ক্লিক করে পাঠ্য আড়াল হয়ে যায়।
যদি আপনি সেই অদ্ভুত আচরণের মুখোমুখি হন তবে সমাধানটি এখানে। সরিয়ে ফেলুন
android:fitsSystemWindows="true"
আপনার খণ্ডের মূল বিন্যাসে। শুধু এটি সরান এবং বুম! নীচে নেভিগেশনভিউ সূক্ষ্মভাবে কাজ করবে, এখন এটি পাঠ্য এবং আইকন সহ প্রদর্শিত হতে পারে। আমি এটি আমার মূল সমন্বয়কারী খণ্ডের লেআউটে পেয়েছি।
যোগ করতে ভুলবেন না
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");
}
}
}