চেকবক্সের রঙ কীভাবে পরিবর্তন করবেন?


247

CheckBoxঅ্যান্ড্রয়েডে আমি কীভাবে ডিফল্ট রঙ পরিবর্তন করব ?
ডিফল্টরূপে CheckBoxরঙ সবুজ, এবং আমি এই রঙটি পরিবর্তন করতে চাই।
যদি এটি সম্ভব না হয় তবে দয়া করে কীভাবে একটি কাস্টম করবেন তা বলুনCheckBox ?


1
আপনি কি ফন্টের রঙ পরিবর্তন করার চেষ্টা করছেন? নাকি আসল বাক্সের রঙ?

1
আসল বাক্সের রঙ আমি
পিয়ুশ

72
সেটটি করা android:buttonTint="@color/mybrown"বাক্সের রঙ পরিবর্তন করার একটি সহজ উপায়।
শাওভিক

6
@ শাভিক এটি কেবল উপাদান নকশায় কাজ করছে :)
মুচাহিত

9
@ শাওভিক app:buttonTint="@color/mybrown"পরিবর্তে এটি ব্যবহার করা আরও ভাল , এইভাবে এটি API <21
নিকোটোটে 6:58

উত্তর:


187

যদি আপনার minSdkVersion21+ হয় android:buttonTintতবে একটি চেকবক্সের রঙ আপডেট করতে অ্যাট্রিবিউটটি ব্যবহার করুন:

<CheckBox
  ...
  android:buttonTint="@color/tint_color" />

যে প্রকল্পগুলিতে অ্যাপকম্প্যাট লাইব্রেরি ব্যবহার করে এবং ২১ এর নীচে অ্যান্ড্রয়েড সংস্করণগুলি সমর্থন করে আপনি buttonTintবৈশিষ্ট্যের একটি কম্প্যাট সংস্করণ ব্যবহার করতে পারেন :

<CheckBox
  ...
  app:buttonTint="@color/tint_color" />

এই ক্ষেত্রে আপনি যদি সাবক্লাস করতে চান তবে এর পরিবর্তে CheckBoxব্যবহার করতে ভুলবেন না AppCompatCheckBox

পূর্ববর্তী উত্তর:

আপনি গুণাবলী CheckBoxব্যবহার করে গুলি এর পরিবর্তনযোগ্য পরিবর্তন করতে পারেন android:button="@drawable/your_check_drawable"


7
আপনাকে নিজের ছবি আঁকতে হবে। আরও সরল-এগিয়ে যাওয়ার উপায় আছে ...
ইগোরগানাপলস্কি

14
বোতামটিন্টের রঙ পরিবর্তন করা আরও সহজ সরল পথ is অকারণে কাস্টমাইজ করার পরিবর্তে আমাদের দেশীয় উপাদানগুলি ব্যবহার করতে হবে।
নীলা

3
নোট: মেটারিয়াল ডিজাইন স্টাইলিং জন্য আছে contentControl: বিকল্প এখন materialdoc.com/components/selection-controls
SimpsOff

392

আপনি এক্সএমএলে সরাসরি রঙ পরিবর্তন করতে পারেন। buttonTintবাক্সের জন্য ব্যবহার করুন : (এপিআই স্তরের 23 হিসাবে)

<CheckBox
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:buttonTint="@color/CHECK_COLOR" />

আপনি appCompatCheckbox v7পুরানো এপিআই স্তরের জন্য এটি ব্যবহার করতে পারেন :

<android.support.v7.widget.AppCompatCheckBox 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    app:buttonTint="@color/COLOR_HERE" /> 

5
AppCompatCheckBox ... ধন্যবাদ। আমি এটা জানতাম না।
মস্কিস

8
সুন্দর ধন্যবাদ! এবং এক্সএমএলএনস যুক্ত করতে ভুলবেন না : অ্যাপ্লিকেশন = " স্কিমাস.অ্যান্ড্রয়েড.com/apk/res-auto আপনার মূল / প্যারেন্ট লেআউটে / / "
আলবার্তো মান্দেজ

2
'Android.support.v7.widget.appCompatCheckBox'
Zvi

1
আপনি যখন নিজের বিন্যাসে চেকবক্স ব্যবহার করেন এটি স্বয়ংক্রিয়ভাবে ব্যবহৃত হবে। কাস্টম ভিউগুলি লেখার সময় আপনার কেবল এই ক্লাসটি ম্যানুয়ালি ব্যবহার করা উচিত।
최봉재

2
চেক করা এবং চেক না করা রাষ্ট্রগুলির জন্য 2 টি আলাদা রঙ সেট করার বিষয়ে কীভাবে?
ডিওয়াইএস

130

আপনার স্টাইলগুলিতে আপনি যে রঙ চান তা পেতে আপনি চেকবক্সের অ্যান্ড্রয়েড থিম সেট করতে পারেন x xML যোগ করুন:

<style name="checkBoxStyle" parent="Base.Theme.AppCompat">
    <item name="colorAccent">CHECKEDHIGHLIGHTCOLOR</item>
    <item name="android:textColorSecondary">UNCHECKEDCOLOR</item>
</style>

তারপরে আপনার লেআউট ফাইলটিতে:

<CheckBox
     android:theme="@style/checkBoxStyle"
     android:id="@+id/chooseItemCheckBox"
     android:layout_width="wrap_content"
     android:layout_height="wrap_content"/>

ব্যবহারের মতো নয় android:buttonTint="@color/CHECK_COLOR"এই পদ্ধতিটি অপি 23 এর অধীনে কাজ


5
TEXTCOLORSECONDARY !!!! আপনি মানুষ ধন্যবাদ! এটাই. আমি অনির্বাচিত পটভূমির রঙ পরিবর্তন করতে যুগে যুগে অনুসন্ধান করেছি এবং কাস্টম আঁকতে সক্ষমদের সাথে কাজ করতে চাই না। এই হল!
মুলগার্ড

@ মালগার্ড খুশি আমি সাহায্য করতে পারি!
আম্রো ইলাশ্বরে

2
আমার জন্য কাজ করেছেন, তবে পাঠ্যটি দেখতে সক্ষম হতে চেকবক্স এক্সএমএল যোগ করার দরকার ছিল - অ্যান্ড্রয়েড: পাঠ্য রঙ = "@ রঙ / পাঠ্য রঙ"
জেভি

আমি এটি প্রোগ্রামগতভাবে কীভাবে করব?
জেভি

@ জেভিআই আমি নিশ্চিত না আপনি প্রোগ্রাটিকভাবে এটি করতে পারবেন
আম্রো ইলাশ্বর

48

প্রোগ্রাম্যাটিক সংস্করণ:

int states[][] = {{android.R.attr.state_checked}, {}};
int colors[] = {color_for_state_checked, color_for_state_normal}
CompoundButtonCompat.setButtonTintList(checkbox, new ColorStateList(states, colors));

1
আপনাকে ধন্যবাদ. আপনি শিলা, ভাল সমাধান।
কার্লোস

এটি রঙের সাথে আমাকে অপ্রত্যাশিত ফলাফল দিয়েছে, আপনি কি নিশ্চিত যে আপনি কিছু বিভ্রান্ত করেননি?
কিরিল কারমাজিন

@ কার্লোস এটি একটি "আরও ভাল" সমাধান নয়, কারণ অ্যান্ড্রয়েডে আপনার সর্বদা এক্সএমএল ফাইলে সমস্ত লেআউট স্টাফ সেট করার চেষ্টা করা উচিত এবং আপনাকে যখন এটিকে পরিবর্তনশীলভাবে পরিবর্তন করার প্রয়োজন হয় তখন ব্যতীত
kayay

@ কেয়া "সর্বদা" নয় ... অ্যান্ড্রয়েড রিসোর্স সিস্টেম একটি জগাখিচুড়ি এবং প্রায়শই প্রোগ্রামিকভাবে এটি করা অনেক সহজ এবং আরও রক্ষণাবেক্ষণযোগ্য।
nyholku

এটি ধরণের উদ্বেগকে পৃথক করতে সহায়তা করে
কেয়ায়

42

buttonTint21+ এপিআই সংস্করণের উপরের জন্য বোতামের রঙ এবং রঙ নির্বাচক পরিবর্তন করতে ব্যবহার করুন ।

<android.support.v7.widget.AppCompatCheckBox
                android:id="@+id/check"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                app:buttonTint="@color/checkbox_filter_tint"
                tools:targetApi="21"/>

মাঝামাঝি / রং / checkbox_filter_tint.xml

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:color="@color/light_gray_checkbox"
          android:state_checked="false"/>
    <item android:color="@color/common_red"
          android:state_checked="true"/>
</selector>

3
আপনি কি ইংরেজী বলতে পারেন এবং আপনার উত্তর প্লিজটি ব্যাখ্যা করতে পারেন
GGO

সর্বদা এসও তে ইংরাজির সাথে লেগে থাকুন।
এএম

এটি আরও উত্তম উত্তর
বিবেক এ নায়েক

এটি সমস্ত ডিভাইসগুলিতে কাজ করে এমন চেক এবং চেক না করা উভয় রঙ সেট করার একমাত্র সহজ পদ্ধতির বলে মনে হচ্ছে।
গম্বি দ্য গ্রিন

এটি গ্রহণযোগ্য উত্তর হওয়া উচিত। যদিও এটি লক্ষ করা উচিত যে নির্বাচক যখন একটি valuesউত্স হিসাবে ঘোষণা করা হয় তখন এটি কাজ করে না। উপরে প্রদর্শিত পথ দ্বারা নির্দেশিত হিসাবে, এটি colorsউত্স ফোল্ডারের অভ্যন্তরে থাকতে হবে ।
বেনিয়ামিন বাসমাকি

18

আমি বিল্ট-ইন অ্যান্ড্রয়েড ভিউগুলি কনফিগার করার উপায় হিসাবে, আপনার প্রকল্পে নতুন স্টাইল যুক্ত করার পদ্ধতি হিসাবে অ্যান্ড্রয়েডে তিনি স্টাইল পদ্ধতির ব্যবহার করার পরামর্শ দেব

<style name="yourStyle" parent="Base.Theme.AppCompat">
    <item name="colorAccent">your_color</item> <!-- for uncheck state -->
    <item name="android:textColorSecondary">your color</item> <!-- for check state -->
</style>

এবং চেকবাক্সের থিমটিতে এই শৈলীটি নির্ধারণ করুন: অ্যান্ড্রয়েড: থিম = "@ শৈলী / আপনি স্টাইল"

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


এই সমাধানের সাথে একমত, এই বৈশিষ্ট্যগুলি আপভোট্ট উত্তরের মতো অঙ্কনযোগ্যকে ঝামেলা ছাড়াই ডিফল্ট বিল্ট-ইন অ্যান্ড্রয়েড উপাদানটির সাথে আরও ভালভাবে কাজ করা উচিত।
ট্রুং লে

1
এটি 9 মাস আগে থেকেই আম্রো ইলাশ্বরের উত্তরের পুনরাবৃত্তি।
jk7

এটি এমন এক ধরণের সমাধান যা একটি বাস্তব সমাধান।
ইহরব আল আসিমি

16

আপনার এক্সএমএলে বোতামটিঙ্ক যুক্ত করুন

<CheckBox
      android:id="@+id/chk_remember_signup"
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:buttonTint="@android:color/white"
      android:text="@string/hint_chk_remember_me" />

2
এই উত্তরের বিষয়বস্তু ইতিমধ্যে আফথম্যানের উত্তরে বিদ্যমান ।
এমটিসিওস্টার

10

আপনার styles.xmlফাইলে এই লাইনটি যুক্ত করুন:

<style>
    <item name="android:colorAccent">@android:color/holo_green_dark</item>
</style>

দয়া করে আপনার উত্তরটি আপনার উদাহরণের সাথে সম্পাদনা করুন এবং এটি একটি মন্তব্য হিসাবে পোস্ট করবেন না
বিশ

4
সামান্য সংশোধন: এটি <আইটেমের নাম = " অ্যান্ড্রয়েড : colorAccent> </item> Also এছাড়াও, এটি কেবল 21 ও
ততোধিক

এটি রঙকে পরিবর্তন করে, এটি যা চাওয়া হয়েছিল তা নয়
আলবার্তো এম

1
গ্যালাক্সি এস 3 এ এটি কেবলমাত্র চেকবক্সের চেকডের অবস্থার পরিবর্তন করে। তবে চেক না করা অবস্থা এখনও একই।
স্লভা

9

বাটনটিন্ট আমার চেষ্টা করে কাজ করেছে

অ্যান্ড্রয়েড buttonTint = "@ রং / সাদা"

<CheckBox
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_centerHorizontal="true"
    android:id="@+id/agreeCheckBox"
    android:text="@string/i_agree_to_terms_s"
    android:buttonTint="@color/white"
    android:layout_below="@+id/avoid_spam_text"/>

8

আমি একই সমস্যার মুখোমুখি হয়েছি, আমি নীচে টেকনিক ব্যবহার করে একটি সমাধান পেয়েছি। আপনার প্রকল্পের অঙ্কনযোগ্য ফোল্ডারে btn_check.xmlথেকে অনুলিপি করুন android-sdk/platforms/android-#(version)/data/res/drawableএবং 'অন' এবং 'অফ' চিত্রটি আপনার কাস্টম চিত্রগুলিতে পরিবর্তন করুন।
তারপরে আপনার এক্সএমএল প্রয়োজন হবেandroid:button="@drawable/btn_check"

<CheckBox
    android:button="@drawable/btn_check"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:checked="true" />

আপনি যদি বিভিন্ন ডিফল্ট অ্যান্ড্রয়েড আইকন ব্যবহার করতে চান তবে আপনি ব্যবহার করতে পারেন:

android:button="@android:drawable/..."

দুর্দান্ত উত্তর - কাস্টম এক্সএমএল তৈরি করার চেয়ে অনেক সহজ .. ধন্যবাদ! আমার জন্য, আমার ধূসর পটভূমি রয়েছে এবং চেকবক্সের সীমানা দৃশ্যমান ছিল না। আমি এটি যুক্ত করেছি এবং আপনি এখন এটি দেখতে পাচ্ছেন: অ্যান্ড্রয়েড: বাটন = "@ অ্যান্ড্রয়েড: ড্রয়যোগ্য / চেকবক্স_অফ_ব্যাকগ্রাউন্ড"
জেন বো বো

1
এই পদ্ধতির ব্যবহারটি আমি বুঝতে পারার চেয়ে আরও কিছুটা আসলে আছে .. তবে এখনও একটি দুর্দান্ত বিকল্প। আমি নীচে স্ট্যাকওভারফ্লো.com
জেন বো বো

5

আপনি checkboxকোডের লাইন লাইন ব্যবহার করে রঙ পরিবর্তন করতে পারেন

android:buttonTint="@color/app_color" //whatever color


4

100% শক্তিশালী পদ্ধতির।

আমার ক্ষেত্রে, আমার এক্সএমএল লেআউট উত্স ফাইলে অ্যাক্সেস ছিল না, যেহেতু আমি 3-ডি পার্টি মেটেরিয়াল ডায়ালগ লাইব থেকে চেকবক্স পেয়েছি। সুতরাং আমি এই প্রোগ্রামটিমেটিকভাবে সমাধান করতে হবে।

  1. এক্সএমএলে একটি কালারস্টেটলিস্ট তৈরি করুন:

পুনরায় / রঙ / চেকবক্স_টিনিট_ডार्क_থমে.এক্সএমএল:

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:color="@color/white"
        android:state_checked="false"/>
    <item android:color="@color/positiveButtonBg"
        android:state_checked="true"/>
</selector>
  1. তারপরে এটি চেকবক্সে প্রয়োগ করুন:

    ColorStateList darkStateList = ContextCompat.getColorStateList(getContext(), R.color.checkbox_tint_dark_theme);
    CompoundButtonCompat.setButtonTintList(checkbox, darkStateList);

পিএস ছাড়াও যদি কেউ আগ্রহী হন তবে এখানে আপনি কীভাবে ম্যাটেরিয়ালডায়ালগ ডায়ালগ থেকে চেকবক্স পেতে পারেন (যদি আপনি এটি সেট করে থাকেন .checkBoxPromptRes(...)):

CheckBox checkbox = (CheckBox) dialog.getView().findViewById(R.id.md_promptCheckbox);

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


3

এর Drawable resource fileঅধীনে একটি এক্সএমএল তৈরি করুন res->drawableএবং নাম দিন, উদাহরণস্বরূপ,checkbox_custom_01.xml

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item 
   android:state_checked="true"   
   android:drawable="@drawable/checkbox_custom_01_checked_white_green_32" />
  <item 
   android:state_checked="false" 
   android:drawable="@drawable/checkbox_custom_01_unchecked_gray_32" />
</selector>

আপনার res->drawableফোল্ডারে আপনার কাস্টম চেকবক্স চিত্র ফাইলগুলি (আমি পিএনজি সুপারিশ করব) আপলোড করুন ।

তারপরে আপনার লেআউট ফাইলে যান এবং আপনার চেকবক্সটি এতে পরিবর্তন করুন

<CheckBox
    android:id="@+id/checkBox1"
    android:button="@drawable/checkbox_custom_01"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentLeft="true"
    android:focusable="false"
    android:focusableInTouchMode="false"
    android:text="CheckBox"
    android:textSize="32dip"/>

আপনি যতক্ষণ android:buttonনা আগে সঠিক XML ফাইলের দিকে নির্দেশ করেন ততক্ষণ আপনি যে কোনও কিছু কাস্টমাইজ করতে পারেন ।

নতুনদের জন্য নোট: এটি বাধ্যতামূলক না হলেও তবুও আপনার পুরো লেআউট ট্রিতে আপনার চেকবক্সটির একটি অনন্য আইডি দিয়ে নামকরণ করা ভাল অভ্যাস।


3

হাই এটি ডার্ক থিম এবং হালকা থিম উভয়ের জন্য থিম কোড।

<attr name="buttonsearch_picture" format="reference"/>
<attr name="buttonrefresh_picture" format="reference"/>

<style name="Theme.Light" parent="Theme.AppCompat.Light.NoActionBar">
    <item name="android:windowNoTitle">true</item>
    <item name="android:windowBackground">@color/white</item>
    <item name="android:windowActionBar">false</item>
    <item name="android:textColorPrimary">@color/black</item>
    <item name="android:textColorSecondary">@color/black</item>
    <item name="android:textColor">@color/material_gray_800</item>
    <item name="actionOverflowButtonStyle">@style/LightOverflowButtonStyle</item>
    <item name="buttonsearch_picture">@drawable/ic_search_black</item>
    <item name="buttonrefresh_picture">@drawable/ic_refresh_black</item>
</style>

<style name="Theme.Dark" parent="Theme.AppCompat.NoActionBar">
    <item name="android:windowNoTitle">true</item>
    <item name="android:windowBackground">@color/white</item>
    <item name="android:windowActionBar">false</item>
    <item name="android:textColorPrimary">@color/white</item>
    <item name="android:textColorSecondary">@color/material_gray_500</item>
    <item name="android:textColor">@color/material_gray_800</item>
    <item name="actionOverflowButtonStyle">@style/DarkOverflowButtonStyle</item>
    <item name="buttonsearch_picture">@drawable/ic_search_white</item>
    <item name="buttonrefresh_picture">@drawable/ic_refresh_white</item>
    <item name="android:colorBackground">#ffffff</item>
    <item name="android:alertDialogTheme">@style/LightDialogTheme</item>
    <item name="android:alertDialogStyle">@style/LightDialogTheme</item>
  <!-- <item name="android:textViewStyle">@style/AppTheme.Widget.TextView</item>-->
    <item name="android:popupMenuStyle">@style/PopupMenu</item>
</style>

আপনি যদি চেকবাক্সের রঙ পরিবর্তন করতে চান তবে "কালারঅ্যাকসেন্ট" বৈশিষ্ট্যটি চেক করা রাষ্ট্রের জন্য ব্যবহার করবে এবং "অ্যান্ড্রয়েড: টেক্সট কালারসেকেন্ডারি" আনচেকিং অবস্থায় ব্যবহার করবে।

অ্যাকশন বারে ওভারফ্লো আইকনের রঙ পরিবর্তনের জন্য "অ্যাকশন ওভারফ্লোবটন স্টাইল" ব্যবহার করবে।

"বাটনসার্ক_পিকচার" বৈশিষ্ট্যটি অ্যাকশন বারে অ্যাকশন বোতামের রঙিন রঙের জন্য ব্যবহার করবে style

<attr name="buttonsearch_picture" format="reference"/>

একই হ'ল রিফ্রেশ বোতামের জন্য যা আমি আমার অ্যাপ্লিকেশনটিতে ব্যবহার করছি।

"অ্যান্ড্রয়েড: পপআপমেনু স্টাইল" বৈশিষ্ট্যটি ডার্ক থিমের হালকা থিমের পপআপ মেনু স্টাইলটি পেতে ব্যবহার করছে।

<style name="PopupMenu" parent="Theme.AppCompat.Light.NoActionBar">
</style>

এবং এটি আমার বার্কস প্লেয়ার অ্যাপ্লিকেশনে আমি ব্যবহার করছি এমন সরঞ্জামদণ্ডের কোড।

 <android.support.v7.widget.Toolbar
    android:id="@+id/toolbar"
    app:contentInsetStart="0dp"
    android:title="Rocks Player"
    android:layout_width="match_parent"
    android:elevation="4dp"
    android:layout_height="48dp"
    app:layout_scrollFlags="scroll|enterAlways"
    android:minHeight="48dp"
    app:titleTextAppearance="@style/Toolbar.TitleText"
    app:popupTheme="@style/ThemeOverlay.AppCompat.Light"
    android:background="?attr/colorPrimary"
    >
</android.support.v7.widget.Toolbar>

থিমস: -

 <style name="AppTheme0" parent="Theme.Light">
    <item name="colorPrimary">#ffffff</item>
    <item name="colorPrimaryDark">#cccccc</item>
    <item name="colorAccent">#0294ff</item>
</style>

<style name="AppTheme1" parent="Theme.Dark">
    <item name="colorPrimary">#4161b2</item>
    <item name="colorPrimaryDark">#4161b2</item>
    <item name="colorAccent">#4161b2</item>
</style>

2

আপনি অঙ্কনযোগ্যতে আপনার নিজস্ব এক্সএমএল তৈরি করতে পারেন এবং এটিকে অ্যান্ড্রয়েড হিসাবে ব্যবহার করতে পারেন: ব্যাকগ্রাউন্ড = "@ অঙ্কনযোগ্য / আপনার_এক্সএমএল"

এতে আপনি সীমানা কোণে সবকিছু দিতে পারেন

<item>
    <shape>
        <gradient

            android:endColor="#fff"
            android:startColor="#fff"/>
        <corners
            android:radius="2dp"/>
        <stroke
            android:width="15dp"
            android:color="#0013669e"/>

    </shape>
</item>


1
যদিও আঁকাযোগ্য ভেক্টর গ্রাফিক্স সম্পর্কে জানতে পেরে খুব আনন্দিত এই উত্তরটি বোতামের আভা সম্পর্কে ওপি-র প্রশ্নের উত্তর দেয় না।
মাইক পুলি

2

আপনি "color.xML" এ নিম্নলিখিত দুটি বৈশিষ্ট্য ব্যবহার করতে পারেন

<color name="colorControlNormal">#eeeeee</color>
<color name="colorControlActivated">#eeeeee</color>

colorControlNormal চেকবাক্সের সাধারণ দৃশ্যের জন্য, এবং চেকবক্সটি যখন চেক করা হয় তখন কালার কন্ট্রোল অ্যাক্টিভেটেড।


1

আপনি <CheckBox>এটির মধ্যে এম্বেড করে পটভূমির রঙ পরিবর্তন করতে পারেন <LinearLayout>। তারপরে আপনার পছন্দসই রঙের পটভূমির রঙ পরিবর্তন করুন <LinearLayout>


প্রশ্নটি চেকবাক্সের রঙ সম্পর্কে এবং পটভূমিটি সম্পর্কে নয়
Zvi

1

আপনার কোড নীচে চেষ্টা করা উচিত। এটা আমার জন্য কাজ করছে।

<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:drawable="@drawable/checked" 
          android:state_checked="true">
        <color android:color="@color/yello" />
    </item>
    <!-- checked -->
    <item android:drawable="@drawable/unchecked" 
          android:state_checked="false">
        <color android:color="@color/black"></color>
    </item>
    <!-- unchecked -->
    <item android:drawable="@drawable/checked" 
          android:state_focused="true">
        <color android:color="@color/yello"></color>
    </item>
    <!-- on focus -->
    <item android:drawable="@drawable/unchecked">
        <color android:color="@color/black"></color>
    </item>
    <!-- default -->
</selector>

এবং চেকবক্স

<CheckBox
    Button="@style/currentcy_check_box_style"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:paddingLeft="20dp"
    android:text="@string/step_one_currency_aud" />

1

যদি আপনি উপরে বর্ণিত হিসাবে অ্যান্ড্রয়েড আইকন ব্যবহার করতে যাচ্ছেন ..

android:button="@android:drawable/..."

.. এটি একটি দুর্দান্ত বিকল্প, তবে এটি কাজ করার জন্য - আমি দেখতে পেয়েছি যে চেক চিহ্নটি দেখানোর / আড়াল করার জন্য আপনাকে টগল যুক্তি যুক্ত করতে হবে, যেমন:

    checkBoxShowPwd.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {

        // checkbox status is changed from uncheck to checked.
        public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {

            int btnDrawable = android.R.drawable.checkbox_off_background;

            if (isChecked)
            {
                btnDrawable = android.R.drawable.checkbox_on_background;
            }

            checkBoxShowPwd.setButtonDrawable(btnDrawable);

        }
    });

ঠিক আছে, এটি অতিরিক্ত কাজ যা সত্যই প্রয়োজন হয় না। অঙ্কনযোগ্য এর এক্সএমএল ফাইলে আপনি নির্বাচকের জন্য অঙ্কনযোগ্য উত্সের বা বন্ধ রেফারেন্স সরবরাহ করে। এটি স্বয়ংক্রিয়ভাবে চেকবক্সের রাজ্য অনুযায়ী সঠিক অঙ্কনযোগ্য রাখে।
jkincali

0

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

Kotlin:

val colorFilter = PorterDuffColorFilter(Color.CYAN, PorterDuff.Mode.SRC_ATOP)
CompoundButtonCompat.getButtonDrawable(checkBox)?.colorFilter = colorFilter

জাভা:

ColorFilter colorFilter = new PorterDuffColorFilter(Color.CYAN, PorterDuff.Mode.SRC_ATOP);
Drawable drawable = CompoundButtonCompat.getButtonDrawable(checkBox);
if (drawable != null) {
    drawable.setColorFilter(colorFilter);
}

-1

প্রোগ্রামিয়ালি রঙ সেট করার অনেক সহজ উপায় আছে। নীচের পদ্ধতিটি ব্যবহার করুন, চেকবক্স.সেটবটনটিন্টলিস্ট (কালারস্টেটলিস্ট.ভ্যালুওফ (getContext ()


-2

আপনার জাভা কোডটিতে চেকবাক্সের পটভূমি গতিশীলভাবে পরিবর্তন করতে আপনি নীচের কোডের লাইনগুলি ব্যবহার করতে পারেন।

//Setting up background color on checkbox.
 checkbox.setBackgroundColor(Color.parseColor("#00e2a5"));

এই উত্তরটি ছিল এই সাইট থেকে । আপনি এই সাইটটি আপনার আরজিবি রঙকে হেক্স মানে রূপান্তর করতেও ব্যবহার করতে পারেন , আপনাকে পার্সকলার রঙ খাওয়াতে হবে

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