আমি রঙটি লাল রূপে সেট করেছি এবং এর পরে আমি আবার রঙটি ডিফল্টতে সেট করতে চাই, তবে ডিফল্ট রঙ কী তা আমি জানি না, কেউ কি জানেন?
উত্তর:
আপনি পুরানো রঙটি সংরক্ষণ করতে পারেন এবং তারপরে এটি মূল মানটি পুনরুদ্ধার করতে ব্যবহার করতে পারেন। এখানে একটি উদাহরণ:
ColorStateList oldColors = textView.getTextColors(); //save original colors
textView.setTextColor(Color.RED);
....
textView.setTextColor(oldColors);//restore original colors
তবে সাধারণভাবে ডিফল্ট TextView
পাঠ্যের রঙটি আপনার প্রয়োগ করা বর্তমান থিম থেকে নির্ধারিত হয় Activity
।
আসলে টেক্সটভিউয়ের রঙটি হ'ল:
android:textColor="@android:color/tab_indicator_text"
বা
#808080
এখানে ডিফল্ট কিছু রঙ বর্ণিত আছে android.R.color
int c = getResources().getColor(android.R.color.primary_text_dark);
int c = ...
পরিবর্তে হওয়া উচিতColor c = ...
getResources().getColor(int id)
এখন অবচয় করা হয়েছে ( লিঙ্কটি দেখুন )। আপনি হয় ব্যবহার করতে পারেন getResources().getColor (int id, Resources.Theme theme)
বাContextCompat.getColor(contex, android.R.color.primary_text_dark)
বৈশিষ্ট্যগুলি থেকে এই মানগুলি পান:
int[] attrs = new int[] { android.R.attr.textColorSecondary };
TypedArray a = getTheme().obtainStyledAttributes(R.style.AppTheme, attrs);
DEFAULT_TEXT_COLOR = a.getColor(0, Color.RED);
a.recycle();
থিমটিতে ডিফল্ট রয়েছে যা অ্যান্ড্রয়েড ব্যবহার করে যদি আপনি কোনও পাঠ্যের রঙ নির্দিষ্ট না করেন। এটি বিভিন্ন অ্যান্ড্রয়েড ইউআই-তে বিভিন্ন রঙের হতে পারে (উদাঃ এইচটিসি সেনস, স্যামসাং টাচউইজ ইত্যাদি)। অ্যান্ড্রয়েড একটি _dark
এবং_light
থিম রয়েছে, সুতরাং এগুলির জন্য ডিফল্টগুলি পৃথক (তবে ভ্যানিলা অ্যান্ড্রয়েডে উভয় ক্ষেত্রেই প্রায় কালো)। ডিভাইসগুলির মধ্যে একটি সামঞ্জস্যপূর্ণ শৈলীর জন্য আপনার প্রাথমিক পাঠ্যের রঙটি নিজেকে সংজ্ঞায়িত করা ভাল অনুশীলন।
কোডে:
getResources().getColor(android.R.color.primary_text_dark);
getResources().getColor(android.R.color.primary_text_light);
এক্সএমএলে:
android:color="@android:color/primary_text_dark"
android:color="@android:color/primary_text_light"
ভ্যানিলা অ্যান্ড্রয়েডের উল্লেখ হিসাবে গা API় থিমের পাঠ্যের রঙ হ'ল #060001
এবং হালকা থিমটিতে এটি #060003
API v1 থেকে। অ্যান্ড্রয়েড স্টাইলের ক্লাসটি এখানে দেখুন
আমি জানি এটি পুরানো তবে ডিফল্ট লাইট থিম, ডিফল্ট সহ আমার নিজস্ব থিম সম্পাদক অনুসারে
textPrimaryColor = #000000
এবং
textColorPrimaryDark = #757575
আমি টেক্সটভিউতে একটি রঙ চয়নকারী ব্যবহার করেছি এবং এটি # 757575 পেয়েছি
কোনও ডিফল্ট রঙ নেই। এর অর্থ প্রতিটি ডিভাইসের নিজস্ব থাকতে পারে।
আমি বিশ্বাস করি যে ডিফল্ট রঙের পূর্ণসংখ্যার মান 16711935 (0x00FF00FF)।
আরে আপনি এই চেষ্টা করতে পারেন
ColorStateList colorStateList = textView.getTextColors();
String hexColor = String.format("#%06X", (0xFFFFFF & colorStateList.getDefaultColor()));
আমি দেখতে পেয়েছি যে android:textColor="@android:color/secondary_text_dark"
ডিফল্ট টেক্সটভিউ রঙের তুলনায় আরও ঘনিষ্ঠ ফলাফল সরবরাহ করে android:textColor="@android:color/tab_indicator_text"
। আমি মনে করি আপনি যে থিমটি ব্যবহার করছেন তার উপর নির্ভর করে আপনাকে গৌণ_সেক্সট_ডार्ক / আলোর মধ্যে স্যুইচ করতে হবে
পরিবর্তনগুলি করার আগে আপনি মূল রঙ সঞ্চয় করতে টেক্সটভিউ.সেটট্যাগ / গেটট্যাগ ব্যবহার করতে পারেন। আমি আপনাকে অন্য ট্যাগগুলি আলাদা করতে আইডিএসএক্সএমএল অনন্য আইডি সংস্থান তৈরি করার পরামর্শ দেব।
অন্যান্য রঙে সেট করার আগে:
if (textView.getTag(R.id.txt_default_color) == null) {
textView.setTag(R.id.txt_default_color, textView.currentTextColor)
}
ফিরে পরিবর্তন:
textView.getTag(R.id.txt_default_color) as? Int then {
textView.setTextColor(this)
}