কীভাবে নীচে নেভিগেশনভিউ শিফট মোড অক্ষম করবেন?


146

নীচে নেভিগেশনভিউ নিষ্ক্রিয় মেনুর শিরোনাম দেখায় না।

নীচে নেভিগেশনবারে সমস্ত মেনু উপাদানের শিরোনাম কীভাবে প্রদর্শিত হবে? সমস্যাটি হ'ল আমার ক্ষেত্রে কেবল ক্লিক করা উপাদানগুলির শিরোনাম দেখানো হয়েছে।

এখানে চিত্র বর্ণনা লিখুন



আপনি যদি কোনও অ্যানিমেশন সম্পূর্ণরূপে মুছতে চান তবে এখানে একটি কার্যকর উত্তর দেওয়া হয়েছে : stackoverflow.com/a/51052247/2352699
ফ্রেড পোরসিঙ্কুলা

উত্তর:


330

শর্তটির বাস্তবায়ন BottomNavigationView: যখন 3 টির বেশি আইটেম থাকে তখন শিফট মোডটি ব্যবহার করুন।

এই মুহুর্তে আপনি এটি বিদ্যমান এপিআইয়ের মাধ্যমে এটিকে পরিবর্তন করতে পারবেন না এবং শিফট মোড অক্ষম করার একমাত্র উপায় হ'ল প্রতিচ্ছবি ব্যবহার করা।

আপনার সহায়ক শ্রেণীর প্রয়োজন হবে:

import android.support.design.internal.BottomNavigationItemView;
import android.support.design.internal.BottomNavigationMenuView;
import android.support.design.widget.BottomNavigationView;
import android.util.Log;
import java.lang.reflect.Field;

public class BottomNavigationViewHelper {
    public static void disableShiftMode(BottomNavigationView 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);
                //noinspection RestrictedApi
                item.setShiftingMode(false);
                // set once again checked value, so view will be updated
                //noinspection RestrictedApi
                item.setChecked(item.getItemData().isChecked());
            }
        } catch (NoSuchFieldException e) {
            Log.e("BNVHelper", "Unable to get shift mode field", e);
        } catch (IllegalAccessException e) {
            Log.e("BNVHelper", "Unable to change value of shift mode", e);
        }
    }
}

এবং তারপরে disableShiftModeআপনার পদ্ধতিটি প্রয়োগ করুন BottomNavigationViewতবে মনে রাখবেন যে আপনি যদি আপনার কোড থেকে মেনু ভিউ স্ফীত করছেন তবে আপনাকে এটি ফুলে যাওয়ার পরে চালিত করতে হবে।

ব্যবহারের উদাহরণ:

BottomNavigationView bottomNavigationView = (BottomNavigationView) findViewById(R.id.bottom_navigation_bar);
BottomNavigationViewHelper.disableShiftMode(bottomNavigationView);

পুনশ্চ.

মনে রাখবেন, প্রতিবার আপনি নিজের মেনু আইটেম পরিবর্তন করার সময় আপনাকে এই পদ্ধতিটি কার্যকর করতে হবে BottomNavigationView

হালনাগাদ

আপনাকে প্রগুয়ার্ড কনফিগারেশন ফাইলও আপডেট করতে হবে (উদাঃ প্রগুয়ার্ড-rules.pro), উপরের কোডটি প্রতিবিম্ব ব্যবহার করে এবং যদি mShiftingModeক্ষেত্রটি অগ্রাহ্য করে তবে কাজ করবে না ।

-keepclassmembers class android.support.design.internal.BottomNavigationMenuView { 
    boolean mShiftingMode; 
}

প্রতি নির্দেশ করার জন্য ধন্যবাদ মুহাম্মদ Alfaifi এই সমস্যা এবং স্নিপেট প্রদানের

আপডেট 2

জোলান্ডা ভারহোফ নতুন সমর্থন লাইব্রেরি ( 28.0.0-alpha1) এবং নতুন উপাদান উপাদান লাইব্রেরি ( 1.0.0-beta01) এর দিকে ইঙ্গিত করার সাথে সাথে একটি সরকারী সম্পত্তি সরবরাহ করে যা 3 টি মেনু আইটেমের উপর স্থানান্তর মোডে ব্যবহার করতে পারে।

<com.google.android.material.bottomnavigation.BottomNavigationView
    ...
    app:labelVisibilityMode="labeled"
    ... 
/>

উপাদান উপাদান লাইব্রেরিতে 5 টি মেনু আইটেম থাকলে এটি প্রয়োগ হয়।

আপডেট 3

@ থমাসসান্ডারল্যান্ড যেমন উল্লেখ করেছে, আপনি স্থান পরিবর্তন অ্যানিমেশন অক্ষম করতে পোস্টফিক্স app:itemHorizontalTranslation="false"ছাড়াই এই সম্পত্তিটিকে মিথ্যাতে সেট করতে পারেন Enabled

আপনি নীচে নেভিগেশন স্টাইলিং সম্পূর্ণ গাইড পরীক্ষা করতে পারেন এখানে



17
ক্ষেত্রটি অচল হয়ে যাবে সুতরাং আপনি যদি এটির অগ্রগতি-বিধি ফাইলটিতে বাদ না দেন তবে এর মান পরিবর্তন করার কোনও উপায় নেই
মুহাম্মদ আলফাফাই

8
-কিডক্লাসমেম্বারস ক্লাস অ্যান্ড্রয়েড.সুপুরপোর্ট.ডিজাইন ইন্টर्नাল.বটমনাভিগেশনমেনুভিউ {বুলিয়ান এম শিফটিংমোড; }
মুহাম্মদ আলফায়েফি

8
কখনও কখনও, আমি সত্যিই ভাবি যে কেন Google এটি বিকাশকারীদের উপর বাস্তবায়ন দেখতে বাধ্য করে। Google+ অ্যাপ্লিকেশনে নিজেই 4 টি বিকল্প থাকা অবস্থায়, এই সহজ বৈশিষ্ট্যটি উপলব্ধ থাকলে একটি সাধারণ ফাংশনের মাধ্যমে অ্যাক্সেসযোগ্য হওয়া উচিত ছিল! ট্যাবলআউটটিতে অনুরূপ সমস্যা ছিল যা সমর্থন লাইব্রেরিতে অনেক পরে স্থির করা হয়েছিল। এটির উন্নতি করার জন্য অরিজিনাল রিপ্লায়ার এবং @ মুহাম্মাদআল্ফাইফিকে ধন্যবাদ জানাই।
Sud007

19
নতুন সমর্থন লাইব্রেরি (28.0.0-alpha1) অ্যাপের মাধ্যমে এই আচরণটি পরিবর্তন করতে সমর্থন করে: লেবেলভিসিবিলিটি মোড = "লেবেলযুক্ত"
জোল্যান্ডা ভারহোফ

50

সমর্থন লাইব্রেরি 28.0.0-alpha1:

<android.support.design.widget.BottomNavigationView
    app:labelVisibilityMode="labeled" />

1
আমি এই সমর্থন লাইব্রেরি সংস্করণটি ব্যবহার করছি তবে এখনও "লেবেলভিজিবিলিটি মোড" এ ত্রুটি পাওয়া যায় নি।
সাগর মইয়াদ

1
সঠিকভাবে কাজ করছে. প্রতিবিম্বের জন্য যাওয়ার দরকার নেই। একটি টন ধন্যবাদ
ভূপেশ

1
@ রিজার নিশ্চিত করুন যে আপনি ব্যবহার করছেন app:নাandroid:
কারসন

28

পাঠ্য অ্যানিমেশনটি অক্ষম করতে আপনি এটি আপনার dimens.xML ফাইলে ব্যবহার করতে পারেন:

<dimen name="design_bottom_navigation_active_text_size">12sp</dimen>

আপনার নিজের ম্যানিফেস্টে আপনাকে এটি যুক্ত করতেও পারে:

tools:override="true"

কাজ করছে না. আমি বিশ্বাস করি যে আমাকে কেবল / মান / ডিমেন্স.এক্সএমএল এ যুক্ত করতে হয়েছিল?
রোহান কান্দওয়াল

10
@ রোহানকান্দওয়াল যুক্ত করতে হবেtools:override="true"
বয়

@ বয় থ্যাঙ্কস, চেষ্টা করে দেখবেন।
রোহান কান্দওয়াল

শুধুমাত্র পাঠ্যের আকার পরিবর্তন করুন।
ডুড

আমাকে কেবল আমার ডাইমেনস এক্সএলএমএল ফাইলটিতে এটি রাখা দরকার:<dimen name="design_bottom_navigation_active_text_size" tools:ignore="PrivateResource">12sp</dimen>
ফার্নান্দো

22

আপনি এখন ব্যবহার করতে পারেন app:labelVisibilityMode="[labeled, unlabeled, selected, auto]"মধ্যে28-alpha

  • labeled সমস্ত লেবেল দৃশ্যমান রাখবে।
  • unlabeled শুধুমাত্র আইকন প্রদর্শন করবে।
  • selected কেবলমাত্র নির্বাচিত আইটেম এবং শিফ্ট আইটেমগুলির জন্য লেবেল প্রদর্শন করবে।
  • autoআপনার কাছে থাকা আইটেমের সংখ্যার ভিত্তিতে লেবেলযুক্ত বা নির্বাচিত নির্বাচন করবেন। 1-3 আইটেমের জন্য লেবেলযুক্ত এবং 3+ আইটেমের জন্য নির্বাচিত।

1
ধন্যবাদ লুনকি! এটি আমার জন্য সেরা এবং সহজ সমাধান
গ্রেগরিগিংস 36

কোডের এই লাইনটি কোথায় যুক্ত করবেন। আমি যুক্ত করার চেষ্টা করেছি কিন্তু একটি ত্রুটি পাওয়া যায় নি।
আব্দুলওয়াহিদ

@ আব্দুলওয়াহিদ একবার আপনি সমর্থন লাইব্রেরি 28 বা ততোধিক উচ্চতর একবার নীচের নেভিগেশন বারের এক্সএমএল এ যুক্ত করতে পারেন
এডান লইং

@ লুঙ্কি ধন্যবাদ এখন এটি একবার পরিষ্কার হয়েছে যে একবার লাইব্রেরি 28
আব্দুল

17

এক্সটেনশন ফাংশন হিসাবে কোটলিনে প্রজেমিসার উত্তর

@SuppressLint("RestrictedApi")
fun BottomNavigationView.disableShiftMode() {
    val menuView = getChildAt(0) as BottomNavigationMenuView
    try {
        val shiftingMode = menuView::class.java.getDeclaredField("mShiftingMode")
        shiftingMode.isAccessible = true
        shiftingMode.setBoolean(menuView, false)
        shiftingMode.isAccessible = false
        for (i in 0 until menuView.childCount) {
            val item = menuView.getChildAt(i) as BottomNavigationItemView
            item.setShiftingMode(false)
            // set once again checked value, so view will be updated
            item.setChecked(item.itemData.isChecked)
        }
    } catch (e: NoSuchFieldException) {
        Log.e(TAG, "Unable to get shift mode field", e)
    } catch (e: IllegalStateException) {
        Log.e(TAG, "Unable to change value of shift mode", e)
    }
}

ব্যবহার (কোটলিন অ্যান্ড্রয়েড এক্সটেনশন সহ):

bottom_navigation_view.disableShiftMode()

কোটলিনের পক্ষে কাজ করছি। আমাদের কেন এই মন্তব্যটি ব্যবহার করতে হবে @ সাপ্রেসলিন্ট ("নিষিদ্ধ এপি") আপনি প্লিজ ব্যাখ্যা করতে পারেন?
রণজিৎ কুমার

11

আমার জন্য কাজ কর

bottomNavigationView.setLabelVisibilityMode(LabelVisibilityMode.LABEL_VISIBILITY_LABELED);

অথবা

<android.support.design.widget.BottomNavigationView
    app:labelVisibilityMode="labeled" />

আমার লক্ষ্য = ২ = অবধি ঠিকঠাক কাজ করছিল তবে লক্ষ্য থেকে ২৮, এটি ভেঙে গেছে, পাঠ্যটি আর প্রদর্শিত হবে না। তবে সেটলেবিলিভিজিবিলিটি মডটি আমার জন্য কৌশলটি কাজ করে, এখন একটি
মোহন এর

10

পাঠ্য অ্যানিমেশনটি অক্ষম করতে এবং ফন্টের আকার হ্রাস করতে আপনার dimens.xML ফাইলে এটি ব্যবহার করুন:

<dimen name="design_bottom_navigation_text_size">10sp</dimen> 
<dimen name="design_bottom_navigation_active_text_size">10sp</dimen>

এক করতে পারেন Navigate-> File...> design_bottom_navigation_item.xmlযে অন্য কোন উপায় আছে দেখতে।
arekolek

6

হালনাগাদ

অ্যানড্রয়েডের এসডিকে সংস্করণ ২৮ এবং তারপরে তারা পরিবর্তিত item.setShiftingMode(false)হয়েছেitem.setShifting(false)

তারা মাঠটি সরিয়ে দিয়েছে mShiftingMode

সুতরাং ব্যবহার হবে

 BottomNavigationHelper.removeShiftMode(bottomNav);
 bottomNav.setLabelVisibilityMode(LabelVisibilityMode.LABEL_VISIBILITY_LABELED);


 private static final class BottomNavigationHelper {
    @SuppressLint("RestrictedApi")
    static void removeShiftMode(BottomNavigationView view) {
        BottomNavigationMenuView menuView = (BottomNavigationMenuView) view.getChildAt(0);
        for (int i = 0; i < menuView.getChildCount(); i++) {
            BottomNavigationItemView item = (BottomNavigationItemView) menuView.getChildAt(i);
            //noinspection RestrictedApi
            item.setShifting(false);
            item.setLabelVisibilityMode(LabelVisibilityMode.LABEL_VISIBILITY_LABELED);

            // set once again checked value, so view will be updated
            //noinspection RestrictedApi
            item.setChecked(item.getItemData().isChecked());
        }
    }
}

আপনি নীচে এই কোড ব্যবহার করতে পারেন। @SuppressLint ( "RestrictedApi") মজা removeShiftMode (মতবাদ: BottomNavigationView) {Val menuView = view.getChildAt (0) BottomNavigationMenuView menuView.labelVisibilityMode = LabelVisibilityMode.LABEL_VISIBILITY_LABELED menuView.buildMenuView (যেমন)}
ডীপ পি

5

অন্যরা যেমন উল্লেখ করেছে, যেহেতু সমর্থন লাইব্রেরি 28.0.0-alpha1 এটি সম্ভব:

<android.support.design.widget.BottomNavigationView
app:labelVisibilityMode="labeled" />

অথবা আপনি এটিকে প্রোগ্রামক্রমে সেট করতে পারেন ।

দ্রষ্টব্য: আপনি যদি সমর্থন লাইব্রেরির কোনও পুরানো সংস্করণ থেকে আপগ্রেড করছেন তবে এসডিকে সংস্করণ সংকলন করতে ভুলবেন না। সমর্থন লাইব্রেরির সংস্করণগুলি এখানে পরীক্ষা করুন: লাইব্রেরি সংস্করণ সমর্থন করুন Support

তবে, আপনার অ্যাপ্লিকেশন ডিজাইন সমর্থন লাইব্রেরির পুরানো সংস্করণগুলির উপর নির্ভর করে যদি সংকলনের সময় আপনি লেবেলযোগ্যতা মোড মেসেজটি খুঁজে পান না । যদি এটি হয় তবে প্রদত্ত নির্ভরতার কোনও সংস্করণে আপগ্রেড করার চেষ্টা করুন, এটি ডিজাইন সমর্থন লাইব্রেরির কমপক্ষে 28.0.0-alpha1 এর সংস্করণের উপর নির্ভর করে। যদি এটি সম্ভব না হয় তবে নির্ভরতা স্পষ্টভাবে সংজ্ঞা দিন।

আপনি যদি গ্র্যাডল ব্যবহার করেন

  1. নির্ভরতা টাস্ক চালিয়ে আপনি আপনার Depdendecies পরীক্ষা করতে পারেন এবং com.android.support: ডিজাইনের সংস্করণ নম্বরটি সন্ধান করতে পারেন ।
  2. আপনার বিল্ডড্র্যাডলে স্পষ্টভাবে ডিজাইন সমর্থন নির্ভরতা যুক্ত করতে :

    বাস্তবায়ন 'com.android.support: ডিজাইন 28.0.0'


4

ডিফল্ট ব্যবহার করে আপডেট উত্তরের জন্য। সর্বশেষতম ডিজাইন লাইব্রেরিতে আপডেট করুন

বাস্তবায়ন "com.android.support:design:28.0.0"

এবং আপনার নীচে নেভিগেশনভিউ এক্সএমএল বৈশিষ্ট্যগুলিতে রাখুন

app:itemHorizontalTranslationEnabled="false"

আপনি প্রোগ্রাম হিসাবে এটি রাখতে পারেন

bottomNavigationView.setItemHorizontalTranslationEnabled(false);

আপনি এখানে উত্সটি পেতে পারেন নীচে নেভিগেশনভিউ

আশা করি এটি আপনাকে সহায়তা করবে।


এর থেকে আলাদা কী app:labelVisibilityMode?
উইনসুক

@ ওনসুক এটি আইকন এবং পাঠ্যের নির্বাচিত আইটেমটি অ্যানিমেট করার অ্যানিমেশন সম্পর্কে। আপনি যখন পাঠ্য সহ আইকনটি প্রদর্শন করতে চান বা নির্বাচনের সময় প্রদর্শিত আইকনটি প্রদর্শন করতে চান কিনা তা প্রদর্শনের জন্য লেবেলভিজিবিলিটি মোড।
লেস্টার এল।

3

আপনার BottomNavigationViewযোগ করতেapp:labelVisibilityMode="unlabeled"

<android.support.design.widget.BottomNavigationView
        app:menu="@menu/bn_menu"
        android:layout_height="56dp"
        android:layout_width="match_parent"
        app:labelVisibilityMode="unlabeled">

</android.support.design.widget.BottomNavigationView>

নিম্নলিখিত ফলাফল যা ফলাফল

অ্যান্ড্রয়েড নীচে নেভিগেশন দেখুন পাঠ্য এবং শিফট অক্ষম করুন



2

বটমনাভিগেশনভিউয়ের সাথে আমার কিছু অদ্ভুত আচরণ ছিল। আমি যখন এটিতে কোনও আইটেম / টুকরা নির্বাচন করছিলাম তখন খণ্ডটি নীচে নেভিগেশনভিউটিকে কিছুটা নীচে ঠেলে দেয়, সুতরাং নীচে নেভিগেশনভিউয়ের পাঠ্যটি পর্দার নীচে চলে যায়, সুতরাং কেবল আইকনগুলি দৃশ্যমান ছিল এবং যে কোনও আইটেমের ক্লিক করে পাঠ্য আড়াল হয়ে যায়।

যদি আপনি সেই অদ্ভুত আচরণের মুখোমুখি হন তবে সমাধানটি এখানে। সরিয়ে ফেলুন

android:fitsSystemWindows="true"

আপনার খণ্ডের মূল বিন্যাসে। শুধু এটি সরান এবং বুম! নীচে নেভিগেশনভিউ সূক্ষ্মভাবে কাজ করবে, এখন এটি পাঠ্য এবং আইকন সহ প্রদর্শিত হতে পারে। আমি এটি আমার মূল সমন্বয়কারী খণ্ডের লেআউটে পেয়েছি।

যোগ করতে ভুলবেন না

BottomNavigationViewHelper.disableShiftMode(bottomNavigationView);

শিফটিং মোড অক্ষম করতে আপনার ক্রিয়াকলাপে। যদিও এটি জিজ্ঞাসা করা প্রশ্নের সাথে একেবারে সম্পর্কিত নয় তবে এখনও আমি এটি সহায়ক বলে মনে করি।


1
@ abbath0767 আপনি কি এই লিঙ্কটি দেখতে পেয়েছেন ? আপনার জন্য সহায়ক হতে পারে।
কিশান সোলঙ্কি

আমি ভেবেছিলাম আমি ইতিমধ্যে সবকিছু চেষ্টা করে এসেছি, আপনাকে অনেক ধন্যবাদ, আমি যে উত্তরটি খুঁজছিলাম তা সরাসরি খুঁজে পাওয়ার আশা করিনি।
বেকবোট

1
প্লেজার @ বেকাবোট
কিশান

2

এটি আমি ব্যবহার করা একটি তৃতীয় পক্ষের লাইব্রেরি এবং এতে অনেকগুলি কাস্টমাইজেশন বিকল্প রয়েছে যেমন শিফট মোড অক্ষম করা, কেবলমাত্র আইকন প্রদর্শন করা, আইকনগুলির আকার নির্ধারণ করা ইত্যাদি। নীচে নেভিগেশনভিউএক্স


2

অ্যানিমেশনগুলি সম্পূর্ণরূপে অপসারণ করতে:

আপনি যদি সেই বিরক্তিকর সামান্য শীর্ষ মার্জিন অ্যানিমেশন থেকে মুক্তি পেতে চান তবে আপনার আরও প্রতিবিম্ব কোড দরকার। এখানে সম্পূর্ণ সমাধান যা কোনও অ্যানিমেশন সরিয়ে দেয়:

@SuppressLint("RestrictedApi")
private static void disableShiftMode(BottomNavigationView 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);

            Field shiftAmount = item.getClass().getDeclaredField("mShiftAmount");
            shiftAmount.setAccessible(true);
            shiftAmount.setInt(item, 0);
            shiftAmount.setAccessible(false);

            item.setChecked(item.getItemData().isChecked());
        }
    } catch (NoSuchFieldException e) {
        Timber.e(e, "Unable to get fields");
    } catch (IllegalAccessException e) {
        Timber.e(e, "Unable to change values");
    }
}

এবং এটি আপনার অগ্রগামী কনফিগারেশন ফাইলটিতে যুক্ত করার বিষয়টি নিশ্চিত করুন:

-keepclassmembers class android.support.design.internal.BottomNavigationMenuView { 
    boolean mShiftingMode; 
}
-keepclassmembers class android.support.design.internal.BottomNavigationItemView { 
    int mShiftAmount;
}

অ্যান্ড্রয়েড 9 (এপিআই স্তর 28) নতুন বিধিনিষেধ অ SDK এর ইন্টারফেস ব্যবহারের উপর প্রবর্তন এবং এই না would কাজ যদি লক্ষ্য করে 28. developer.android.com/about/versions/pie/...
ernestkamara


1

আপনি যদি সমর্থনটি ব্যবহার করছেন: ডিজাইন: ২৮.০.০ এই লাইন অ্যাপটি যুক্ত করুন: লেবেলভিজিবিলিটি মোড = আপনার বটম নেভিগেশনভিউতে "লেবেলযুক্ত"


0

কেবল এই পদ্ধতির উপরে এটি যুক্ত করতে চাই শিফটমোডকে কোডের নীচেও যুক্ত করুন। @SuppressLint ( "RestrictedApi")


0

https://android.jlelse.eu/disable-shift-label-animation-from-bottom-navigation-android-b42a25dcbffc

1

<com.google.android.material.bottomnavigation.BottomNavigationView
...
app:itemHorizontalTranslationEnabled="false"/>

2

<com.google.android.material.bottomnavigation.BottomNavigationView
...
app:labelVisibilityMode="labeled"/>

3

<resources xmlns:tools="http://schemas.android.com/tools">
<dimen name="design_bottom_navigation_active_text_size"
    tools:override="true">12sp</dimen>


-1

আপনি নীচে নেভিগেশনভিউতে 3 থেকে 5 আইটেমের জন্য পাঠ্য এবং আইকন উভয়ই দেখানোর জন্য এটি ব্যবহার করতে পারেন এবং স্থানান্তর বন্ধ করতে পারেন।

 app:labelVisibilityMode="labeled"

তবে আপনি 5 টি আইটেমের জন্য বটম নেভিগেশনভিউতে দীর্ঘ পাঠ্য কাটা সমস্যার মুখোমুখি হবেন। তার জন্য, আমি নীচে পাঠ্য স্থানান্তর বন্ধের পাশাপাশি বটম নেভিগেশনভিউয়ের আইকনগুলির একটি ভাল সমাধান পেয়েছি। আপনি নীচে নেভিগেশনভিউতেও পাঠ্যের পাশাপাশি আইকনগুলির স্থানান্তরও বন্ধ করতে পারেন। কোড স্নিপশট এখানে দেওয়া হয়।

1. প্রদর্শিত হিসাবে নীচে নেভিগেশনভিউতে কোডের এই কয়েকটি লাইন যুক্ত করুন

<android.support.design.widget.BottomNavigationView
    android:id="@+id/bottom_navigation"
    android:layout_width="match_parent"
    android:layout_height="@dimen/seventy_dp"
    android:layout_semitransparent="true"
    android:background="@color/colorBottomNev"
    android:showAsAction="always|withText"
    app:itemIconTint="@drawable/bottom_navigation_colors"
    app:itemTextColor="@drawable/bottom_navigation_colors"
    app:itemTextAppearanceActive="@style/BottomNavigationViewTextStyle"
    app:itemTextAppearanceInactive="@style/BottomNavigationViewTextStyle"
    app:menu="@menu/bottom_navigation_menu"
    app:labelVisibilityMode="labeled"/>

2. মেনু আইটেম নীচের মত যুক্ত করুন: -

 <?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto">

    <item
        android:id="@+id/action_catalogue"
        android:icon="@drawable/catalogue"
        android:title="@string/catalogue"
        android:enabled="true"
        app:showAsAction="ifRoom" />

    <item
        android:id="@+id/action_contracts"
        android:icon="@drawable/contract"
        android:title="@string/contracts"
        android:enabled="true"
        app:showAsAction="ifRoom" />

    <item
        android:id="@+id/action_prospects"
        android:icon="@drawable/prospect"
        android:title="@string/prospects"
        android:enabled="true"
        app:showAsAction="ifRoom" />

    <item
        android:id="@+id/action_performance"
        android:icon="@drawable/performance"
        android:title="@string/performance"
        android:enabled="true"
        app:showAsAction="ifRoom" />

    <item
        android:id="@+id/action_advance"
        android:icon="@drawable/advance"
        android:title="@string/advance"
        android:enabled="true"
        app:showAsAction="ifRoom" />

</menu>

স্টাইল.এক্সএমএল ফাইলটিতে এই স্টাইলটি যুক্ত করুন:

 <style name="BottomNavigationViewTextStyle">
            <item name="android:fontFamily">@font/montmedium</item>
            <item name="android:textSize">10sp</item>
            <item name="android:duplicateParentState">true</item>
            <item name="android:ellipsize">end</item>
            <item name="android:maxLines">1</item>
        </style>

4) ডায়মেন ফোল্ডারে এগুলি যুক্ত করুন

<?xml version="1.0" encoding="utf-8"?>
<resources xmlns:tools="http://schemas.android.com/tools">
    <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>
</resources>

আমি এই লিঙ্ক এবং লিঙ্কটি থেকে সহায়তা পেয়েছি । আপনি এই লিঙ্কগুলি অধ্যয়ন করে সাহায্য পেতে পারেন his এটি আমাকে অনেক সাহায্য করে ope এটিও আপনাকে সহায়তা করে ope ধন্যবাদ ....

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.