Opas piilottaa Android-pehmonäppäimistö ohjelmallisesti

Java, Kotlin

Johdanto Android-näppäimistön piilottamiseen

Android-sovelluksia kehitettäessä on aikoja, jolloin sinun on piilotettava ohjelmallisesti pehmeä näppäimistö. Tämä on erityisen hyödyllistä, kun asettelussasi on EditText ja Button ja haluat näppäimistön katoavan painikkeen napsautuksen jälkeen.

Tässä oppaassa tutkimme yksinkertaisia ​​ja tehokkaita tapoja saavuttaa tämä toiminto. Noudattamalla annettuja ohjeita voit parantaa sovelluksesi käyttökokemusta hallitsemalla näppäimistön näkyvyyttä tehokkaasti.

Komento Kuvaus
getSystemService Hakee järjestelmätason palvelun nimellä; täällä sitä käytetään InputMethodManagerin saamiseksi näppäimistön hallintaan.
hideSoftInputFromWindow Piilottaa pehmeän näppäimistön ikkunasta ja ottaa tunnuksen ja liput parametreina.
getCurrentFocus Palauttaa toiminnon nykyisen kohdistetun näkymän, jota käytetään määrittämään, mistä näppäimistön pitäisi piiloutua.
onClickListener Määrittää takaisinkutsun, joka käynnistyy, kun näkymää (esim. painiketta) napsautetaan.
dispatchTouchEvent Sieppaa kosketusnäytön liiketapahtumat ennen kuin ne lähetetään ikkunaan, mikä on hyödyllistä mukautetussa kosketuskäsittelyssä.
windowToken Palauttaa näppäimistön piilottamiseen tarvittavan tunnuksen, joka yksilöi näkymään liittyvän ikkunan.

Android-näppäimistön piilottaminen

Java-esimerkissä komentosarja tuo ensin tarvittavat luokat, kuten , , ja . The onCreate menetelmä määrittää asettelun ja alustaa sen ja . Kun painiketta napsautetaan, menetelmää kutsutaan. Tämä menetelmä hakee nykyisen kohdistetun näkymän käyttämällä getCurrentFocus, ja jos näkymä on tarkennettu, se käyttää piilottaaksesi pehmeän näppäimistön soittamalla . Tämä sulkee näppäimistön tehokkaasti, kun painiketta napsautetaan.

Kotlin-esimerkissä saavutetaan samanlainen toiminnallisuus. Käsikirjoitus ohittaa tapa asettaa sisältönäkymä ja alustaa ja . Painikeklikkauksen kuuntelija kutsuu hideKeyboard menetelmä. Lisäksi, Menetelmä ohitetaan piilottaaksesi näppäimistön, kun kosketat ulkoa. Tämä menetelmä tarkistaa, onko näkymä kohdistettu, ja piilottaa näppäimistön . Nämä komentosarjat parantavat käyttökokemusta hallitsemalla pehmeän näppäimistön näkyvyyttä tehokkaasti.

Androidin pehmeän näppäimistön sulkeminen ohjelmallisesti

Java Android-kehitykseen

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

Piilota näppäimistö, kun kosketat ulkoa

Kotlin Android-kehitykseen

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

Kehittyneet tekniikat Android-näppäimistön hallintaan

Toinen tärkeä näkökohta Android-pehmeän näppäimistön hallinnassa on sen näkyvyyden käsittely vastauksena erilaisiin käyttäjien vuorovaikutuksiin ja kokoonpanoihin. Voit esimerkiksi haluta, että näppäimistö tulee automaattisesti näkyviin, kun tarkentaa tai varmistaa sen piilottamisen navigoidessasi eri käyttöliittymäkomponenttien välillä. Tämä voidaan saavuttaa käyttämällä sekä elinkaaripuhelut, kuten ja onPause.

Lisäksi voit hallita näppäimistön toimintaa säätämällä määrite toimintosi luettelotiedostossa. Tämän määritteen avulla voit määrittää, tuleeko näppäimistön säätää toiminnon asettelua vai pysyä piilossa, kunnes sitä erikseen pyydetään. Näiden kokoonpanojen hyödyntäminen voi parantaa merkittävästi käyttökokemusta tarjoamalla intuitiivisemman ja reagoivamman käyttöliittymän.

  1. Kuinka piilotan näppäimistön, kun an menettää keskittymisen?
  2. Voit ohittaa kuuntelija ja soita .
  3. Voinko näyttää näppäimistön automaattisesti, kun saa keskittymistä?
  4. Kyllä, käytä in kuuntelija.
  5. Kuinka voin piilottaa näppäimistön fragmentiksi?
  6. Puhelu fragmentin näkemyksen kontekstissa.
  7. Mikä on käytetty?
  8. Se määrittää, kuinka näppäimistö on vuorovaikutuksessa toiminnon asettelun kanssa, kuten koon muuttaminen tai piilottaminen.
  9. Kuinka piilotan näppäimistön, kun kosketat sen ulkopuolella ?
  10. Ohittaa toiminnassasi tarkistaaksesi kosketustapahtumat alueen ulkopuolella .
  11. Voinko pakottaa näppäimistön pysymään piilossa?
  12. Kyllä, asetuksella to manifestissa.
  13. Kuinka tunnistan, onko näppäimistö tällä hetkellä näkyvissä?
  14. Käyttää verrata näytön näkyvää aluetta juurinäkymän korkeuteen.
  15. Onko mahdollista piilottaa näppäimistö ohjelmallisesti napin painalluksella?
  16. Kyllä, soita painikkeessa .

Yhteenvetona voidaan todeta, että Androidin pehmeän näppäimistön hallinta on ratkaisevan tärkeää sovelluksesi käyttökokemuksen parantamiseksi. Käyttämällä , voit ohjelmallisesti piilottaa tai näyttää näppäimistön käyttäjien toimien, kuten painikkeiden napsautusten tai kosketustapahtumien, perusteella. Lisäksi määrittämällä Attribuutilla luettelotiedostossasi voit hallita näppäimistön toimintaa tarkemmin. Näiden menetelmien käyttöönotto varmistaa, että näppäimistön läsnäolo ei häiritse sovelluksen käytettävyyttä, mikä tarjoaa käyttäjille sujuvan ja intuitiivisen käyttöliittymän.