Android کی بورڈ کو چھپانے کا تعارف
اینڈرائیڈ ایپلیکیشنز تیار کرتے وقت، ایسے اوقات ہوتے ہیں جب آپ کو سافٹ کی بورڈ کو پروگرام کے مطابق چھپانے کی ضرورت ہوتی ہے۔ یہ خاص طور پر مفید ہے جب آپ کے لے آؤٹ میں ایک EditText اور ایک بٹن ہو اور آپ چاہتے ہیں کہ بٹن پر کلک کرنے کے بعد کی بورڈ غائب ہو جائے۔
اس گائیڈ میں، ہم اس فعالیت کو حاصل کرنے کے آسان اور موثر طریقے تلاش کریں گے۔ فراہم کردہ مراحل کی پیروی کرکے، آپ کی بورڈ کی مرئیت کا مؤثر طریقے سے انتظام کرکے اپنی ایپ کے صارف کے تجربے کو بہتر بنانے کے قابل ہو جائیں گے۔
کمانڈ | تفصیل |
---|---|
getSystemService | نام سے سسٹم لیول سروس کو بازیافت کرتا ہے۔ یہاں، یہ کی بورڈ کے انتظام کے لیے InputMethodManager حاصل کرنے کے لیے استعمال ہوتا ہے۔ |
hideSoftInputFromWindow | ونڈو سے نرم کی بورڈ کو چھپاتا ہے، ایک ٹوکن لے کر پیرامیٹر کے طور پر جھنڈا لگاتا ہے۔ |
getCurrentFocus | سرگرمی میں موجودہ فوکسڈ منظر کو لوٹاتا ہے، یہ تعین کرنے کے لیے استعمال کیا جاتا ہے کہ کی بورڈ کو کہاں سے چھپنا چاہیے۔ |
onClickListener | ایک کال بیک سیٹ اپ کرتا ہے جو کسی منظر (جیسے بٹن) پر کلک کرنے پر متحرک ہوتا ہے۔ |
dispatchTouchEvent | ونڈو پر بھیجے جانے سے پہلے ٹچ اسکرین موشن ایونٹس کو روکتا ہے، جو حسب ضرورت ٹچ ہینڈلنگ کے لیے مفید ہے۔ |
windowToken | ایک ٹوکن لوٹاتا ہے جو منظر سے وابستہ ونڈو کی منفرد شناخت کرتا ہے، جو کی بورڈ کو چھپانے کے لیے درکار ہے۔ |
اینڈرائیڈ کی بورڈ کو چھپانے کا طریقہ سمجھنا
جاوا کی مثال میں، اسکرپٹ پہلے ضروری کلاسوں کو درآمد کرتا ہے جیسے InputMethodManager، View، اور EditText. دی onCreate طریقہ ترتیب ترتیب دیتا ہے اور شروع کرتا ہے۔ EditText اور Button. جب بٹن پر کلک کیا جاتا ہے، تو hideKeyboard طریقہ کہا جاتا ہے. یہ طریقہ استعمال کرتے ہوئے موجودہ فوکسڈ ویو کو بازیافت کرتا ہے۔ getCurrentFocus، اور اگر ایک نقطہ نظر مرکوز ہے، تو یہ استعمال کرتا ہے۔ InputMethodManager کال کر کے نرم کی بورڈ کو چھپانے کے لیے hideSoftInputFromWindow. جب بٹن پر کلک کیا جاتا ہے تو یہ مؤثر طریقے سے کی بورڈ کو بند کر دیتا ہے۔
کوٹلن کی مثال میں، اسی طرح کی فعالیت حاصل کی جاتی ہے۔ اسکرپٹ کو اوور رائیڈ کرتا ہے۔ onCreate مواد کا منظر ترتیب دینے اور شروع کرنے کا طریقہ EditText اور Button. بٹن کلک سننے والے کو کال کرتا ہے۔ hideKeyboard طریقہ مزید برآں، dispatchTouchEvent باہر چھونے پر کی بورڈ کو چھپانے کے لیے طریقہ اوور رائیڈ کیا جاتا ہے۔ یہ طریقہ چیک کرتا ہے کہ آیا کوئی منظر فوکس ہے اور کی بورڈ کو چھپاتا ہے۔ InputMethodManager. یہ اسکرپٹس نرم کی بورڈ کی مرئیت کو مؤثر طریقے سے منظم کرکے صارف کے تجربے کو بڑھاتی ہیں۔
اینڈرائیڈ سافٹ کی بورڈ کو پروگرام کے لحاظ سے بند کرنا
جاوا برائے اینڈرائیڈ ڈویلپمنٹ
import android.app.Activity;
import android.view.View;
import android.view.inputmethod.InputMethodManager;
import android.widget.Button;
import android.widget.EditText;
import android.os.Bundle;
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
EditText editText = findViewById(R.id.editText);
Button button = findViewById(R.id.button);
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
hideKeyboard();
}
});
}
private void hideKeyboard() {
View view = this.getCurrentFocus();
if (view != null) {
InputMethodManager imm = (InputMethodManager) getSystemService(Activity.INPUT_METHOD_SERVICE);
imm.hideSoftInputFromWindow(view.getWindowToken(), 0);
}
}
}
باہر چھونے پر کی بورڈ کو چھپائیں۔
کوٹلن برائے اینڈرائیڈ ڈویلپمنٹ
import android.app.Activity
import android.os.Bundle
import android.view.MotionEvent
import android.view.View
import android.view.inputmethod.InputMethodManager
import android.widget.EditText
import android.widget.Button
class MainActivity : Activity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
val editText = findViewById<EditText>(R.id.editText)
val button = findViewById<Button>(R.id.button)
button.setOnClickListener { hideKeyboard() }
}
private fun hideKeyboard() {
val view = this.currentFocus
view?.let { v ->
val imm = getSystemService(Activity.INPUT_METHOD_SERVICE) as InputMethodManager
imm.hideSoftInputFromWindow(v.windowToken, 0)
}
}
override fun dispatchTouchEvent(ev: MotionEvent): Boolean {
if (currentFocus != null) {
val imm = getSystemService(Activity.INPUT_METHOD_SERVICE) as InputMethodManager
imm.hideSoftInputFromWindow(currentFocus!!.windowToken, 0)
}
return super.dispatchTouchEvent(ev)
}
}
اینڈرائیڈ کی بورڈ کے نظم و نسق کے لیے جدید تکنیک
اینڈرائیڈ سافٹ کی بورڈ کو منظم کرنے کا ایک اور اہم پہلو صارف کے مختلف تعاملات اور کنفیگریشنز کے جواب میں اس کی مرئیت کو سنبھالنا ہے۔ مثال کے طور پر، آپ چاہیں گے کہ کی بورڈ خود بخود ظاہر ہو جائے جب ایک EditText فوکس حاصل کرتا ہے یا اس بات کو یقینی بنانے کے لیے کہ مختلف UI اجزاء کے درمیان نیویگیٹ کرتے وقت یہ چھپ جائے۔ یہ استعمال کرکے حاصل کیا جاسکتا ہے۔ InputMethodManager لائف سائیکل کال بیکس کے ساتھ جیسے onResume اور onPause.
مزید برآں، آپ کی بورڈ کے رویے کو ایڈجسٹ کرکے کنٹرول کرسکتے ہیں۔ android:windowSoftInputMode آپ کی سرگرمی کی مینی فیسٹ فائل میں انتساب۔ یہ وصف آپ کو یہ بتانے کی اجازت دیتا ہے کہ آیا کی بورڈ کو سرگرمی کی ترتیب کو ایڈجسٹ کرنا چاہیے یا واضح طور پر درخواست کیے جانے تک پوشیدہ رہنا چاہیے۔ ان کنفیگریشنز کا استعمال زیادہ بدیہی اور جوابدہ انٹرفیس فراہم کرکے صارف کے تجربے کو نمایاں طور پر بہتر بنا سکتا ہے۔
اینڈرائیڈ کی بورڈ کو چھپانے کے بارے میں عام سوالات
- میں کی بورڈ کو کیسے چھپا سکتا ہوں جب ایک EditText توجہ کھو دیتا ہے؟
- آپ کو اوور رائڈ کر سکتے ہیں۔ onFocusChange کے سننے والے EditText اور کال کریں InputMethodManager.hideSoftInputFromWindow.
- کیا میں خود بخود کی بورڈ دکھا سکتا ہوں جب ایک EditText توجہ حاصل کرتا ہے؟
- جی ہاں، استعمال کریں InputMethodManager.showSoftInput میں onFocusChange سننے والا
- میں کی بورڈ کو ٹکڑے میں کیسے چھپا سکتا ہوں؟
- کال کریں۔ InputMethodManager.hideSoftInputFromWindow ٹکڑے کے نقطہ نظر کے تناظر میں۔
- کیا android:windowSoftInputMode کے لئے استعمال کیا؟
- یہ بتاتا ہے کہ کی بورڈ کس طرح سرگرمی کے لے آؤٹ کے ساتھ تعامل کرتا ہے، جیسے کہ سائز تبدیل کرنا یا پوشیدہ رہنا۔
- باہر چھونے پر میں کی بورڈ کو کیسے چھپاؤں؟ EditText?
- اوور رائڈ dispatchTouchEvent سے باہر ٹچ ایونٹس کی جانچ کرنے کے لیے آپ کی سرگرمی میں EditText.
- کیا میں کی بورڈ کو پوشیدہ رہنے پر مجبور کر سکتا ہوں؟
- ہاں، ترتیب سے android:windowSoftInputMode کو stateHidden ظاہر میں.
- میں یہ کیسے جان سکتا ہوں کہ کی بورڈ فی الحال دکھائی دے رہا ہے؟
- استعمال کریں۔ getWindowVisibleDisplayFrame روٹ ویو کی اونچائی کے ساتھ اسکرین کے مرئی علاقے کا موازنہ کرنے کے لیے۔
- کیا بٹن کے کلک پر کی بورڈ کو پروگرام کے مطابق چھپانا ممکن ہے؟
- ہاں، کال کریں۔ InputMethodManager.hideSoftInputFromWindow بٹن میں onClickListener.
اینڈرائیڈ کی بورڈ کو چھپانے کے لیے اہم اقدامات
آخر میں، آپ کی ایپلیکیشن میں صارف کے تجربے کو بڑھانے کے لیے اینڈرائیڈ سافٹ کی بورڈ کا نظم کرنا بہت ضروری ہے۔ کا استعمال کرتے ہوئے InputMethodManager، آپ صارف کے تعاملات جیسے بٹن پر کلکس یا ٹچ ایونٹس کی بنیاد پر کی بورڈ کو پروگرام کے مطابق چھپا یا دکھا سکتے ہیں۔ مزید برآں، ترتیب دینا android:windowSoftInputMode آپ کی مینی فیسٹ فائل میں انتساب آپ کو کی بورڈ کے رویے کو زیادہ درست طریقے سے کنٹرول کرنے کی اجازت دیتا ہے۔ ان طریقوں کو لاگو کرنا اس بات کو یقینی بناتا ہے کہ کی بورڈ کی موجودگی ایپ کے استعمال میں مداخلت نہیں کرتی ہے، جو صارفین کو ایک ہموار اور بدیہی انٹرفیس فراہم کرتی ہے۔