উত্তর:
Color
ক্লাস পদ্ধতি চেষ্টা করুন :
public static int parseColor (String colorString)
অ্যান্ড্রয়েড ডকুমেন্টেশন থেকে :
সমর্থিত ফর্ম্যাটগুলি হ'ল: # আরআরজিবিবিবি #আআআআরআর জিবিবিবি 'লাল', 'নীল', 'সবুজ', 'কালো', 'সাদা', 'ধূসর', 'সায়ান', 'ম্যাজেন্টা', 'হলুদ', 'হালকা ধূসর', 'অন্ধকার '
#000
মূল্যবোধ পার্স করতে জানেন ?
if(colorString.length() == 4) { colorString = "#" + StringUtils.repeat(colorString.substring(1, 1), 1) + StringUtils.repeat(colorString.substring(2, 2), 1) + StringUtils.repeat(colorString.substring(3, 3), 1) }
দয়া করে আমি ভুল হলে আমাকে সংশোধন করুন
if(colorString.length() == 4 && colorString[0] == '#')
চেষ্টা করুন:
myLayout.setBackgroundColor(Color.parseColor("#636161"));
এই প্রশ্নটি হেক্স রঙের সাথে সম্পর্কিত বেশ কয়েকটি অনুসন্ধানের জন্য উঠে আসে তাই আমি এখানে একটি সংক্ষিপ্ত যোগ করব।
হেক্স রঙগুলি রূপ নেয় RRGGBB
বা AARRGGBB
(আলফা, লাল, সবুজ, নীল)। আমার অভিজ্ঞতায়, int
সরাসরি ব্যবহার করার সময় আপনাকে পূর্ণ AARRGGBB
ফর্মটি ব্যবহার করা দরকার । আপনার যদি কেবল RRGGBB
ফর্ম থাকে তবে কেবল FF
আলফা (স্বচ্ছতা) সম্পূর্ণরূপে অস্বচ্ছ করতে এটির সাথে এটির উপসর্গ করুন । আপনি কোডে এটি সেট করবেন তা এখানে Here 0x
শুরুতে ব্যবহার করার অর্থ এটি হেক্সাডেসিমাল এবং বেস 10 নয়।
int myColor = 0xFF3F51B5;
myView.setBackgroundColor(myColor);
অন্যরা যেমন উল্লেখ করেছে, আপনিও এর Color.parseString
মতো ব্যবহার করতে পারেন
int myColor = Color.parseColor("#3F51B5");
myView.setBackgroundColor(myColor);
নোট করুন যে স্ট্রিংটি অবশ্যই একটি দিয়ে শুরু করা উচিত #
। উভয় RRGGBB
এবং AARRGGBB
ফর্ম্যাট সমর্থিত।
আপনি যখনই সম্ভব সম্ভব এক্সএমএল থেকে আপনার রঙগুলি পাওয়া উচিত। এটি প্রস্তাবিত বিকল্প কারণ এটি আপনার অ্যাপ্লিকেশনে রঙ পরিবর্তন করা আরও সহজ করে তোলে। আপনি যদি নিজের কোড জুড়ে প্রচুর হেক্স রঙ নির্ধারণ করেন তবে পরে সেগুলি পরিবর্তন করার চেষ্টা করা বড় ব্যথা।
অ্যান্ড্রয়েড উপাদান নকশায় ইতিমধ্যে কনফিগার করা হেক্স মানগুলির সাথে রঙিন তালু রয়েছে।
এই থিমের রঙগুলি আপনার অ্যাপ্লিকেশন জুড়ে ব্যবহৃত হয় এবং এর মতো দেখতে:
colors.xml
<?xml version="1.0" encoding="utf-8"?>
<resources>
<color name="primary">#3F51B5</color>
<color name="primary_dark">#303F9F</color>
<color name="primary_light">#C5CAE9</color>
<color name="accent">#FF4081</color>
<color name="primary_text">#212121</color>
<color name="secondary_text">#757575</color>
<color name="icons">#FFFFFF</color>
<color name="divider">#BDBDBD</color>
</resources>
আপনার যদি অতিরিক্ত রঙের প্রয়োজন হয় তবে অনুসরণ করার একটি ভাল অনুশীলন হ'ল এক্সএমএলে দুটি ধাপে আপনার রঙকে সংজ্ঞায়িত করা। প্রথমে হেক্স মানের রঙের নাম দিন এবং তারপরে আপনার অ্যাপ্লিকেশনটির এমন একটি উপাদানটির নাম দিন যা একটি নির্দিষ্ট রঙ পেতে পারে। এটি পরে রঙগুলি সামঞ্জস্য করা সহজ করে। আবার, এটি color.xML এ ।
<color name="orange">#fff3632b</color>
<color name="my_view_background_color">@color/orange</color>
তারপরে আপনি কোডটিতে রঙ সেট করতে চাইলে নিম্নলিখিতটি করুন:
int myColor = ContextCompat.getColor(context, R.color.my_view_background_color);
myView.setBackgroundColor(myColor);
কালার ক্লাসটি বেশ কয়েকটি পূর্বনির্ধারিত রঙের ধ্রুবক সহ আসে। আপনি এটি ব্যবহার করতে পারেন।
int myColor = Color.BLUE;
myView.setBackgroundColor(myColor);
অন্যান্য রং হয়
Color.BLACK
Color.BLUE
Color.CYAN
Color.DKGRAY
Color.GRAY
Color.GREEN
Color.LTGRAY
Color.MAGENTA
Color.RED
Color.TRANSPARENT
Color.WHITE
Color.YELLOW
সেই স্ট্রিংটিকে কোনও int
রঙে রূপান্তর করুন যা এতে setBackgroundColor
এবং ব্যবহার করা যেতে পারেsetTextColor
String string = "#FFFF0000";
int color = Integer.parseInt(string.replaceFirst("^#",""), 16);
16 এর অর্থ এটি হেক্সাডেসিমাল এবং আপনার নিয়মিত 0-9 নয়। ফলাফল হিসাবে একই হতে হবে
int color = 0xFFFF0000;
#80000000
যা কোনও ক্ষেত্রে int সংস্করণ হবে int color = 0x80000000;
। যদি এটি কাজ না করে তবে আরও বিশদ সহ একটি নতুন প্রশ্ন পোস্ট করুন যাতে আমার চেয়ে আরও বেশি লোক তা লক্ষ্য করবে। মনে রাখবেন #80000000
একটি স্বচ্ছ কালো রঙ।
এটা
int color = Color.parseColor("colorstring");
এটা চেষ্টা কর:
vi.setBackgroundColor(Color.parseColor("#FFFF0000"));
আমি এটি ব্যবহার করি এবং এটি আমার পছন্দসই রঙ সেট করার জন্য দুর্দান্ত কাজ করে।
public static final int MY_COLOR = Color.rgb(255, 102, 153);
প্রতিটি লাল, সবুজ এবং নীল রঙের জন্য 0-255 ব্যবহার করে রঙগুলি সেট করুন তারপরে আপনি যে কোনও জায়গায় রঙটি ব্যবহার করতে চান কেবল রঙের পরিবর্তে MY_COLOR লাগিয়ে দিন B নীল বা রঙিন RE
রঙের চার্টের জন্য কেবল একটি গুগল অনুসন্ধান করুন এবং এটি আপনি 0-255 ব্যবহার করে সঠিক আরজিবি কোড সহ একটি তালিকা পেতে পারেন।
জামারিনে এটি ব্যবহার করুন
Control.SetBackgroundColor(global::Android.Graphics.Color.ParseColor("#F5F1F1"));
এক্সএমএল ফাইল সংরক্ষণ / মান / রং.এক্সএমএলে সংরক্ষণ করা হয়েছে:
<?xml version="1.0" encoding="utf-8"?>
<resources>
<color name="opaque_red">#f00</color>
<color name="translucent_red">#80ff0000</color>
</resources>
এই অ্যাপ্লিকেশন কোডটি রঙের সংস্থান পুনরুদ্ধার করে:
Resources res = getResources();
int color = res.getColor(R.color.opaque_red);
এই লেআউটটি এক্সএমএল একটি বৈশিষ্ট্যে রঙ প্রয়োগ করে:
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:textColor="@color/translucent_red"
android:text="Hello"/>
পরিবর্তে 0xFFF000 ব্যবহার করে চেষ্টা করুন এবং এটিকে রঙ.এইচএসভিটোলোকার পদ্ধতিতে পাস করুন।