Rokasgrāmata, kā programmatiski paslēpt Android mīksto tastatūru

Java, Kotlin

Ievads Android tastatūras slēpšanā

Izstrādājot Android lietojumprogrammas, ir gadījumi, kad programmatiski jāslēpj mīkstā tastatūra. Tas ir īpaši noderīgi, ja jūsu izkārtojumā ir rediģēšanas teksts un poga un vēlaties, lai tastatūra pazustu pēc noklikšķināšanas uz pogas.

Šajā rokasgrāmatā mēs izpētīsim vienkāršus un efektīvus veidus, kā sasniegt šo funkcionalitāti. Veicot norādītās darbības, varēsit uzlabot savas lietotnes lietošanas pieredzi, efektīvi pārvaldot tastatūras redzamību.

Komanda Apraksts
getSystemService Izgūst sistēmas līmeņa pakalpojumu pēc nosaukuma; šeit tas tiek izmantots, lai iegūtu InputMethodManager tastatūras pārvaldīšanai.
hideSoftInputFromWindow Slēpj logā mīksto tastatūru, kā parametrus izmantojot marķieri un karogus.
getCurrentFocus Atgriež pašreizējo fokusēto skatu aktivitātē, ko izmanto, lai noteiktu, no kurienes tastatūrai jāpaslēpjas.
onClickListener Iestata atzvanīšanu, kas tiek aktivizēta, kad tiek noklikšķināts uz skata (piem., poga).
dispatchTouchEvent Pārtver skārienekrāna kustības notikumus, pirms tie tiek nosūtīti uz logu, noder pielāgotai apstrādei ar pieskārienu.
windowToken Atgriež marķieri, kas unikāli identificē ar skatu saistīto logu, kas nepieciešams tastatūras paslēpšanai.

Izpratne par to, kā paslēpt Android tastatūru

Java piemērā skripts vispirms importē nepieciešamās klases, piemēram, , , un . The onCreate metode iestata izkārtojumu un inicializē un . Noklikšķinot uz pogas, metode tiek saukta. Šī metode izgūst pašreizējo fokusēto skatu, izmantojot getCurrentFocus, un, ja skats ir fokusēts, tas izmanto lai paslēptu mīksto tastatūru, zvanot . Tas efektīvi aizver tastatūru, kad tiek noklikšķināts uz pogas.

Kotlinas piemērā tiek sasniegta līdzīga funkcionalitāte. Skripts ignorē metode, lai iestatītu satura skatu un inicializētu un . Pogas klikšķa klausītājs izsauc hideKeyboard metodi. Turklāt, metode tiek ignorēta, lai paslēptu tastatūru, pieskaroties ārpusei. Šī metode pārbauda, ​​vai skats ir fokusēts, un paslēpj izmantoto tastatūru . Šie skripti uzlabo lietotāja pieredzi, efektīvi pārvaldot mīkstās tastatūras redzamību.

Programmatiski aizveriet Android mīksto tastatūru

Java Android izstrādei

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

Paslēpiet tastatūru, pieskaroties ārpusei

Kotlin Android izstrādei

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

Uzlabotas metodes Android tastatūras pārvaldīšanai

Vēl viens svarīgs Android mīkstās tastatūras pārvaldības aspekts ir tās redzamības pārvaldība, reaģējot uz dažādām lietotāja mijiedarbībām un konfigurācijām. Piemēram, iespējams, vēlēsities, lai tastatūra tiktu parādīta automātiski, kad iegūst fokusu vai nodrošina to paslēpšanu, pārvietojoties starp dažādiem lietotāja interfeisa komponentiem. To var panākt, izmantojot kopā ar dzīves cikla atzvaniem, piemēram, un onPause.

Turklāt jūs varat kontrolēt tastatūras darbību, pielāgojot atribūts jūsu darbības manifesta failā. Šis atribūts ļauj norādīt, vai tastatūrai ir jāpielāgo aktivitātes izkārtojums vai jāpaliek paslēptai, līdz tas tiek skaidri pieprasīts. Šo konfigurāciju izmantošana var ievērojami uzlabot lietotāja pieredzi, nodrošinot intuitīvāku un atsaucīgāku saskarni.

  1. Kā paslēpt tastatūru, ja zaudē fokusu?
  2. Jūs varat ignorēt klausītājs un zvaniet .
  3. Vai es varu automātiski parādīt tastatūru, kad iegūst uzmanību?
  4. Jā, izmantojiet iekš klausītājs.
  5. Kā es varu paslēpt tastatūru fragmentā?
  6. Zvaniet fragmenta skatījuma kontekstā.
  7. Kas ir izmanto?
  8. Tas norāda, kā tastatūra mijiedarbojas ar aktivitātes izkārtojumu, piemēram, maina izmērus vai paliek paslēpta.
  9. Kā paslēpt tastatūru, pieskaroties ārpusē ?
  10. Ignorēt savā darbībā, lai pārbaudītu pieskārienu notikumus ārpus .
  11. Vai es varu likt tastatūrai palikt paslēptai?
  12. Jā, iestatot uz manifestā.
  13. Kā noteikt, vai tastatūra pašlaik ir redzama?
  14. Izmantot lai salīdzinātu ekrāna redzamo laukumu ar saknes skata augstumu.
  15. Vai ir iespējams programmatiski paslēpt tastatūru, noklikšķinot uz pogas?
  16. Jā, zvaniet pogas .

Visbeidzot, Android mīkstās tastatūras pārvaldība ir ļoti svarīga, lai uzlabotu lietotāja pieredzi jūsu lietojumprogrammā. Izmantojot , varat programmatiski paslēpt vai parādīt tastatūru, pamatojoties uz lietotāja mijiedarbību, piemēram, pogu klikšķiem vai pieskāriena notikumiem. Turklāt, konfigurējot atribūts manifesta failā ļauj precīzāk kontrolēt tastatūras darbību. Šo metožu ieviešana nodrošina, ka tastatūras klātbūtne netraucē lietotnes lietojamību, nodrošinot lietotājiem vienmērīgu un intuitīvu saskarni.