ஆண்ட்ராய்டு சாஃப்ட் கீபோர்டை நிரல் முறையில் மறைத்து, பட்டன் கிளிக் செய்து வெளியே தொடவும்

ஆண்ட்ராய்டு சாஃப்ட் கீபோர்டை நிரல் முறையில் மறைத்து, பட்டன் கிளிக் செய்து வெளியே தொடவும்
Java

ஆண்ட்ராய்டு சாஃப்ட் கீபோர்டை நிர்வகித்தல்

ஆண்ட்ராய்டு பயன்பாடுகளுடன் பணிபுரிய பெரும்பாலும் மெய்நிகர் விசைப்பலகை மூலம் பயனர் உள்ளீடு தேவைப்படுகிறது. உங்கள் அமைப்பில் எடிட்டெக்ஸ்ட் மற்றும் பட்டன் இருக்கும் சூழ்நிலைகளில், கீபோர்டை திறம்பட நிர்வகிப்பது இன்றியமையாததாகிறது. குறிப்பாக, உரையை உள்ளிட்டு பொத்தானைக் கிளிக் செய்த பிறகு, பயனர் அனுபவத்தை மேம்படுத்த நீங்கள் விசைப்பலகையை மறைக்க விரும்பலாம்.

விசைப்பலகைக்கு வெளியே உள்ள பகுதிகளுடன் பயனர் தொடர்பு கொள்ளும்போது, ​​ஆண்ட்ராய்டு மென்மையான விசைப்பலகையை நிரல் ரீதியாக எவ்வாறு மூடுவது என்பதற்கான எளிய மற்றும் நடைமுறை உதாரணத்தை இந்தக் கட்டுரை வழங்கும். கோடிட்டுக் காட்டப்பட்டுள்ள படிகளைப் பின்பற்றுவதன் மூலம், உங்கள் Android பயன்பாட்டின் பயன்பாட்டினை மற்றும் இடைமுகத்தை மேம்படுத்தலாம்.

கட்டளை விளக்கம்
getSystemService உள்ளீட்டு முறைகளைக் கையாளுவதற்கு InputMethodManager போன்ற கணினி-நிலை சேவையை பெயரின் மூலம் மீட்டெடுக்கிறது.
hideSoftInputFromWindow தற்போது உள்ளீட்டை ஏற்கும் மென்மையான விசைப்பலகை சாளரத்தை மறைக்க கோரிக்கைகள்.
getWindowToken விசைப்பலகையை மறைக்க தேவையான காட்சியுடன் தொடர்புடைய சாளர டோக்கனை வழங்குகிறது.
onTouchEvent தொடுதிரை இயக்க நிகழ்வுகளைக் கையாளுகிறது, வெளியில் தொடும்போது கீபோர்டை மறைக்க இங்கே பயன்படுத்தப்படுகிறது.
findViewById EditText மற்றும் பட்டன் போன்ற UI கூறுகளைக் குறிப்பிடப் பயன்படும், கொடுக்கப்பட்ட ஐடியுடன் ஒரு பார்வையைக் கண்டுபிடித்து வழங்கும்.
setOnClickListener வியூவைக் கிளிக் செய்யும் போது திரும்ப அழைக்கப்படும், விசைப்பலகை மறைப்பதைத் தூண்டுவதற்குப் பயன்படுத்தப்படும்.

செயல்படுத்தலைப் புரிந்துகொள்வது

வழங்கப்பட்ட ஸ்கிரிப்டுகள், UI உடன் தொடர்பு கொள்ளும்போது, ​​குறிப்பாக ஒரு உரையை உள்ளிட்ட பிறகு, ஆண்ட்ராய்டு மென்மையான விசைப்பலகையை எவ்வாறு நிரல் முறையில் மறைப்பது என்பதை விளக்குகிறது. EditText புலம் மற்றும் கிளிக் செய்யவும் a Button. ஜாவா மற்றும் கோட்லின் எடுத்துக்காட்டுகள் பல முக்கிய ஆண்ட்ராய்டு கூறுகள் மற்றும் முறைகளைப் பயன்படுத்துகின்றன. இரண்டு ஸ்கிரிப்ட்களும் தேவையான வகுப்புகளை இறக்குமதி செய்வதன் மூலம் தொடங்குகின்றன Activity, Context, InputMethodManager, மற்றும் பல்வேறு UI கூறுகள். இல் onCreate முறை, findViewById இணைக்கப் பயன்படுகிறது EditText மற்றும் Button அமைப்பு முதல் குறியீடு வரை. தி setOnClickListener முறை பின்னர் தூண்டுவதற்கு பொத்தானில் அமைக்கப்பட்டுள்ளது hideKeyboard கிளிக் செய்யும் போது செயல்பாடு.

இரண்டு செயலாக்கங்களிலும், தி hideKeyboard செயல்பாடு பயன்படுத்துகிறது getSystemService மீட்டெடுக்க InputMethodManager சேவை. முறை hideSoftInputFromWindow பின்னர் உடன் அழைக்கப்படுகிறார் getWindowToken இன் EditText மென்மையான விசைப்பலகையை மறைக்க. கூடுதலாக, தி onTouchEvent உள்ளீட்டு புலத்திற்கு வெளியே பயனர் தொடும்போது விசைப்பலகை மறைக்கப்பட்டிருப்பதை உறுதிசெய்ய முறை மேலெழுதப்பட்டது. விசைப்பலகை தேவையில்லாமல் பார்வையைத் தடுப்பதைத் தடுப்பதன் மூலம் இந்த அணுகுமுறை பயனர் அனுபவத்தை மேம்படுத்துகிறது. இந்த முறைகளைப் பயன்படுத்துவதன் மூலமும், தொடுதல் நிகழ்வுகளை சரியான முறையில் கையாளுவதன் மூலமும், ஸ்கிரிப்ட்கள் Android பயன்பாட்டில் மென்மையான விசைப்பலகை நடத்தையை திறமையாக நிர்வகிக்கின்றன.

உள்ளீட்டு புலத்திற்கு வெளியே பட்டன் கிளிக் செய்து தொட்டு ஆன்ட்ராய்டு சாஃப்ட் கீபோர்டை மறைத்தல்

ஆண்ட்ராய்டு மேம்பாட்டில் ஜாவாவைப் பயன்படுத்துதல்

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);
    }
}

கோட்லின் பயன்படுத்தி ஆண்ட்ராய்டில் மென்மையான விசைப்பலகை நீக்குதலைக் கையாளுதல்

ஆண்ட்ராய்டு ஆப் டெவலப்மென்ட் செய்ய Kotlin ஐப் பயன்படுத்துகிறது

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)
    }
}

விசைப்பலகை மேலாண்மைக்கான மேம்பட்ட நுட்பங்களை ஆராய்தல்

ஆண்ட்ராய்டு சாஃப்ட் கீபோர்டை மறைக்கும் அடிப்படை முறைகளுக்கு அப்பால், டெவலப்பர்கள் பயனர் அனுபவத்தை மேம்படுத்த மேம்பட்ட நுட்பங்களைச் செயல்படுத்தலாம். அத்தகைய ஒரு முறை பயன்படுத்துவதை உள்ளடக்கியது TouchListeners பல UI கூறுகளில் தொடு நிகழ்வுகளைக் கண்டறிந்து அதற்கேற்ப விசைப்பலகையை மறைக்கவும். இந்த அணுகுமுறை பயனர் திரையின் எந்தப் பகுதிக்கும் வெளியே தொடர்பு கொள்ளும் போதெல்லாம் விசைப்பலகை மறைக்கப்படுவதை உறுதி செய்கிறது EditText. கூடுதலாக, விசைப்பலகையின் தெரிவுநிலையை நிர்வகித்தல், ஃபோகசிங் லாஜிக்குடன் இணைக்கப்படலாம். EditText மற்றொரு கூறுக்கு, விசைப்பலகை தானாக மறைக்க தூண்டுகிறது.

மற்றொரு நுட்பத்தைப் பயன்படுத்துவது View.OnFocusChangeListener அதன் மேல் EditText. எப்போது என்பதை இந்தக் கேட்பவர் கண்டறிய முடியும் EditText கவனத்தை இழக்கிறது, பின்னர் விசைப்பலகையை மறைக்கிறது. பல உள்ளீட்டு புலங்கள் சம்பந்தப்பட்ட படிவங்கள் அல்லது தரவு உள்ளீடு பயன்பாடுகளில் இந்த முறை மிகவும் பயனுள்ளதாக இருக்கும். மேலும், அதிக தடையற்ற பயனர் அனுபவத்திற்கு, டெவலப்பர்கள் பணியமர்த்தலாம் SoftKeyboardStateWatcher, விசைப்பலகையின் தெரிவுநிலை நிலை மாற்றங்களைக் கண்காணித்து அதற்கேற்ப பதிலளிக்கும் தனிப்பயன் செயலாக்கம். இத்தகைய மேம்பட்ட நுட்பங்களை ஒருங்கிணைப்பதன் மூலம், டெவலப்பர்கள் மிகவும் உள்ளுணர்வு மற்றும் பயனர் நட்பு Android பயன்பாடுகளை உருவாக்க முடியும்.

ஆண்ட்ராய்டு சாஃப்ட் கீபோர்டை நிர்வகிப்பது குறித்து அடிக்கடி கேட்கப்படும் கேள்விகள்

  1. விசைப்பலகை காண்பிக்கப்படும்போது அல்லது மறைக்கப்படும்போது நான் எவ்வாறு கண்டறிவது?
  2. நீங்கள் ஒரு பயன்படுத்தலாம் SoftKeyboardStateWatcher விசைப்பலகையின் தெரிவுநிலை மாற்றங்களைக் கண்காணிக்க.
  3. ஒரு பயனர் ஸ்க்ரோல் செய்யும் போது தானாகவே கீபோர்டை மறைக்க முடியுமா?
  4. ஆம், நீங்கள் ஒரு செயல்படுத்த முடியும் OnScrollListener ஸ்க்ரோலிங் போது விசைப்பலகையை மறைக்க உருள் காட்சியில்.
  5. ஒரு போது நான் விசைப்பலகையை நிரல் ரீதியாகக் காட்ட முடியுமா? EditText கவனம் செலுத்துகிறதா?
  6. ஆம், பயன்படுத்தவும் InputMethodManager.showSoftInput போது விசைப்பலகை காட்ட EditText கவனம் பெறுகிறது.
  7. பயனர் பின் பொத்தானை அழுத்தும்போது விசைப்பலகையை எவ்வாறு மறைப்பது?
  8. மேலெழுதவும் onBackPressed முறை மற்றும் பயன்படுத்தி விசைப்பலகை மறைக்க InputMethodManager.
  9. விசைப்பலகை அமைப்பைத் தனிப்பயனாக்க முடியுமா?
  10. ஆம், ஆண்ட்ராய்டு தனிப்பயன் விசைப்பலகை தளவமைப்புகளை அனுமதிக்கிறது InputMethodService.
  11. விசைப்பலகையை ஒரு துண்டுக்குள் மறைக்க சிறந்த வழி எது?
  12. பயன்படுத்தவும் getActivity().getSystemService பெற InputMethodManager ஒரு துண்டில்.
  13. துண்டுகளுக்கு இடையில் மாறும்போது விசைப்பலகையை எவ்வாறு மறைப்பது?
  14. செயல்படுத்தவும் FragmentTransaction ஸ்விட்ச் செய்யும் போது கீபோர்டை மறைக்க கேட்பவர்.
  15. விசைப்பலகையின் மறைவை உயிரூட்ட முடியுமா?
  16. ஆம், உள்ள காட்சியை நீங்கள் அனிமேஷன் செய்யலாம் EditText ஒரு மென்மையான மறைக்கும் விளைவை உருவாக்க.

முக்கிய எடுத்துச் செல்லுதல்களை சுருக்கவும்

உள்ளுணர்வு பயன்பாடுகளை உருவாக்குவதற்கு ஆண்ட்ராய்ட் சாஃப்ட் கீபோர்டை திறம்பட நிர்வகிப்பது மிகவும் முக்கியமானது. GetSystemService ஐப் பயன்படுத்தி InputMethodManager ஐ மீட்டெடுக்கவும் மற்றும் விசைப்பலகையை மறைக்க SoftInputFromWindow ஐ மறைக்கவும், விசைப்பலகை தோன்றும் மற்றும் மறையும் போது டெவலப்பர்கள் கட்டுப்படுத்தலாம். தொடுதல் மற்றும் கிளிக் கேட்பவர்களைச் செயல்படுத்துவது இந்தக் கட்டுப்பாட்டை மேலும் செம்மைப்படுத்துகிறது, மற்ற UI கூறுகளுடன் தொடர்பு கொள்ளும்போது விசைப்பலகை சரியான முறையில் மறைவதை உறுதி செய்கிறது. முக்கியமான உள்ளடக்கம் அல்லது UI கூறுகளை விசைப்பலகை தடுப்பதன் மூலம் இந்த நுட்பங்கள் பயனர் அனுபவத்தை மேம்படுத்துகின்றன.