উত্তর:
ব্যবহৃত মূল বিন্যাসে একটি হ্যান্ডেল পান, তারপরে পটভূমির রঙ সেট করুন। মূল লেআউটটি সেটাকে কনট্যান্টভিউ বলেই ডাকে।
setContentView(R.layout.main);
// Now get a handle to any View contained
// within the main layout you are using
View someView = findViewById(R.id.randomViewInMainLayout);
// Find the root view
View root = someView.getRootView();
// Set the color
root.setBackgroundColor(getResources().getColor(android.R.color.red));
root.setBackgroundColor(getResources().getColor(android.R.color.red));
setContentView()
কল করার পরে আপনার ক্রিয়াকলাপে এই একক লাইন যুক্ত করুন
getWindow().getDecorView().setBackgroundColor(Color.WHITE);
আমি থিম অনুসারে রঙ পছন্দ
<style name="CustomTheme" parent="android:Theme.Light">
<item name="android:windowBackground">@color/custom_theme_color</item>
<item name="android:colorBackground">@color/custom_theme_color</item>
</style>
android:windowBackground
প্রথমে একটি সংক্ষিপ্ত মুহুর্তের জন্য দৃশ্যমান হয় এবং তারপরে বিন্যাসের ব্যাকগ্রাউন্ডের রঙটি নিয়ে যায়। সুতরাং আপনি যদি দুটি ভিন্ন রঙ ব্যবহার করেন তবে এটি স্ক্রিনে ঝাঁকুনি দেবে।
windowBackground
কেবল উইন্ডো ব্যাকগ্রাউন্ডকেই colorBackground
প্রভাবিত করে , তবে সমস্ত দৃশ্যকেও প্রভাবিত করে। stackoverflow.com/questions/26266221/...
?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="#FFFFFF"
android:id="@+id/myScreen"
</LinearLayout>
অন্য কথায়, "অ্যান্ড্রয়েড: ব্যাকগ্রাউন্ড" হল আপনি যে এক্সএমএলটি পরিবর্তন করতে চান তা ট্যাগ tag
আপনার যদি গতিশীলভাবে পটভূমির মান আপডেট করতে হয় তবে নিম্নলিখিতটি দেখুন:
আপনার onCreate()
পদ্ধতিতে:
getWindow().getDecorView().setBackgroundColor(getResources().getColor(R.color.main_activity_background_color));
এছাড়াও আপনাকে মানগুলির ফোল্ডারে যুক্ত হওয়া একটি নতুন এক্সএমএল ফাইল বলা উচিত color.xml
এবং সেখানে একটি নতুন রঙের সম্পত্তি নির্ধারণ করতে হবে:
color.xml:
<?xml version="1.0" encoding="utf-8"?>
<resources>
<color name="main_activity_background_color">#000000</color>
</resources>
মনে রাখবেন যে আপনি যে color.xml
নামটি চান তার নাম রাখতে পারেন তবে কোড হিসাবে আপনি এটি উল্লেখ করেন R.color.yourId
।
সম্পাদনা
কারণ getResources().getColor()
নিন্দা করা হয়েছে, ব্যবহার getWindow().getDecorView().setBackgroundColor(ContextCompat.getColor(MainActivity.this, R.color.main_activity_background_color));
পরিবর্তে।
আপনি এটি পূর্বনির্ধারিত অ্যান্ড্রয়েড রঙগুলিতে কল করতে ব্যবহার করতে পারেন:
element.setBackgroundColor(android.R.color.red);
আপনি যদি নিজের নিজস্ব কাস্টম রঙ ব্যবহার করতে চান তবে আপনি নিজের কাস্টম রঙটি স্ট্রিং.এক্সএমএল এ যুক্ত করতে পারেন এবং তারপরে কল করতে নীচেরটি ব্যবহার করতে পারেন।
element.setBackgroundColor(R.color.mycolour);
তবে আপনি যদি আপনার লেআউট.এক্সএমএল রঙটি সেট করতে চান তবে আপনি যে কোনও উপাদান গ্রহণ করে তা নীচে সংশোধন করতে এবং যোগ করতে পারেন।
android:background="#FFFFFF"
View randview = new View(getBaseContext());
randview = (View)findViewById(R.id.container);
randview.setBackgroundColor(Color.BLUE);
আমার জন্য কাজ। ধন্যবাদ.
Button btn;
View root;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
btn = (Button)findViewById(R.id.button);
btn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
root =findViewById(R.id.activity_main).getRootView();
root.setBackgroundColor(Color.parseColor("#FFFFFF"));
}
});
}