আমার বোতামের পাঠ্যটি কেন ললিপপে সমস্ত ক্যাপগুলিতে বাধ্য করা হচ্ছে?


447

আমার অ্যাপ্লিকেশন "জোয়ার এখন ডাব্লুএ" -এ যা আমি সম্প্রতি নতুন Nexus 9 ট্যাবলেট (ললিপপ - API 21) ব্যবহার করে সামঞ্জস্যের জন্য পরীক্ষা করেছি।

এটি কিছু বোতাম পাঠ্য লিখেছে। এই অ্যাপ্লিকেশনটি অ্যান্ড্রয়েড ২.৩ এবং অ্যান্ড্রয়েড using.০ ব্যবহার করে পাঠ্যটি সঠিকভাবে লিখেছেন অর্থাৎ মিশ্র মূলধন এবং লোয়ার কেস লেটার।

আমার নেক্সাস 9 এ যখন একই অ্যাপটি চালানো হয় তখন পাঠ্যের সমস্ত অক্ষর মূলধন হয়ে যায়।

FWIW আমার ম্যানিফেস্টে নিম্নলিখিত বিবৃতি রয়েছে:

uses-sdk android:minSdkVersion="10" android:targetSdkVersion="14"

আমি কি আমার কোডটিতে এটি ঠিক করতে পারি বা এটি ওএস ধন্যবাদগুলির মধ্যে একটি বাগ


আপনি কীভাবে কোনও কোড ভাগ করতে পারেন কীভাবে আপনি মূলধন এবং লোয়ার কেস চিঠিগুলি
এন শর্মা

তারা এমন <স্ট্রিং নাম = "r1s1"> সিয়াটেল </ পংক্তি> আমার strings.xml মধ্যে সংজ্ঞায়িত করা হয়
user1644002

হ্যাঁ. 21. ডান টাইপ করতে খুব তাড়াতাড়ি। দুঃখিত
user1644002

23
ধাতব (বা API 21++ সহ ডিভাইসডেফল্ট) ব্যবহার করার সময় বাটন পাঠ্যটি ডিফল্টরূপে সমস্ত ক্যাপ হয়। এটি উদ্দেশ্য হিসাবে কাজ করছে।
অ্যালানভ

উত্তর:


636

কেন ঘটছে তা আমার ধারণা নেই তবে 3 টির জন্য তুচ্ছ চেষ্টা করা হয়েছে:

  1. আপনার ব্যবহার android:textAllCaps="false"করুনlayout-v21

  2. প্রোগ্রামিয়ালি বোতামের রূপান্তর পদ্ধতি পরিবর্তন করুন। mButton.setTransformationMethod(null);

  3. অ্যালক্যাপগুলির জন্য আপনার স্টাইলটি পরীক্ষা করুন

উল্লেখ্য : public void setAllCaps(boolean allCaps), android:textAllCapsহয় প্রাপ্তিসাধ্য API সংস্করণ 14 থেকে।


# 1 কোনও পার্থক্য করেনি। কীভাবে # 3 করবেন তা নিশ্চিত নন, কোনও স্টাইল নেই? এখন চেষ্টা # 2।
ব্যবহারকারী1644002

2
হ্যাঁ, এটি যোগ করুন: বিটিএন [i]। সেট ট্রান্সফর্মেশনমঠোড (নাল); এটি ধন্যবাদ কাজ করে তোলে
user1644002

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

1
আমার জন্যও কাজ করেছেন, প্রোগ্রাম্যাটিকাল পদ্ধতিটি ব্যবহার করেছেন যেহেতু টেক্সটএলক্যাপস এক্সএমএল অ্যাটর কেবলমাত্র API> 14 সমর্থিত thanks ধন্যবাদ!
patrickjason91

3
আমি <item name="android:textAllCaps">false</item>আমার শৈলীর সংজ্ঞা ব্যবহার করেছি
কেউ কেউ কোথাও

169

আমি আমার মান / থিমস.এমএমএল এ যা করেছি তা এখানে

    <style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">
        <item name="buttonStyle">@style/MyButton</item>
    </style>

    <style name="MyButton" parent="Widget.AppCompat.Button">
        <item name="android:textAllCaps">false</item>
    </style>

8
প্রি-এপিআই স্তর 14 সমর্থনের জন্য, আপনি ব্যবহার করতে পারেন <item name="textAllCaps">false</item>
কমন্সওয়্যার

এটি কেবলমাত্র উইজেট.অ্যাপকম্প্যাট.বাটনগুলিতে প্রযোজ্য। আরও সাধারণ উত্তর নীচে আশীষ চৌগুলে দিয়েছেন, যেমন থিম-শৈলীতে সরাসরি <আইটেম নাম = "অ্যান্ড্রয়েড: টেক্সটআলক্যাপস"> মিথ্যা </item> যোগ করুন। (যদিও প্রাথমিকভাবে প্রশ্নগুলি বিশেষত বোতামগুলির জন্য জিজ্ঞাসা করা হয়েছিল, তবে আমি মনে করি যে সমস্ত ক্যাপগুলি যদি বোতামগুলির জন্য না চাওয়া হয় তবে এটি মেনু-আইটেমগুলি, ক্রিয়া ইত্যাদির জন্যও চাইত না)
ব্যবহারকারী 2808624

1
আমার পক্ষে কাজ করেনি। আমি পরিবর্তিত হয়ে কাজ buttonStyleকরতে গিয়েছিলামandroid:buttonStyle
ভ্যাসিলি কাবুনভ

2
এক্সএমএলে android:textAllCaps="false"(আমি অ্যান্ড্রয়েড স্টুডিও 3.0 ব্যবহার করছি)
মায়াসির

107

বোতামটির ট্রান্সফর্মেশনমথড, যেমন সেট করে এটি অ্যাপ্লিকেশন কোডে স্থিরযোগ্য

mButton.setTransformationMethod(null);

কোটলিনের জন্য বাক্য গঠনটি হ'ল: mButton.transformationMethod = নাল
নেটিভ_মোবাইল_আর্চ_দেব

66

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

android:textAllCaps="false"
style="@style/Base.TextAppearance.AppCompat"

মনোমুগ্ধকর মতো কাজ করেছেন তবে আমার ক্ষেত্রে আমাকে এই কাজটি করতে হয়েছিল: <শৈলীর নাম = "টেক্সটএপরিয়েন্স বাটন" প্যারেন্ট = "@ অ্যান্ড্রয়েড: স্টাইল / টেক্সটএপরিয়েন্স ater ম্যাটারিয়াল.উইজেট.বাটন"> <আইটেমের নাম = "অ্যান্ড্রয়েড: টেক্সটআলক্যাপস"> মিথ্যা < / আইটেম> </style>
Vfleitao

58

শৈলীতে এই লাইন যুক্ত করুন

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


52
আমি কেন জানি না যে তারা এই ফলটি তৈরি করেছে
গ্লেন মেইনার্ড

5
এটি ম্যাটেরিয়াল থিমে ডিফল্ট, কারণ এটি উপাদান নকশার প্রকৃতির সাথে
খাপ খায়

দরিদ্র লোকেরা উপাদান ডিজাইনের স্কোয়ার বক্সে আটকে আছে
এরিক

35

এই এক কাজ করছে .... ঠিক আপনার নীচের কোডে আপনার কোডটিতে এটি যুক্ত করুন:

android:textAllCaps="false"

এটি ক্যাপস অক্ষরটি নিষ্ক্রিয় করা উচিত যা আপনি ছোট টাইপ করার চেষ্টা করছেন।


32

ললিপপ ডিফল্টটি "টেক্সটআলক্যাপস ট্রু" নিয়ে আসে, সুতরাং আপনাকে এটি ম্যানুয়ালি মিথ্যা করতে হবে


5
এটি জানতে পেরে দুর্দান্ত। যদি এমন কোনও সাইট থাকে যা অ্যান্ড্রয়েড সংস্করণে এই সমস্ত খেলাপি মানগুলিকে তালিকাবদ্ধ করে?
আদম

23

অ্যান্ড্রয়েড যুক্ত করুন: পাঠ্যআলক্যাপস = ট্যাগটিতে এটি "মিথ্যা" <Button>


19

একটি সহজ উপায় যা সমস্ত বোতামের জন্য কাজ করে, কেবল আপনার থিমের বোতামগুলির চেহারা পরিবর্তন করুন, এটি চেষ্টা করুন:

মধ্যে মান-21 / styles.xml

<resources>
    <style name="myBaseTheme"
        parent="@android:style/Theme.Material.Light">
        <item name="android:colorPrimary">@color/bg</item>
        <item name="android:colorPrimaryDark">@color/bg_p</item>
        <item name="android:textAppearanceButton">@style/textAppearanceButton</item>
    </style>

    <style name="textAppearanceButton" parent="@android:style/TextAppearance.Material.Widget.Button">
        <item name="android:textAllCaps">false</item>
    </style>
</resources>

পিএস: এটি উপাদান নকশার নীতিগুলি অনুসরণ করার জন্য প্রস্তাবিত, আপনার বোতামগুলিতে মূলধন পাঠ্যটি দেখানো উচিত, http://www.google.com/design/spec/compferences/buttons.html


2
আমি সম্মত হই, ডিজাইনের নির্দেশিকা অনুসরণ করা দুর্দান্ত ... যতক্ষণ না বোতামের পাঠ্যটি বোতামে ফিট না হয়
কেউ কোথাও

গুগলের কেবল শৈলীর বিষয়ে কথা বলা বন্ধ করা উচিত - আমি জানতাম না যে ছোট ছোট বোতামগুলির কারণে রাস্তায় পিপিএল কাঁদছে এবং কাঁদছে!
ভরাল

11

এক্সএমএল লেআউটে android.support.v7.widget.appCompatButton ব্যবহার করা আপনাকে লেআউট -১১ থাকা বা প্রোগ্রামগতভাবে কোনও পরিবর্তন হওয়া এড়াতে দেয়। স্বাভাবিকভাবেই এটি অ্যাপকম্প্যাট ভি 7 লাইব্রেরির সাথেও কাজ করবে।

<android.support.v7.widget.AppCompatButton
    android:id="@+id/btnOpenMainDemo"
    android:textAllCaps="false"
    style="@style/HGButton"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="@string/btn_main_demo"
    android:layout_centerHorizontal="true"
    android:layout_centerVertical="true"/>

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


11

এই লাইনটি অ্যান্ড্রয়েড ব্যবহার করুন : আপনার এক্সএমএলে টেক্সটএলক্যাপস = "মিথ্যা"

<Button
            android:id="@+id/btn_login"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:text="@string/login_str"
            android:background="@color/colorBlue"
            android:textColor="@color/colorWhite"
            android:textAllCaps="false"
           />

9

অ্যান্ড্রয়েড স্টুডিও আইডিইতে আপনাকে বিশেষজ্ঞের বৈশিষ্ট্যগুলি দেখানোর জন্য ফিল্টার আইকনটি ক্লিক করতে হবে। তারপরে আপনি textAllCapsসম্পত্তিটি দেখতে পাবেন । এটি পরীক্ষা করুন, তারপরে এটি চেক করুন।


9

আপনি যোগ করতে পারে android:textAllCaps="false" বোতাম করতে পারেন।

আপনার অ্যাপ্লিকেশানের থিমটি সমস্ত বোতামের ক্ষেত্রে প্রযোজ্য বাটনটির পাঠ্যটি বড় হাতের কাছে রূপান্তরিত হতে পারে। অ্যাট্রিবিউট সেট করার জন্য থিম / স্টাইল ফাইলগুলি পরীক্ষা করে দেখুন android:textAllCaps


9

জাভা:

yourButton.setAllCaps(false);

Kotlin:

yourButton.isAllCaps = false

এক্সএমএল:

android:textAllCaps="false"

শৈলী:

    <style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">
        <item name="buttonStyle">@style/yourButtonStyle</item>
    </style>

    <style name="yourButtonStyle" parent="Widget.AppCompat.Button">
        <item name="android:textAllCaps">false</item>
    </style>

বিন্যাসে:

   <Button
      .
      .
      style="@style/yourButtonStyle"
      .
      .
   />

4

আপনি যদি এখানে পৌঁছেছেন কারণ আপনার ফেসবুক বোতামের পাঠ্যটি সমস্ত ক্যাপগুলিতে প্রদর্শিত হয় তবে কেবল এটি android:textAllCaps="false"আপনার এক্সএমএল ফাইলটিতে যুক্ত করুন। এটা আমার জন্য কাজ করেছে।


2

ঠিক আছে, এই মধ্যে দৌড়ে। ললিপপের বোতামগুলি সমস্ত বড় হাতের অক্ষর বের করে আসে এবং ফন্টটি 'স্বাভাবিক' এ পুনরায় সেট করে। তবে আমার ক্ষেত্রে (অ্যান্ড্রয়েড 5.02) এটি একটি লেআউটে সঠিকভাবে কাজ করছে, তবে অন্যটি নয় !?

পরিবর্তনশীল এপিআই কাজ করে নি।
সমস্ত ক্যাপগুলিতে সেট করতে কমপক্ষে এপিআই 14 লাগবে এবং ফন্টটি এখনও 'স্বাভাবিক' এ পুনরায় সেট হয়।

এর কারণ অ্যান্ড্রয়েড মেটেরিয়াল স্টাইলগুলি কোনও শৈলীর সংজ্ঞা না দেওয়া থাকলে শৈলীতে পরিবর্তন আনতে বাধ্য করে (এই কারণেই এটি আমার বিন্যাসের একটিতে কাজ করেছে এবং অন্যটি নয় কারণ আমি একটি শৈলীর সংজ্ঞা দিয়েছি)।

সুতরাং সহজ
সমাধানটি হ'ল প্রতিটি ক্রিয়াকলাপের জন্য ম্যানিফেস্টে একটি শৈলীর সংজ্ঞা দেওয়া যা আমার ক্ষেত্রে কেবল ছিল: অ্যান্ড্রয়েড: থিম = "@ অ্যান্ড্রয়েড: শৈলী / থিম.নো টাইটেলবার। ফুলস্ক্রিন"
(আশা করি এটি কাউকে সহায়তা করে, আমাকে কয়েকজনকে বাঁচাতে পারত ঘন্টা রাতে কয়েক ঘন্টা)


4
এটি একটি খুব খারাপ প্রচেষ্টা, কেবলমাত্র আপনার বোতামগুলির জন্য শৈলী তৈরি করুন, মান -21-এ একটিতে সমস্ত ক্যাপগুলি মিথ্যা। পুরানো থিমের কাছে ফিরে যাওয়া (এখানে একটি হলো থিম) আপনার অ্যাপ্লিকেশনটিকে অশুভ এবং ব্যবহারকারীর সাথে আরও বেমানান করে তোলে।
নীলদিকে

2

আপনি যদি ব্যবহার করেন তবে আপনি appcompat-v7সাবক্লাস করতে পারেন AppCompatButtonএবং setSupportAllCaps(false)আপনার সমস্ত বোতামের জন্য এই শ্রেণিটি ব্যবহার করুন।

/**
 * Light extension of {@link AppCompatButton} that overrides ALL CAPS transformation
 */
public class Button extends AppCompatButton {
    public Button(Context context, AttributeSet attrs) {
        super(context, attrs);
        setSupportAllCaps(false);
    }

    public Button(Context context, AttributeSet attrs, int defStyleAttr) {
        super(context, attrs, defStyleAttr);
        setSupportAllCaps(false);
    }
}

দেখুন AppCompatButton # setSupportAllCaps (বুলিয়ান) অ্যান্ড্রয়েড ডক্স।


2

ডিফল্টরূপে, অ্যান্ড্রয়েডে বোতাম সমস্ত ক্যাপ কীওয়ার্ড সরবরাহ করে। আপনি যদি বোতামের পাঠ্যটি নিম্নের ক্ষেত্রে বা মিশ্র ক্ষেত্রে চান তবে আপনি textAllCapsপতাকা ব্যবহার করে অক্ষম করতে পারেনandroid:textAllCaps="false"


0

আমি জানি না কেন @ ব্যবহারকারীর 1010160 এর উত্তর 0 রেটিং পেয়েছে আমি পর্যাপ্ত খ্যাতি থাকলে আমি এটি +1 দিয়ে দিতাম।

যেহেতু আমার অ্যাপ্লিকেশনটি 14 এরও কম এপিআই-এর জন্য ডিজাইন করা হয়েছে এবং আমি আমার প্রোগ্রামটিতে কোড যুক্ত করতে চাইনি আমি তার উত্তরটি না পড়া পর্যন্ত আমি কোনও সমাধান পাইনি। তিনি যা বলেছিলেন তা হ'ল আপনি অ্যাপ্লিকেশন শৈলীতে যা প্রয়োজন তা করেছেন যদিও এটি আপনার কার্যকলাপে কোনও শৈলী যুক্ত না করে এবং সেখানে আপনি টেক্সটএলক্যাপসটিকে মিথ্যা হিসাবে সেট না করে কাজ করবে না।

ক্রিয়াকলাপের জন্য একটি স্টাইল থাকা যথেষ্ট নয় (আমার ক্রিয়াকলাপের একটি শৈলী ছিল), কারণ শৈলীতে অলক্যাপ্সের সম্পত্তিটি ডিফল্ট হতে পারে। আপনাকে ক্রিয়াকলাপেও স্পষ্টভাবে সেট করতে হবে, সেই সম্পত্তিটিকে মিথ্যা হিসাবেও স্থাপন করতে হবে।

অ্যাপ্লিকেশন এবং ম্যানিফেস্ট ফাইলের ক্রিয়াকলাপ অংশে আমার এখন এটি রয়েছে।


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