অ্যান্ড্রয়েড ফ্লোটিং অ্যাকশন বোতামের রঙ পরিবর্তন করছে


531

আমি মেটেরিয়ালের ফ্লোটিং অ্যাকশন বোতামের রঙ পরিবর্তন করার চেষ্টা করছি, তবে সাফল্য না পেয়ে।

<android.support.design.widget.FloatingActionButton
    android:id="@+id/profile_edit_fab"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_gravity="end|bottom"
    android:layout_margin="16dp"
    android:clickable="true"
    android:src="@drawable/ic_mode_edit_white_24dp" />

আমি যোগ করার চেষ্টা করেছি:

android:background="@color/mycolor"

বা কোডের মাধ্যমে:

FloatingActionButton fab = (FloatingActionButton) rootView.findViewById(R.id.profile_edit_fab);
fab.setBackgroundColor(Color.parseColor("#mycolor"));

অথবা

fab.setBackgroundDrawable(new ColorDrawable(Color.parseColor("#mycolor")));

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

পিএস রিপল ইফেক্ট কীভাবে যুক্ত করবেন তা জেনেও ভাল লাগবে, তাও বুঝতে পারছিলেন না।



প্রি-ললিপপ ডিভাইসে রিপল ইফেক্ট পাওয়া যায় না কারণ এটি একটি নতুন রেন্ডারথ্রেড ব্যবহার করে ।
tachyonflux

@ ক্যারাকওও ঠিক আছে তবে আমি কীভাবে এটি করছি?
Jjang

27
Google এই জিনিষ accesible করতে আমার মতে একটি বাস্তব খারাপ পেশা আছে
Joop

এই প্রোগ্রামটিমেটিক্যালি এবং পিছনের দিকে সামঞ্জস্যপূর্ণ করতে, দেখুন স্ট্যাকওভারফ্লো.com
রাল্ফ পিনা

উত্তর:


1049

ডকুমেন্টেশনে বর্ণিত হিসাবে , ডিফল্টরূপে এটি স্টাইলস.এক্সএমএল বৈশিষ্ট্য রঙঅ্যাকসেন্টে রঙ সেট নেয় ।

এই দৃশ্যের পটভূমির রঙটি আপনার থিমের রঙআসেন্টের ডিফল্ট। আপনি যদি রানটাইমে এটিকে পরিবর্তন করতে চান তবে আপনি সেটব্যাকগ্রাউন্ডটিন্টলিস্ট (কালারস্টেটলিস্ট) এর মাধ্যমে এটি করতে পারেন।

আপনি যদি রঙ পরিবর্তন করতে চান

  • এক্সটিএমএল এ্যাট্রিবিউট অ্যাপ্লিকেশন সহ: ব্যাকগ্রাউন্ডটাইন্ট
<android.support.design.widget.FloatingActionButton
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:src="@drawable/ic_add"
    app:backgroundTint="@color/orange"
    app:borderWidth="0dp"
    app:elevation="6dp"
    app:fabSize="normal" >
  • .setBackgroundTintList সহ কোডে ( ywwynm দ্বারা নীচে উত্তর )

@ দন্তালিয়ান মন্তব্যে উল্লিখিত হিসাবে, আপনি যদি ডিজাইন সমর্থন লাইব্রেরির আইকন রঙটি ভি 22 (সমেত) পর্যন্ত পরিবর্তন করতে চান তবে আপনি ব্যবহার করতে পারেন

android:tint="@color/white"     

V23 এর জন্য ডিজাইন সাপোর্ট লাইব্রেরির জন্য আপনি ব্যবহার করতে পারেন:

app:tint="@color/white"   

androidXগ্রন্থাগারগুলির সাথে আপনার আপনার এক্সএমএল লেআউটে 0 ডিপি সীমানা নির্ধারণ করতে হবে:

<com.google.android.material.floatingactionbutton.FloatingActionButton
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:src="@drawable/ic_add"
    app:backgroundTint="@color/orange"
    app:borderWidth="0dp"
    app:elevation="6dp"
    app:fabSize="normal" />

24
<API 12 ডিভাইসের জন্য এটি ডিজাইন সহায়তা লাইব্রেরি v23 এ কাজ করে না। এটি ভি 22 এ কাজ করছিল, সুতরাং তারা কিছুটা ভেঙে দিয়েছে, স্পষ্টতই।
ক্ষুধার্তি

4
মনে রাখবেন যে আপনি যদি ইমেজের রঙও সাদা করতে চান উদাহরণস্বরূপ আপনি ব্যবহার করতে পারেন: অ্যান্ড্রয়েড: টিন্ট = "@ অ্যান্ড্রয়েড: রঙ / সাদা"
ড্যান্টালিয়ান

1
অ্যান্ড্রয়েড: টিন্ট = "@ রঙ / সাদা" আমার পক্ষে কাজ করে নি কারণ এটি কোনও কারণে এটি সমাধান করতে পারেনি। অ্যান্ড্রয়েড: টিন্ট = "#
এফএফএফএফএফ

2
এটি কারণ যে আপনার রং.এক্সএমএলে @ রঙ / সাদা উপস্থিত নেই। @ অ্যান্ড্রয়েড ব্যবহার করুন: রঙ / সাদা বা সাদা রঙের রঙ তৈরি করুন বা যা আপনার প্রয়োজন
দন্তালিয়ান

227
"অ্যাপ: ব্যাকগ্রাউন্ডসিন্ট" না "অ্যান্ড্রয়েড: ব্যাকগ্রাউন্ডটাইন্ট"
ভাসিল ভালচেভ

244

বিজেত বদিগনাভরের উত্তর সঠিক তবে ব্যবহারটি ColorStateListসাধারণত জটিল এবং এটি কীভাবে করবেন তা তিনি আমাদের জানাননি। যেহেতু আমরা প্রায়শই Viewসাধারণ এবং চাপযুক্ত অবস্থায় রঙের রঙ পরিবর্তন করার দিকে মনোনিবেশ করি তাই আমি আরও বিশদ যুক্ত করতে যাচ্ছি:

  1. আপনি যদি FABস্বাভাবিক অবস্থায় রঙ পরিবর্তন করতে চান তবে আপনি কেবল লিখতে পারেন

    mFab.setBackgroundTintList(ColorStateList.valueOf(your color in int));
  2. আপনি যদি FABচাপযুক্ত অবস্থায় রঙের রঙটি পরিবর্তন করতে চান তবে ডিজাইন সমর্থন লাইব্রেরি 22.2.1 এর জন্য ধন্যবাদ , আপনি কেবল লিখতে পারেন

    mFab.setRippleColor(your color in int);

    এই অ্যাট্রিবিউটটি সেট করে, আপনি যখন দীর্ঘক্ষণ FABটিপেন, আপনার রঙের সাথে একটি রিপল আপনার টাচ পয়েন্টে উপস্থিত হবে এবং এর পুরো পৃষ্ঠে প্রকাশিত হবে FAB। দয়া করে লক্ষ্য করুন যে এটি FABস্বাভাবিক অবস্থায় রঙের পরিবর্তন করবে না । এপিআই 21 এর নীচে (ললিপপ) কোনও লম্বাল প্রভাব নেই তবে FABআপনি এটি টিপলে এর রঙটি এখনও বদলে যাবে।

অবশেষে, আপনি যদি রাজ্যগুলির জন্য আরও জটিল প্রভাব প্রয়োগ করতে চান, তবে আপনার গভীরভাবে খনন করা উচিত ColorStateList, এখানে এটি নিয়ে একটি এসও প্রশ্ন রয়েছে: আমি কীভাবে প্রোগ্রামারেটিকভাবে কালারস্টেটলিস্ট তৈরি করব?

আপডেট: @ ক্যাটলিনের মন্তব্যের জন্য ধন্যবাদ। এফএবির স্ট্রোকটি ব্যাকগ্রাউন্ড টিন্টটিকে এর রঙ হিসাবে ব্যবহার করে অপসারণ করতে app:borderWidth="0dp"আপনি আপনার এক্সএমএল সেট করতে পারেন ।


3
এর জন্য ধন্যবাদ, আমি কীভাবে কালারস্টেটলিস্ট ব্যবহার করব তা জানতাম না। যাইহোক, আপনার কোড থিম অ্যাকসেন্ট রঙের একটি স্ট্রোক (আউটলাইন) দিয়ে আমার এফএবি ছেড়ে দেয়। আপনার কী ধারণা আছে যে আমি কীভাবে সেই স্ট্রোকটি মুছে ফেলতে পারি (বা পরিবর্তে এটির রঙ পরিবর্তন করতে পারি) এবং একটি বিশেষ রঙের এমন একটি এফএবি আছে যা দেখতে বিশেষ রঙটিকে অ্যাকসেন্ট রঙ বলে মনে হয়?
ক্যাটলিন হানরাহান

@ কেইটলিনহানরাহান দয়া করে আমার আপডেটটি দেখুন। আপনার মন্তব্যের জন্য ধন্যবাদ.
ywwynm

এটি নিখুঁতভাবে কাজ করে - ললিপপ এবং কিটকাট দেখতে একই রকম, এমনকি উভয়েরই সামান্য শেড থাকে যাতে এফএবি একই পটভূমিতে একই রঙের তুলনায় পপ হয় (আমার এটি আংশিকভাবে টুলবারের উপরে রয়েছে)। অনেক ধন্যবাদ! এটি সহজ তবে আমি জানি না যে আমি কখনও এটি আমার নিজের থেকে খুঁজে পেয়েছি কিনা।
ক্যাটলিন হানরাহান

কীভাবে app:borderWidthপ্রোগ্রামারিকভাবে সেট করার কোনও উপায় আছে ? ধন্যবাদ
তারকে

@ Šতার্কে ভাল, এর উত্স কোডটি দেখার পরে FloatingActionButton, আমি আশঙ্কা করছি যে কোনও সেটর নেই বলে আপনি এখনই এটিকে অগ্রগতিতে সেট করতে পারবেন না mBorderWidth
ywwynm

122

ভাসিল ভালচেভ যেহেতু একটি মন্তব্যে উল্লেখ করেছেন যেহেতু এটি দেখতে দেখতে তার চেয়ে সহজ, তবে একটি সূক্ষ্ম তফাত আছে যে আমি আমার এক্সএমএলে লক্ষ্য করছিলাম না।

<android.support.design.widget.FloatingActionButton
    android:id="@+id/profile_edit_fab"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_gravity="end|bottom"
    android:layout_margin="16dp"
    android:clickable="true"
    android:src="@drawable/ic_mode_edit_white_24dp"
    app:backgroundTint="@android:color/white"/>

এটি লক্ষ্য করুন:

app:backgroundTint="@android:color/white"

এবং না

android:backgroundTint="@android:color/white"

7
এটি গুরুত্বপূর্ণ কারণ এই দুটি সম্পূর্ণরূপে ভিন্ন জিনিস: android:backgroundTint=""থেকে API লেভেল 21 Lollipop এ মেটারিয়াল ডিজাইন ও অংশ এবং Lollipop এ নিচের উপেক্ষা করা হবে। এছাড়াও এটি FABপুরোপুরি রঙ পরিবর্তন করে না কারণ এটি কোনও শক্ত রঙ নয়। app:এটির কাজটি করতে আপনাকে এটি ব্যবহার করতে হবে।
ক্রিয়েটিভ ক্রিয়েটোরমায়াবেনোট

1
ধন্যবাদ, ব্যবহার করে android:colorআমার অ্যাপটি ক্রাশ হয়ে গেছে, এবং এটি আমার বাদাম চালাচ্ছিল! আমার অ্যাপ্লিকেশনটি এবং আমার
বিচক্ষণতাটি

); কোন সমস্যা @Kapenaar, ঠাহর আগে কিছুদিনের জন্য আমার মাথা প্রারম্ভিক ছিল পাশাপাশি
HenriqueMS

এক্সএমএলে জাভা সাইডে অ্যাপ্লিকেশন: এবং অ্যান্ড্রয়েডের মতো কোনও পার্থক্য নেই বলে এই প্রোগ্রামটি কীভাবে প্রোগ্রাম করবে?
মেরিঙ্কে

); আপনি যদি একটি ColorStatesList সঙ্গে তা ডুবে গেল, একটি নতুন প্রশ্ন পোস্ট করতে এবং এখানে লিঙ্ক পোস্ট করতে পারেন যাতে আমি এটা উত্তর দিতে পারেন @marienke
HenriqueMS

58

আপনি যদি অ্যাপ্লিকেশন ব্যবহার করে FAB এর রঙ পরিবর্তন করার চেষ্টা করেন তবে কিছু সমস্যা আছে। বোতামের ফ্রেমের রঙ ভিন্ন, তাই আপনাকে যা করতে হবে:

app:backgroundTint="@android:color/transparent"

এবং কোড রঙ সেট:

actionButton.setBackgroundTintList(ColorStateList.valueOf(getResources().getColor(R.color.white)));

2
এটি সাধারণ রঙের জন্য কাজ করে। যদি আমি # 44000000 # এর মতো আলফা রঙ দিয়ে থাকি তবে ফ্রেম রঙের সমস্যা পুনরায় উত্পাদনযোগ্য।
দিনেশ

5
getResferences.getColor () অবচয় করা হয়েছে, ContextCompat.getColor (প্রসঙ্গ, আপনার রঙ) ব্যবহার করে বিবেচনা করুন; পরিবর্তে. আশা করি এটি সহায়তা করে
টিনেশে চিন্যঙ্গা

51

শুধু ব্যবহার,

app:backgroundTint="@color/colorPrimary"

ব্যবহার করবেন না,

android:backgroundTint="@color/colorPrimary"

হুঁ মমি এই কারণ অ্যান্ড্রয়েড স্টুডিও স্বতঃসম্পূর্ণ ফলাফল ব্যবহার অ্যান্ড্রয়েড দেয়: ব্যাকগ্রাউন্ডটিন্ট, এই উত্তর ভারি ভাল
ইউডি কর্ম

31

আপনার উপর ভিত্তি করে এফএবি রঙিন হয় colorAccent

<style name="AppTheme" parent="Base.Theme.AppCompat.Light">
    <item name="colorAccent">@color/accent</item>
</style>

ঠিক আছে, ডিফল্ট রঙ সবুজ নয়। আপনি সবুজ রঙ কোথায় সেট করেছেন?
tachyonflux

1
আমি করিনি. আপনি দেখতে পাচ্ছেন, এই এক্সএমএলটি আমিই বোতামের বিন্যাসটি সেটআপ করেছি ...
Jjang

হতে পারে আপনার কেবল এফএএবি দিয়ে একটি নতুন প্রকল্প তৈরি করা উচিত এবং পুরো জিনিসটির জন্য কোড পোস্ট করা উচিত।
tachyonflux

3
বাহ ... আমি মূলত আপনাকে একই কাজ করতে বলেছিলাম এবং আপনি এটি করতে রাজি হননি। আপনার কোডটি পর্যাপ্ত ছিল তা বিশ্বাস করা আপনার পক্ষে ভণ্ডামিপূর্ণ, তবে আপনার কোডে আমার সংযোজন পর্যাপ্ত নয়। এটি এমসিভিই তৈরি করতে প্রশ্নকের কাছে পড়ে । ধন্যবাদ।
tachyonflux

2
থিম অ্যাট্রিবিউট ম্যাপিংয়ের ভিত্তিতে এখনই নয়, এখন ভাসমান অ্যাকশন বোতামটি ম্যাপিং করা হয়েছে (আমি নিজে যাচাই করেছি) কালার সেকেন্ডারি ( com.google.android.matory: উপাদান: 1.1.0-alpha02 )
আইভ্যাজেন


16

অন্যান্য সমাধানগুলি কাজ করতে পারে। এটি 10 ​​পাউন্ড গরিলা পদ্ধতির যা এই এবং অনুরূপ ক্ষেত্রে ব্যাপকভাবে প্রযোজ্য হওয়ার সুবিধা রয়েছে:

Styles.xml:

<style name="AppTheme.FloatingAccentButtonOverlay" >
    <item name="colorAccent">@color/colorFloatingActionBarAccent</item>
</style>

আপনার লেআউট এক্সএমএল:

<android.support.design.widget.FloatingActionButton
       android:theme="AppTheme.FloatingAccentButtonOverlay"
       ...
 </android.support.design.widget.FloatingActionButton>

হুম, মনে হয় এটির মতো কাজ করা উচিত তবে আমি লেআউট ফাইলে সংকলক ত্রুটি পেয়ে যাচ্ছি String types not allowed (at 'theme' with value 'AppTheme.FloatingAccentButtonOverlay')। হয়তো আমি স্টাইলস.এক্সএমএল এর সাথে একটি পয়েন্ট মিস করছি ....
স্কট বিগস

@ স্কটবিগস ব্যবহার করেন android:theme="@style/AppTheme.FloatingAccentButtonOverlay"তবে এই সলুটিন আমার পক্ষে কোনওভাবেই কাজ করে না ...
jpact

কলিআরসেন্ট অ্যাট্রিবিউট নেই এমন এপিআই 16 সম্পর্কে কী হবে?
দুশিয়ন্ত সুথার

12

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

fab.setBackgroundTintList(ColorStateList)

এছাড়াও মনে রাখবেন,

এই লাইব্রেরিটি ব্যবহার করার জন্য সর্বনিম্ন এপিআই সংস্করণটি 15 তাই আপনার এটি আপডেট করা দরকার! আপনি যদি এটি করতে না চান তবে আপনাকে একটি কাস্টম আঁকতে সক্ষম সংজ্ঞা দিতে হবে এবং এটি সজ্জিত করতে হবে!


কাজ করে, তবে তারপরে আমাকে এপিআই 21+ লক্ষ্য করতে হবে। যদি আমি এপিআই 8 টার্গেট করি তবে এই পদ্ধতিটি কল করতে পারবেন না।
জাজং

গুগল "com.android.support:design:22.2.0" দ্বারা প্রকাশিত এই ডিজাইনের লাইব্রেরিটি কেবল অন্তর্ভুক্ত করুন। এটি এমন ডিভাইসগুলিতে ব্যবহার করা যেতে পারে যা নন-ললিপপ সংস্করণ! চিয়ার্স !!
বিজেত বদিগনাভর

অবশ্যই আমি করি, তবে এই কোডটিতে এটি ত্রুটি: কলটির জন্য এপিআই স্তর 21 প্রয়োজন (বর্তমান মিনিট 8): android.widget.I छवि ভিউ # সেটব্যাকগ্রাউন্ডটিন্টলিস্ট
জাজং

এই লাইব্রেরিটি ব্যবহার করার জন্য সর্বনিম্ন এপিআই সংস্করণটি 15 তাই আপনার এটি আপডেট করা দরকার! আপনি যদি এটি করতে না চান তবে আপনাকে একটি কাস্টম অঙ্কনযোগ্য সংজ্ঞা দিতে হবে এবং এটি সজ্জিত করতে হবে!
বিজেত বদিগনাভর

ধন্যবাদ! আমি জানতাম না, ভেবেছিলাম এটি 21 হয়েছে কারণ এটি ত্রুটিটি বলেছিল। দয়া করে একটি উত্তর হিসাবে পোস্ট করুন এবং আমি এটি গ্রহণ করব!
জাজং

10

নীচের লাইনটি ব্যবহার করে ভাসমান অ্যাকশন বোতামের পটভূমির রঙ পরিবর্তন করা

app:backgroundTint="@color/blue"

ফ্লোটিং অ্যাকশন বোতাম আইকনের রঙ পরিবর্তন করা হচ্ছে

android:tint="@color/white"     

8

স্বয়ংসম্পূর্ণ করার জন্য ধন্যবাদ। আমি কয়েকটি হিট এবং পরীক্ষার পরে ভাগ্যবান হয়েছি:

    xmlns:card_view="http://schemas.android.com/apk/res-auto"
    card_view:backgroundTint="@color/whicheverColorYouLike"

- বা - (উভয়ই মূলত একই জিনিস)

    xmlns:app="http://schemas.android.com/apk/res-auto"
    app:backgroundTint="@color/whicheverColorYouLike"

এটি আমার জন্য ডিজাইন লাইব্রেরি 23.1.0 এর সাথে এপিআই সংস্করণ 17 এ কাজ করেছে।


8

আমি একই সমস্যা পেয়েছি এবং এর সবগুলি আমার চুল ছিনিয়ে নিচ্ছে। এই https://stackoverflow.com/a/35697105/5228412 জন্য ধন্যবাদ

আমরা কি করতে পারি..

 favourite_fab.setImageDrawable(ContextCompat.getDrawable(getBaseContext(), R.drawable.favourite_selected));

এটি আমার পক্ষে ভাল কাজ করে এবং অন্যদের যারা এখানে পৌঁছেছেন তাদের শুভেচ্ছা জানায়।


যতক্ষণ এই তাত্ত্বিক প্রশ্নের উত্তর হতে পারে, এটা বাঞ্ছনীয় হবে উত্তর অপরিহার্য অংশের এখানে অন্তর্ভুক্ত করা, এবং রেফারেন্স এর জন্য লিঙ্ক প্রদান।
ভরতভ রাও

8
 <android.support.design.widget.FloatingActionButton
    android:id="@+id/fab"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_gravity="bottom|end"
    app:elevation="6dp"
    app:backgroundTint="@color/colorAccent"
    app:pressedTranslationZ="12dp"
    android:layout_margin="@dimen/fab_margin"
    android:src="@drawable/add"/>

নোট করুন যে আপনি রেজ / মান / রঙ.এক্সএমএল এ রঙ যুক্ত করেছেন এবং আপনার কল্পিত বৈশিষ্ট্যে অন্তর্ভুক্ত করেছেন

   app:backgroundTint="@color/addedColor"

8

সঙ্গে উপাদান থিম এবং উপাদান উপাদান FloatingActionButton এটি ডিফল্ট রং নির্ধারণ করে নেয় styles.xmlঅ্যাট্রিবিউট colorSecondary

  • আপনি app:backgroundTintএক্সটিএমএলে বৈশিষ্ট্যটি ব্যবহার করতে পারেন :
<com.google.android.material.floatingactionbutton.FloatingActionButton
       ...
       app:backgroundTint=".."
       app:srcCompat="@drawable/ic_plus_24"/>
  • তুমি ব্যবহার করতে পার fab.setBackgroundTintList();

  • আপনি <item name="backgroundTint">গুণাবলী ব্যবহার করে আপনার স্টাইলটি কাস্টমাইজ করতে পারেন

  <!--<item name="floatingActionButtonStyle">@style/Widget.MaterialComponents.FloatingActionButton</item> -->
  <style name="MyFloatingActionButton" parent="@style/Widget.MaterialComponents.FloatingActionButton">
    <item name="backgroundTint">#00f</item>
    <!-- color used by the icon -->
    <item name="tint">@color/...</item>
  </style>
  • উপাদান উপাদানগুলির সংস্করণ 1.1.0 থেকে শুরু করে আপনি materialThemeOverlayকেবলমাত্র কয়েকটি উপাদানগুলির জন্য ডিফল্ট রঙগুলিকে ওভাররাইড করতে নতুন বৈশিষ্ট্যটি ব্যবহার করতে পারেন :
  <style name="MyFloatingActionButton" parent="@style/Widget.MaterialComponents.FloatingActionButton">
    <item name="materialThemeOverlay">@style/MyFabOverlay</item>
  </style>

  <style name="MyFabOverlay">
    <item name="colorSecondary">@color/custom2</item>
    <!-- color used by the icon -->
    <item name="colorOnSecondary">@color/...</item>
  </style>

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


7

উপাদান 1.1.0 তে ভাসমান অ্যাকশন বোতামের জন্য নতুন থিম অ্যাট্রিবিউট ম্যাপিং

আপনার অ্যাপের থিমটিতে:

  • এফএবির ব্যাকগ্রাউন্ডের জন্য একটি রঙ সেট করতে colorSecondary সেট করুন (ব্যাকগ্রাউন্ডটিন্টে মানচিত্র)
  • আইকন / পাঠ্য এবং এফএবির রিপল রঙের জন্য একটি রঙ সেট করতে রঙঅনসেকেন্ডারী সেট করুন (রঙিন এবং রিপল রঙে মানচিত্র)

<style name="AppTheme" parent="Theme.MaterialComponents.Light.NoActionBar">
    <!-- ...whatever else you declare in your app theme.. -->
    <!-- Set colorSecondary to change background of FAB (backgroundTint) -->
    <item name="colorSecondary">@color/colorSecondary</item>
    <!-- Customize colorSecondary to change icon/text of FAB (maps to tint and rippleColor) -->
    <item name="colorOnSecondary">@android:color/white</item>
</style>

অবশেষে কেউ এফএবি ব্যাকগ্রাউন্ড এবং ফোরগ্রাউন্ড (আইকন) রঙের জন্য সহজ সমাধান সরবরাহ করে।
ম্যানুয়েলটিস


3

আমি এই অ্যান্ড্রয়েডটিকে পছন্দ করেছি: ব্যাকগ্রাউন্ড = "@ রঙ / বর্ণচর্চা" আমি কেবল ফোল্ডার রেসটিতে যাই তারপরে ফোল্ডারের মানগুলিতে ক্লিক করুন এবং তারপরে রং.এক্সএমএল রংগুলিতে। এবং এটি সম্পন্ন


2

আমরা যে বিষয়টি অনুপস্থিত তা হ'ল আপনি বোতামে রঙ সেট করার আগে এই রঙের জন্য যে মানটি চান তা নিয়ে কাজ করা গুরুত্বপূর্ণ important সুতরাং আপনি মান> রঙ যেতে পারেন। আপনি ডিফল্ট রঙগুলি পাবেন তবে রংগুলি এবং নামগুলি পরিবর্তন করে আপনি তাদের কপি এবং পেস্ট করেও রঙ তৈরি করতে পারেন। তারপরে ... যখন আপনি ভাসমান বোতামের রঙ পরিবর্তন করতে যান (ক্রিয়াকলাপ_মেনে), আপনি নিজের তৈরি করা একটি চয়ন করতে পারেন

উদাহরণস্বরূপ - মানগুলির কোড> ডিফল্ট রঙের সাথে বর্ণগুলি + আমি তৈরি করেছি আরও 3 টি রঙ:

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <color name="colorPrimary">#3F51B5</color>
    <color name="colorPrimaryDark">#303F9F</color>
    <color name="colorAccent">#FF4081</color>

    <color name="corBotaoFoto">#f52411</color>
    <color name="corPar">#8e8f93</color>
    <color name="corImpar">#494848</color>

</resources>

আমি তৈরি করেছি এবং "কর্পার" নাম রেখেছি এমন রঙের সাথে আমার ফ্লোটিং অ্যাকশন বোতাম:

<android.support.design.widget.FloatingActionButton
        android:id="@+id/fab"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="bottom|end"
        android:layout_margin="@dimen/fab_margin"
        android:src="@android:drawable/ic_input_add"
        android:tint="#ffffff"
        app:backgroundTint="@color/corPar"/>

এটা আমার জন্য কাজ করেছে। শুভকামনা!


1

যদি আপনার কাছে কোনও অঙ্কনযোগ্য ছাড়াই ভাসমান অ্যাকশন বোতাম থাকে তবে আপনি প্রোগ্রামটিমে ব্যবহার করে রঙিনটি পরিবর্তন করতে পারেন:

fab.getBackground().mutate().setTint(ContextCompat.getColor(yourContext, R.color.anyColor));

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

0

color.xML ফাইলে রঙ যুক্ত করুন

color.xML ফাইলে রঙ যুক্ত করুন এবং তারপরে কোডের এই লাইনটি যুক্ত করুন ... floatingActionButton.setBackgroundTintList(ColorStateList.valueOf(getResources().getColor(R.color.fab2_color)));


0

আপনি প্রোগ্রামটিমে রঙ পরিবর্তন করতে চান আপনি এই কোডটি ব্যবহার করতে পারেন

floating.setBackgroundTintList(getResources().getColorStateList(R.color.vermelho));

0

ব্যবহার

অ্যাপ্লিকেশন: ব্যাকগ্রাউন্ডটাইন্ট = "@ রঙ / কমলা" ইন


<com.google.android.material.floatingactionbutton.FloatingActionButton
        android:id="@+id/id_share_btn"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:src="@drawable/share"
        app:backgroundTint="@color/orange"
        app:fabSize="mini"
        app:layout_anchorGravity="end|bottom|center" />



</androidx.coordinatorlayout.widget.CoordinatorLayout>

0

ম্যাটেরিয়াল ডিজাইনের জন্য, আমি ঠিক ঠিক এর মতো ভাসমান অ্যাকশন বোতামের রঙ পরিবর্তন করেছি, আপনার ভাসমান ক্রিয়া বোতামের এক্সএমএলে নীচের দুটি লাইন যুক্ত করুন। এবং সম্পন্ন,

 android:backgroundTint="@color/colorPrimaryDark"
 app:borderWidth="0dp"

0

কোটলিনে:

val gray = getColor(requireContext(), R.color.green)
binding.fabSubmit.backgroundTintList = ColorStateList.valueOf(gray)
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.