Programmatiski paslēpiet Android mīksto tastatūru, noklikšķinot uz pogas un pieskaroties ārpusē

Java

Android mīkstās tastatūras pārvaldība

Lai strādātu ar Android lietojumprogrammām, lietotājam bieži ir nepieciešama ievade, izmantojot virtuālo tastatūru. Gadījumos, kad jūsu izkārtojumā ir rediģēšanas teksts un poga, ir svarīgi efektīvi pārvaldīt tastatūru. Konkrēti, pēc teksta ievadīšanas un noklikšķināšanas uz pogas, iespējams, vēlēsities paslēpt tastatūru, lai uzlabotu lietotāja pieredzi.

Šajā rakstā ir sniegts vienkāršs un praktisks piemērs tam, kā programmatiski aizvērt Android mīksto tastatūru, kad lietotājs mijiedarbojas ar vietām ārpus tastatūras. Veicot norādītās darbības, varat uzlabot savas Android lietojumprogrammas lietojamību un saskarni.

Pavēli Apraksts
getSystemService Izgūst sistēmas līmeņa pakalpojumu pēc nosaukuma, piemēram, InputMethodManager ievades metožu apstrādei.
hideSoftInputFromWindow Pieprasa paslēpt mīkstās tastatūras logu, kas pašlaik pieņem ievadi.
getWindowToken Atgriež ar skatu saistīto loga marķieri, kas nepieciešams tastatūras paslēpšanai.
onTouchEvent Apstrādā skārienekrāna kustības notikumus, ko izmanto, lai paslēptu tastatūru, pieskaroties ārpusē.
findViewById Atrod un atgriež skatu ar norādīto ID, ko izmanto, lai atsauktos uz lietotāja interfeisa elementiem, piemēram, EditText un Button.
setOnClickListener Iestata atzvanu, kas tiks izsaukts, noklikšķinot uz skata, un tiek izmantots, lai aktivizētu tastatūras slēpšanu.

Izpratne par ieviešanu

Piedāvātie skripti parāda, kā programmatiski paslēpt Android mīksto tastatūru, mijiedarbojoties ar lietotāja interfeisu, īpaši pēc teksta ievadīšanas laukā un noklikšķinot uz a . Java un Kotlin piemēros tiek izmantoti vairāki galvenie Android komponenti un metodes. Abi skripti sākas, importējot nepieciešamās klases, piemēram, , Context, un dažādi lietotāja interfeisa komponenti. Iekš metode, tiek izmantots, lai saistītu EditText un no izkārtojuma līdz kodam. The metode ir iestatīta uz pogas, lai aktivizētu funkcija, noklikšķinot.

Abās implementācijās funkciju lietojumi lai izgūtu apkalpošana. Metode hideSoftInputFromWindow pēc tam tiek izsaukts ar no lai paslēptu mīksto tastatūru. Turklāt, metode tiek ignorēta, lai nodrošinātu, ka tastatūra tiek paslēpta, kad lietotājs pieskaras ārpus ievades lauka. Šī pieeja uzlabo lietotāja pieredzi, neļaujot tastatūrai nevajadzīgi traucēt skatu. Izmantojot šīs metodes un atbilstoši apstrādājot pieskāriena notikumus, skripti efektīvi pārvalda mīkstās tastatūras darbību Android lietojumprogrammā.

Android mīkstās tastatūras paslēpšana, kad noklikšķiniet uz pogas un pieskarieties ārpus ievades lauka

Java izmantošana Android izstrādē

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

Mīkstās tastatūras atlaišanas apstrāde operētājsistēmā Android, izmantojot Kotlin

Android lietotņu izstrādei izmanto Kotlinu

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

Izpētiet uzlabotas tastatūras pārvaldības metodes

Papildus Android mīkstās tastatūras slēpšanas pamatmetodēm izstrādātāji var ieviest uzlabotas metodes, lai uzlabotu lietotāja pieredzi. Viena no šādām metodēm ietver izmantošanu vairākos UI komponentos, lai noteiktu pieskāriena notikumus un attiecīgi paslēptu tastatūru. Šī pieeja nodrošina, ka tastatūra tiek paslēpta ikreiz, kad lietotājs mijiedarbojas ar kādu ekrāna daļu ārpus tās . Turklāt tastatūras redzamības pārvaldību var apvienot ar fokusēšanas loģiku, kur fokuss tiek novirzīts prom no uz citu komponentu, liekot tastatūrai automātiski paslēpties.

Vēl viens paņēmiens ir izmantot uz . Šis klausītājs var noteikt, kad zaudē fokusu un pēc tam paslēpj tastatūru. Šī metode ir īpaši noderīga veidlapās vai datu ievades lietojumprogrammās, kur ir iesaistīti vairāki ievades lauki. Turklāt izstrādātāji var izmantot, lai lietotāja pieredze būtu vienmērīgāka SoftKeyboardStateWatcher, pielāgota implementācija, kas izseko tastatūras redzamības stāvokļa izmaiņas un attiecīgi reaģē. Integrējot šādas uzlabotas metodes, izstrādātāji var izveidot intuitīvākas un lietotājam draudzīgākas Android lietojumprogrammas.

  1. Kā es varu noteikt, kad tastatūra ir parādīta vai paslēpta?
  2. Jūs varat izmantot a lai izsekotu tastatūras redzamības izmaiņām.
  3. Vai ir iespējams automātiski paslēpt tastatūru, kad lietotājs ritina?
  4. Jā, jūs varat īstenot a ritināšanas skatā, lai ritināšanas laikā paslēptu tastatūru.
  5. Vai es varu programmatiski parādīt tastatūru, kad an ir fokusēts?
  6. Jā, izmantojiet lai parādītu tastatūru, kad iegūst fokusu.
  7. Kā paslēpt tastatūru, kad lietotājs nospiež pogu Atpakaļ?
  8. Ignorēt metodi un paslēpiet tastatūru, izmantojot .
  9. Vai es varu pielāgot tastatūras izkārtojumu?
  10. Jā, Android nodrošina pielāgotus tastatūras izkārtojumus .
  11. Kāds ir labākais veids, kā paslēpt tastatūru fragmentā?
  12. Izmantot lai iegūtu fragmentā.
  13. Kā es varu paslēpt tastatūru, pārslēdzoties starp fragmentiem?
  14. Īstenot a ar klausītāju, lai pārslēgšanas laikā paslēptu tastatūru.
  15. Vai ir iespējams animēt tastatūras slēpšanu?
  16. Jā, varat animēt skatu, kurā ir lai radītu vienmērīgu slēpšanās efektu.

Efektīva Android mīkstās tastatūras pārvaldība ir ļoti svarīga intuitīvu lietojumprogrammu izveidei. Izmantojot getSystemService, lai izgūtu InputMethodManager un hideSoftInputFromWindow, lai paslēptu tastatūru, izstrādātāji var kontrolēt, kad tastatūra parādās un pazūd. Pieskārienu un klikšķu klausītāju ieviešana vēl vairāk uzlabo šo vadību, nodrošinot, ka tastatūra tiek atbilstoši paslēpta, mijiedarbojoties ar citiem lietotāja interfeisa elementiem. Šīs metodes uzlabo lietotāja pieredzi, neļaujot tastatūrai traucēt svarīgu saturu vai lietotāja interfeisa elementus.