কাস্টম সফট কীবোর্ড (IME) ডেভেলপমেন্ট গাইড
এই উদাহরণটি একটি বেসিক ইনপुट মেথড এডিটর (IME) বা সফট কীবোর্ড তৈরির কৌশল দেখায়। নোট: এটি একটি সাধারণ উদাহরণ, পুরো কীবোর্ড তৈরি করার জন্য আরও জটিল কোড লাগে।
ধাপ ১: প্রজেক্ট তৈরি
Android Studio-তে নতুন প্রজেক্ট তৈরি করুন।
ধাপ ২: লেআউট (activity_main.xml) - টেস্ট용 UI
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="https://schemas.android.com/apk/res/android"
xmlns:tools="https://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity">
<EditText
android:id="@+id/editText"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:layout_marginTop="50dp" />
<Button
android:id="@+id/btnShow"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@id/editText"
android:layout_centerInParent="true"
android:layout_marginTop="5dp"
android:onClick="ShowText"
android:text="SHOW TEXT" />
<TextView
android:id="@+id/textView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@id/btnShow"
android:layout_centerInParent="true"
android:layout_marginTop="10dp"
android:textSize="16sp"
android:textStyle="bold" />
</RelativeLayout>
ধাপ ৩: MainActivity.java (সামান্য টেস্ট এক্টিভিটি)
import androidx.appcompat.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.EditText;
import android.widget.TextView;
public class MainActivity extends AppCompatActivity {
EditText editText;
TextView textView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
editText = findViewById(R.id.editText);
textView = findViewById(R.id.textView);
}
public void ShowText(View view) {
String newText = editText.getText().toString();
textView.setText(newText);
}
}
কাস্টম কীবোর্ড তৈরি করার মূল ধাপ (অতিরিক্ত ফাইল দরকার)
- InputMethodService এক্সটেন্ড করুন:
public class MyKeyboard extends InputMethodService - onCreateInputView() ওভাররাইড করুন: কীবোর্ড লেআউট ইনফ্লেট করুন
- onKey() মেথড ইমপ্লিমেন্ট করুন: কি প্রেস হ্যান্ডল করুন
- AndroidManifest.xml-এ সার্ভিস ডিক্লেয়ার করুন:
<service android:name=".MyKeyboard" android:label="My Custom Keyboard" android:permission="android.permission.BIND_INPUT_METHOD"> <meta-data android:name="android.view.im" android:resource="@xml/method" /> <intent-filter> <action android:name="android.view.InputMethod" /> </intent-filter> </service> - res/xml/method.xml তৈরি করুন: IME সাবটাইপ ও সেটিংস ডিফাইন করুন
- res/layout/keyboard.xml: কীবোর্ডের ভিউ লেআউট (KeyboardView ব্যবহার করুন)
গুরুত্বপূর্ণ ক্লাস
KeyboardView- কীবোর্ড রেন্ডারিংয়ের জন্যKeyboard- কি লেআউট ডিফাইন করার জন্যInputMethodService- IME-এর মূল ক্লাসInputConnection- টেক্সট ইনপুট পাঠানোর জন্য
টিপ: সম্পূর্ণ কীবোর্ড লাইব্রেরি হিসেবে AnySoftKeyboard বা Android Keyboard Example রিপো রেফারেন্স হিসেবে দেখতে পারেন।