বিটম্যাপ টাইল মোড ব্যবহার করে রিপিটিং ব্যাকগ্রাউন্ড
এই টিউটোরিয়ালে দেখানো হয়েছে কিভাবে একটি ছোট ইমেজকে টাইল (repeat) করে পুরো স্ক্রিনে ব্যাকগ্রাউন্ড হিসেবে ব্যবহার করা যায়। এটি মেমরি দক্ষ এবং প্যাটার্ন ব্যাকগ্রাউন্ডের জন্য আদর্শ।
ধাপ ১: প্রজেক্ট তৈরি
ধাপ ২: ড্রয়েবল XML তৈরি করুন (টাইল মোড)
res/drawable/app_background.xml:
<?xml version="1.0" encoding="utf-8"?>
<bitmap xmlns:android="https://schemas.android.com/apk/res/android"
android:src="@drawable/image1"
android:tileMode="repeat" />
tileMode অপশন
| ভ্যালু | প্রভাব |
|---|---|
| repeat | দুই দিকেই রিপিট (ডিফল্ট) |
| mirror | মিরর করে রিপিট (সিমেট্রিক্যাল) |
| clamp | किनারা প্রসারিত করে (রিপিট না করে) |
| disabled | রিপিট বন্ধ (একবার দেখাবে) |
ধাপ ৩: স্টাইলসএ থিমে অ্যাপ্লাই করুন
res/values/styles.xml:
<resources>
<style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">
<item name="colorPrimary">@color/colorPrimary</item>
<item name="colorPrimaryDark">@color/colorPrimaryDark</item>
<item name="colorAccent">@color/colorAccent</item>
<item name="android:windowBackground">@drawable/app_background</item>
</style>
</resources>
ধাপ ৪: লেআউট (সাধারণ)
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="https://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_margin="16dp" />
ধাপ ৫: MainActivity.java (খালি)
package app.com.sample;
import android.os.Bundle;
import androidx.appcompat.app.AppCompatActivity;
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
}
প্রোগ্রামেটিক্যালি করা (বিকল্প)
Bitmap bitmap = BitmapFactory.decodeResource(getResources(), R.drawable.image1); BitmapDrawable drawable = new BitmapDrawable(getResources(), bitmap); drawable.setTileModeXY(Shader.TileMode.REPEAT, Shader.TileMode.REPEAT); view.setBackground(drawable);
সেরা অনুশীলন
- ছোট প্যাটার্ন ইমেজ ব্যবহার করুন (যেমন ১০০x১০০ px) মেমরি বাঁচাতে
- Vector Drawable (XML) ব্যবহার করলে স্কেলিং ভালো হয়
android:windowBackgroundথিমে সেট করলে এক্টিভিটি লোড হওয়ার আগেই দেখাবে (স্মুথ)