پروگرامی طور پر بٹن پر اینڈرائیڈ سافٹ کی بورڈ کو چھپائیں اور باہر کو ٹچ کریں۔

پروگرامی طور پر بٹن پر اینڈرائیڈ سافٹ کی بورڈ کو چھپائیں اور باہر کو ٹچ کریں۔
Java

اینڈرائیڈ سافٹ کی بورڈ کا نظم کرنا

اینڈرائیڈ ایپلی کیشنز کے ساتھ کام کرنے کے لیے اکثر ورچوئل کی بورڈ کے ذریعے صارف کے ان پٹ کی ضرورت ہوتی ہے۔ ایسے حالات میں جہاں آپ کے لے آؤٹ میں ایک EditText اور ایک بٹن ہوتا ہے، کی بورڈ کو مؤثر طریقے سے منظم کرنا ضروری ہو جاتا ہے۔ خاص طور پر، متن داخل کرنے اور بٹن پر کلک کرنے کے بعد، آپ صارف کے تجربے کو بہتر بنانے کے لیے کی بورڈ کو چھپانا چاہیں گے۔

یہ مضمون ایک سادہ اور عملی مثال فراہم کرے گا کہ جب صارف کی بورڈ سے باہر کے علاقوں کے ساتھ تعامل کرتا ہے تو Android سافٹ کی بورڈ کو پروگرام کے مطابق کیسے بند کیا جائے۔ بیان کردہ اقدامات پر عمل کرکے، آپ اپنی اینڈرائیڈ ایپلیکیشن کے استعمال اور انٹرفیس کو بڑھا سکتے ہیں۔

کمانڈ تفصیل
getSystemService نام سے سسٹم لیول سروس کو بازیافت کرتا ہے، جیسے کہ ان پٹ طریقوں کو سنبھالنے کے لیے InputMethodManager۔
hideSoftInputFromWindow نرم کی بورڈ ونڈو کو چھپانے کی درخواست جو فی الحال ان پٹ قبول کر رہی ہے۔
getWindowToken کی بورڈ کو چھپانے کے لیے ضروری منظر سے وابستہ ونڈو ٹوکن لوٹاتا ہے۔
onTouchEvent ٹچ اسکرین موشن ایونٹس کو ہینڈل کرتا ہے، جو باہر ٹچ پر کی بورڈ کو چھپانے کے لیے یہاں استعمال ہوتا ہے۔
findViewById دی گئی ID کے ساتھ ایک منظر تلاش کرتا ہے اور واپس کرتا ہے، جو UI عناصر جیسے EditText اور بٹن کا حوالہ دینے کے لیے استعمال ہوتا ہے۔
setOnClickListener ایک کال بیک سیٹ کرتا ہے جسے کی بورڈ چھپانے کو متحرک کرنے کے لیے استعمال ہونے والے ویو پر کلک کرنے پر طلب کیا جائے گا۔

نفاذ کو سمجھنا

فراہم کردہ اسکرپٹس یہ ظاہر کرتی ہیں کہ UI کے ساتھ بات چیت کرتے وقت اینڈرائیڈ سافٹ کی بورڈ کو پروگرام کے مطابق کیسے چھپایا جائے، خاص طور پر EditText فیلڈ اور کلک کرنا a Button. جاوا اور کوٹلن کی مثالیں اینڈرائیڈ کے کئی اہم اجزاء اور طریقے استعمال کرتی ہیں۔ دونوں اسکرپٹ ضروری کلاسوں کو درآمد کرکے شروع کرتے ہیں جیسے Activity، Context، InputMethodManager، اور مختلف UI اجزاء۔ میں onCreate طریقہ، findViewById کو جوڑنے کے لیے استعمال کیا جاتا ہے۔ EditText اور Button لے آؤٹ سے کوڈ تک۔ دی setOnClickListener پھر طریقہ کو متحرک کرنے کے لیے بٹن پر سیٹ کیا جاتا ہے۔ hideKeyboard کلک کرنے پر فنکشن۔

دونوں نفاذ میں، hideKeyboard فنکشن استعمال کرتا ہے۔ getSystemService بازیافت کرنے کے لئے InputMethodManager سروس طریقہ کار hideSoftInputFromWindow پھر کے ساتھ بلایا جاتا ہے۔ getWindowToken کے EditText نرم کی بورڈ کو چھپانے کے لیے۔ مزید برآں، onTouchEvent اس بات کو یقینی بنانے کے لیے طریقہ کو اوور رائیڈ کیا جاتا ہے کہ جب صارف ان پٹ فیلڈ سے باہر چھوتا ہے تو کی بورڈ چھپا ہوا ہے۔ یہ نقطہ نظر کی بورڈ کو غیر ضروری طور پر دیکھنے میں رکاوٹ ڈالنے سے روک کر صارف کے تجربے کو بہتر بناتا ہے۔ ان طریقوں کو استعمال کرکے اور ٹچ ایونٹس کو مناسب طریقے سے ہینڈل کرکے، اسکرپٹس اینڈرائیڈ ایپلی کیشن میں نرم کی بورڈ کے رویے کو مؤثر طریقے سے منظم کرتی ہیں۔

بٹن پر اینڈرائیڈ سافٹ کی بورڈ کو چھپانا ان پٹ فیلڈ کے باہر کلک کریں اور ٹچ کریں۔

اینڈرائیڈ ڈویلپمنٹ میں جاوا کا استعمال

import android.app.Activity;
import android.content.Context;
import android.os.Bundle;
import android.view.MotionEvent;
import android.view.View;
import android.view.inputmethod.InputMethodManager;
import android.widget.Button;
import android.widget.EditText;
 
public class MainActivity extends Activity {
    private EditText editText;
    private Button button;
 
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
 
        editText = findViewById(R.id.editText);
        button = findViewById(R.id.button);
 
        button.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                hideKeyboard();
            }
        });
    }
 
    @Override
    public boolean onTouchEvent(MotionEvent event) {
        hideKeyboard();
        return super.onTouchEvent(event);
    }
 
    private void hideKeyboard() {
        InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
        imm.hideSoftInputFromWindow(editText.getWindowToken(), 0);
    }
}

کوٹلن کا استعمال کرتے ہوئے اینڈرائیڈ میں سافٹ کی بورڈ کی برخاستگی کو ہینڈل کرنا

اینڈرائیڈ ایپ ڈیولپمنٹ کے لیے کوٹلن کو ملازمت دینا

import android.app.Activity
import android.content.Context
import android.os.Bundle
import android.view.MotionEvent
import android.view.View
import android.view.inputmethod.InputMethodManager
import android.widget.Button
import android.widget.EditText
 
class MainActivity : Activity() {
    private lateinit var editText: EditText
    private lateinit var button: Button
 
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_main)
 
        editText = findViewById(R.id.editText)
        button = findViewById(R.id.button)
 
        button.setOnClickListener { hideKeyboard() }
    }
 
    override fun onTouchEvent(event: MotionEvent): Boolean {
        hideKeyboard()
        return super.onTouchEvent(event)
    }
 
    private fun hideKeyboard() {
        val imm = getSystemService(Context.INPUT_METHOD_SERVICE) as InputMethodManager
        imm.hideSoftInputFromWindow(editText.windowToken, 0)
    }
}

کی بورڈ مینجمنٹ کے لیے جدید تکنیکوں کی تلاش

Android سافٹ کی بورڈ کو چھپانے کے بنیادی طریقوں سے ہٹ کر، ڈویلپرز صارف کے تجربے کو بڑھانے کے لیے مزید جدید تکنیکوں کو لاگو کر سکتے ہیں۔ ایسا ہی ایک طریقہ استعمال کرنا شامل ہے۔ TouchListeners ٹچ ایونٹس کا پتہ لگانے اور اس کے مطابق کی بورڈ کو چھپانے کے لیے متعدد UI اجزاء پر۔ یہ نقطہ نظر اس بات کو یقینی بناتا ہے کہ جب بھی صارف اسکرین کے باہر کسی بھی حصے کے ساتھ تعامل کرتا ہے تو کی بورڈ چھپا ہوتا ہے۔ EditText. مزید برآں، کی بورڈ کی مرئیت کا انتظام فوکسنگ منطق کے ساتھ کیا جا سکتا ہے، جہاں فوکس کو اس سے ہٹا دیا جاتا ہے۔ EditText کی بورڈ کو خود بخود چھپانے کا اشارہ کرتے ہوئے، دوسرے جزو کی طرف۔

ایک اور تکنیک استعمال کرنا ہے۔ View.OnFocusChangeListener پر EditText. یہ سننے والا پتہ لگا سکتا ہے کہ کب EditText توجہ کھو دیتا ہے، اور بعد میں کی بورڈ کو چھپا دیتا ہے۔ یہ طریقہ خاص طور پر فارمز یا ڈیٹا انٹری ایپلی کیشنز میں مفید ہے جہاں متعدد ان پٹ فیلڈز شامل ہیں۔ مزید برآں، زیادہ ہموار صارف کے تجربے کے لیے، ڈویلپر ملازمت کر سکتے ہیں۔ SoftKeyboardStateWatcher، ایک حسب ضرورت نفاذ جو کی بورڈ کی مرئیت کی حالت میں تبدیلیوں کو ٹریک کرتا ہے اور اس کے مطابق جواب دیتا ہے۔ اس طرح کی جدید تکنیکوں کو مربوط کرکے، ڈویلپرز زیادہ بدیہی اور صارف دوست اینڈرائیڈ ایپلی کیشنز بنا سکتے ہیں۔

اینڈرائیڈ سافٹ کی بورڈ کے نظم و نسق سے متعلق اکثر پوچھے جانے والے سوالات

  1. جب کی بورڈ دکھایا یا چھپا ہو تو میں کیسے پتہ لگا سکتا ہوں؟
  2. آپ استعمال کر سکتے ہیں a SoftKeyboardStateWatcher کی بورڈ کی مرئیت کی تبدیلیوں کو ٹریک کرنے کے لیے۔
  3. جب صارف سکرول کرتا ہے تو کیا کی بورڈ کو خود بخود چھپانا ممکن ہے؟
  4. ہاں، آپ ایک کو لاگو کر سکتے ہیں۔ OnScrollListener سکرولنگ کے دوران کی بورڈ کو چھپانے کے لیے اسکرول ویو پر۔
  5. کیا میں پروگرامی طور پر کی بورڈ دکھا سکتا ہوں جب ایک EditText مرکوز ہے؟
  6. جی ہاں، استعمال کریں InputMethodManager.showSoftInput کی بورڈ دکھانے کے لیے جب EditText توجہ حاصل کرتا ہے.
  7. جب صارف بیک بٹن دباتا ہے تو میں کی بورڈ کو کیسے چھپا سکتا ہوں؟
  8. کو اوور رائیڈ کریں۔ onBackPressed طریقہ اور استعمال کرتے ہوئے کی بورڈ کو چھپائیں InputMethodManager.
  9. کیا میں کی بورڈ لے آؤٹ کو اپنی مرضی کے مطابق بنا سکتا ہوں؟
  10. ہاں، Android اپنی مرضی کے کی بورڈ لے آؤٹ کی اجازت دیتا ہے۔ InputMethodService.
  11. کی بورڈ کو ٹکڑے میں چھپانے کا بہترین طریقہ کیا ہے؟
  12. استعمال کریں۔ getActivity().getSystemService حاصل کرنے کے لئے InputMethodManager ایک ٹکڑے میں
  13. ٹکڑوں کے درمیان سوئچ کرتے وقت میں کی بورڈ کو کیسے چھپا سکتا ہوں؟
  14. لاگو کرنا a FragmentTransaction سوئچ کے دوران کی بورڈ کو چھپانے کے لیے سننے والے کے ساتھ۔
  15. کیا کی بورڈ کے چھپنے کو متحرک کرنا ممکن ہے؟
  16. ہاں، آپ اس منظر کو متحرک کر سکتے ہیں جس میں موجود ہے۔ EditText ہموار چھپنے کا اثر پیدا کرنے کے لیے۔

کلیدی ٹیک ویز کا خلاصہ

بدیہی ایپلی کیشنز بنانے کے لیے اینڈرائیڈ سافٹ کی بورڈ کا مؤثر طریقے سے انتظام کرنا بہت ضروری ہے۔ InputMethodManager کو بازیافت کرنے کے لیے getSystemService کا استعمال کرتے ہوئے اور کی بورڈ کو چھپانے کے لیے SoftInputFromWindow کو چھپا کر، ڈویلپرز کنٹرول کر سکتے ہیں کہ کی بورڈ کب ظاہر ہوتا ہے اور غائب ہو جاتا ہے۔ ٹچ اور کلک سننے والوں کو لاگو کرنا اس کنٹرول کو مزید بہتر کرتا ہے، اس بات کو یقینی بناتا ہے کہ دوسرے UI عناصر کے ساتھ تعامل کرتے وقت کی بورڈ مناسب طریقے سے چھپ جائے۔ یہ تکنیکیں کی بورڈ کو اہم مواد یا UI عناصر میں رکاوٹ ڈالنے سے روک کر صارف کے تجربے میں اضافہ کرتی ہیں۔