android - অ্যান্ড্রয়েড: টেক্সআলক্যাপস="ভুয়া" ট্যাবলআউট নকশা সহায়তার জন্য কাজ করছে না




androiddesignsupport android-tablayout (8)

আমি android:textAllCaps="false" সেট করেছি android:textAllCaps="false" আমার android.support.design.widget.TabLayout মনে হয়েছে এটি কেবল সমস্ত ক্যাপগুলিতে ট্যাব শিরোনাম দেখাচ্ছে।

আমি কীভাবে সমস্ত ক্যাপ সরিয়ে ফেলতে পারি?


14 বছর বয়সের সংস্করণগুলিতে আপনাকে সেট করতে হবে (পরেশ মায়ানী মন্তব্য করেছেন):

<style name="MyCustomTabLayout" parent="Widget.Design.TabLayout">
  <item name="tabTextAppearance">@style/MyCustomTextAppearance</item>
</style>

<style name="MyCustomTextAppearance" parent="TextAppearance.Design.Tab">
  <item name="textAllCaps">false</item>
</style>

তবে, অ্যান্ড্রয়েড সংস্করণ যদি 14 এর চেয়ে বেশি বা তার বেশি হয় তবে আপনাকে সেট করতে হবে:

<item name="android:textAllCaps">false</item>

সুতরাং, 14 এর আগে এবং তার পরে সংস্করণগুলির সাথে আপনার যদি সামঞ্জস্যতা বোধ করা হয় তবে আপনাকে এই ফোল্ডারে কনটেন্টটি সহ একটি ফোল্ডার মান-v14 এবং একটি ফাইল স্টাইল.এক্সএমএল তৈরি করতে হবে:

<?xml version="1.0" encoding="utf-8"?>
<resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools">
    <style name="MyCustomTextAppearance" parent="TextAppearance.Design.Tab">
      <item name="android:textAllCaps">false</item>
    </style>
</resources>

@ পরেশ মায়ানীর উত্তরটি সঠিক তবে আপনি কেবল ট্যাব স্টাইল তৈরি করতে পারবেন

<style name="MyCustomTextAppearance" parent="TextAppearance.Design.Tab">
  <item name="textAllCaps">false</item>
</style>

এবং ব্যবহার করে এটি ব্যবহার করুন

<android.support.design.widget.TabLayout
    app:tabTextAppearance="@style/MyCustomTextAppearance"
    .../>

আমার ক্ষেত্রে দুটি রূপ কাজ করে:

1) বোগদান (susemi99) দ্বারা:

 for (int tabIndex = 0; tabIndex <tabLayout.getTabCount() ; tabIndex++) {
        TextView tabTextView = (TextView)(((LinearLayout)((LinearLayout)tabLayout.getChildAt(0)).getChildAt(tabIndex)).getChildAt(1));
        tabTextView.setAllCaps(false);
    }

২) পরেশ মায়ানী লিখেছেন। আমি android:textAllCaps="false" রাখতে চেয়েছিলাম android:textAllCaps="false" এবং android:textSize="15sp" একসাথে, তাই তার পুরানো পদ্ধতিটি কাজ করে।

styles.xml লেখায় (উদাহরণস্বরূপ, "পিতামাতার পরিবর্তিত হতে পারে," @ অ্যান্ড্রয়েড: স্টাইল / টেক্সটএপরিয়েন্স W উইজেট.ট্যাব উইজেট "," টেক্সটঅ্যাপিয়ারেন্স.ডিজাইন.ট্যাব "):

<android.support.design.widget.TabLayout
    app:tabTextAppearance="@android:style/TextAppearance.Widget.TabWidget"
/>

বিন্যাসে এই শৈলী প্রয়োগ করুন:

<style name="TabLayout" parent="Widget.Design.TabLayout">
    <item name="tabIndicatorColor">@color/color_blue</item>
    <item name="tabSelectedTextColor">@color/color_blue</item>
    <item name="tabTextColor">@color/black</item>
    <item name="tabTextAppearance">@style/TabLayoutTextAppearance</item>
</style>

<style name="TabLayoutTextAppearance" parent="TextAppearance.Design.Tab">
    <item name="android:textSize">15sp</item>
    <item name="textAllCaps">false</item>
    <item name="android:textAllCaps">false</item>
</style>

এই বৈশিষ্ট্য app:tabTextAppearance="@android:style/TextAppearance.Widget.TabWidget" ব্যবহার app:tabTextAppearance="@android:style/TextAppearance.Widget.TabWidget" এটি কাজ করবে।

  <android.support.design.widget.TabLayout
    android:id="@+id/tablayout"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_gravity="center"
    app:tabGravity="fill"
    app:tabTextAppearance="@android:style/TextAppearance.Widget.TabWidget"
    app:tabIndicatorColor="@color/colorPrimary"
    app:tabMode="fixed"
    app:tabPaddingStart="0dp" />

নীচের পদ্ধতিটি ব্যবহার করে দেখুন এবং আপনি TabLayout সমস্ত পদ্ধতি প্রয়োগ করতে পারেন

private void setCustomTab() {

    ViewGroup vg = (ViewGroup) mTabLayout.getChildAt(0);
    int tabsCount = vg.getChildCount();
    for (int j = 0; j < tabsCount; j++) {
        ViewGroup vgTab = (ViewGroup) vg.getChildAt(j);
        int tabChildsCount = vgTab.getChildCount();
        for (int i = 0; i < tabChildsCount; i++) {
            View tabViewChild = vgTab.getChildAt(i);
            if (tabViewChild instanceof TextView) {
                ((TextView) tabViewChild).setTypeface(ResourcesCompat.getFont(this,R.font.montserrat_medium));
                ((TextView) tabViewChild).setAllCaps(false);
            }
        }
    }
}

আশা করি এটা সাহায্য করবে.


https://.com/a/34678235/1025379

<android.support.design.widget.TabLayout
    app:tabTextAppearance="@android:style/TextAppearance.Widget.TabWidget"
/>

পরিবর্তন: <item name="android:textAllCaps">false</item>

এর সাথে: <item name="textAllCaps">false</item>


যারা অন্য উত্তরগুলি কাজ করতে পারে না তাদের জন্য।

আপনার যখন একক লাইন ট্যাব পাঠ্য রয়েছে তখন একটি শৈলীর সংজ্ঞা দেওয়া ভাল কাজ করছে। আপনি যদি ট্যাবলাউটটি ঘুরে দেখেন তবে আপনি দেখতে পাবেন যে যখন ট্যাবগুলির একাধিক লাইন থাকে তখন এটি একটি ফিল্ড ডিজাইন_ট্যাব_সেক্সট_সাইজ_2 লাইন ব্যবহার করে।

এই ক্ষেত্রটিকে প্রভাবিত করার একমাত্র উপায় হ'ল এটি আপনার মাত্রা ফাইলে ওভাররাইড করা।

সুতরাং এটি আপনার মান / dimens.xML এ রাখুন

<dimen name="design_tab_text_size_2line" tools:override="true">10sp</dimen>

আশা করি এটা সাহায্য করবে.






android-tablayout