drawableStart / drawableEnd / drawableLeft / drawableRight ব্যবহার করে EditText-এ আইকন যোগ করা
এই সহজ উদাহরণে দেখানো হয়েছে কিভাবে XML এট্রিবিউট ব্যবহার করে EditText-এ সার্চ আইকন (या অন্য কোনো আইকন) বাম বা ডানে যোগ করা যায়। কোনো Java কোড লাগে না।
ধাপ ১: প্রজেক্ট তৈরি করুন
Android Studio-তে নতুন প্রজেক্ট শুরু করুন।
ধাপ ২: লেআউট (activity_main.xml)
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="https://schemas.android.com/apk/res/android"
xmlns:app="https://schemas.android.com/apk/res-auto"
xmlns:tools="https://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:gravity="center"
android:layout_marginTop="30dp"
tools:context=".MainActivity">
<EditText
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginHorizontal="10dp"
android:paddingStart="10dp"
android:paddingEnd="10dp"
android:drawableEnd="@android:drawable/ic_menu_search"
android:hint="খুঁজুন..."
android:background="@drawable/edittext_background" />
</LinearLayout>
ধাপ ৩: কাস্টম ব্যাকগ্রাউন্ড (res/drawable/edittext_background.xml) - ঐচ্ছিক
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="https://schemas.android.com/apk/res/android">
<solid android:color="#FFFFFF" />
<stroke android:width="1dp" android:color="#2f6699" />
<corners android:radius="10dp" />
</shape>
ধাপ ৪: MainActivity.java (খালি)
package com.example.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);
}
}
Drawable পজিশনিং অ্যাট্রিবিউট
| অ্যাট্রিবিউট (নতুন) | অ্যাট্রিবিউট (পুরানো) | পজিশন |
|---|---|---|
| drawableStart | drawableLeft | শুরুতে (LTR-এ বাম, RTL-এ ডান) |
| drawableEnd | drawableRight | শেষে (LTR-এ ডান, RTL-এ বাম) |
| drawableTop | drawableTop | উপরে |
| drawableBottom | drawableBottom | নিচে |
সুপারিশ: RTL সাপোর্টের জন্য Start/End ব্যবহার করুন।
আইকন সাইজ কন্ট্রোল
XML-এ সরাসরি সাইজ সেট করা যায় না। কাস্টম ড্রয়েবল বা setCompoundDrawablesWithIntrinsicBounds() Java-এ ব্যবহার করুন:
Drawable icon = getResources().getDrawable(R.drawable.my_icon); icon.setBounds(0, 0, 48, 48); // width, height editText.setCompoundDrawables(null, null, icon, null); // ডানে
ফলাফল
EditText-এ ডানে সার্চ আইকন (🔍) দেখাবে, গোলাকার কোণার সাদা ব্যাকগ্রাউন্ড ও নীল বর্ডার সহ।