国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

Android開發(fā) 文本輸入 EditText 監(jiān)聽器

這篇具有很好參考價(jià)值的文章主要介紹了Android開發(fā) 文本輸入 EditText 監(jiān)聽器。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

1.EditText

文本編輯框:用戶輸入文本信息

可以輸入的文本類型如下:?

android edittext 輸入監(jiān)聽,APP開發(fā),android,android studio

常用屬性:

android edittext 輸入監(jiān)聽,APP開發(fā),android,android studio

?系統(tǒng)默認(rèn)的EditText:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".EdittextActivity"
    android:orientation="vertical"

    >


    <EditText
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:hint="please enter user name"
        android:inputType="text"
        android:maxLength="20"
        android:textColorHint="@color/purple_200"
        ></EditText>

    <EditText
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:hint="please enter password"
        android:inputType="numberPassword"
        android:maxLength="16"
        android:textColorHint="@color/teal_200"
        android:paddingTop="20dp"
        ></EditText>

</LinearLayout>

效果圖:

android edittext 輸入監(jiān)聽,APP開發(fā),android,android studio

android edittext 輸入監(jiān)聽,APP開發(fā),android,android studio

當(dāng)然也可以自定義EditText的背景,比如用selector設(shè)定獲取焦點(diǎn)時(shí)EditText背景的變化。

selector:

android edittext 輸入監(jiān)聽,APP開發(fā),android,android studio

其中focus和nofocus都是自定義的shape,分別表示聚焦和沒有聚焦時(shí)的背景,如下圖

focus shape:?

android edittext 輸入監(jiān)聽,APP開發(fā),android,android studio

nofocus shape:?

android edittext 輸入監(jiān)聽,APP開發(fā),android,android studio

xml:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".EdittextActivity"
    android:orientation="vertical"

    >
    <EditText
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:hint="default edit text"
        android:inputType="text"
        android:maxLength="20"


        ></EditText>

    <EditText
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:hint=" edit text with no background"
        android:inputType="text"
        android:maxLength="20"
        android:background="@null"


        ></EditText>

    <EditText
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:hint="use selector"
        android:inputType="text"
        android:maxLength="20"
        android:background="@drawable/edittext"

        ></EditText>



</LinearLayout>

效果圖:

android edittext 輸入監(jiān)聽,APP開發(fā),android,android studio

android edittext 輸入監(jiān)聽,APP開發(fā),android,android studio

2.焦點(diǎn)變更監(jiān)聽器

使用EditText時(shí),可以在focus變更時(shí)觸發(fā)事件,常用于檢查EditText的內(nèi)容或者長(zhǎng)度。

注意這里是焦點(diǎn)變更,而不是點(diǎn)擊事件,因?yàn)镋ditText點(diǎn)擊一次觸發(fā)的是焦點(diǎn)變更,第二次點(diǎn)擊才會(huì)觸發(fā)點(diǎn)擊事件。

?xml:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".FocusActivity"
    android:orientation="vertical"
    >

    <EditText
        android:id="@+id/etPhone"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:hint="Please enter 11-digit phone number "
        android:background="@drawable/edittext"
        android:maxLength="11"
        android:inputType="number"
        android:layout_marginTop="50dp"
        android:layout_marginBottom="30dp"
        android:textSize="20dp"
        ></EditText>

    <EditText
        android:id="@+id/etPw"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:hint="Please enter 8-digit password "
        android:background="@drawable/edittext"
        android:maxLength="8"
        android:inputType="numberPassword"
        android:layout_marginBottom="80dp"
        android:textSize="20dp"
        ></EditText>


    <Button
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Login"
        android:textSize="30dp"


        android:layout_gravity="center"
        ></Button>

</LinearLayout>

java:

package com.example.ch3;

import androidx.appcompat.app.AppCompatActivity;

import android.os.Bundle;
import android.view.View;
import android.widget.EditText;
import android.widget.Toast;

public class FocusActivity extends AppCompatActivity implements View.OnFocusChangeListener {

    private EditText etPhone;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_focus);

        etPhone = findViewById(R.id.etPhone);

        findViewById(R.id.etPw).setOnFocusChangeListener(this);

    }

    @Override
    public void onFocusChange(View view, boolean b) {
        if(b){
            String phoneNum = etPhone.getText().toString();
            if(phoneNum.length()<11){
                etPhone.requestFocus();
                Toast.makeText(this, "Please enter 11-digit phone number", Toast.LENGTH_LONG).show();

            }
        }
    }
}

?效果圖:

當(dāng)焦點(diǎn)移向密碼欄時(shí),檢查手機(jī)號(hào)碼的長(zhǎng)度,若小于11位,將焦點(diǎn)返回手機(jī)號(hào)碼欄,彈出提示。

android edittext 輸入監(jiān)聽,APP開發(fā),android,android studio

3.文本變化監(jiān)聽器

監(jiān)聽EditText的內(nèi)容變化,觸發(fā)響應(yīng)的動(dòng)作

android edittext 輸入監(jiān)聽,APP開發(fā),android,android studio

?舉例:當(dāng)EditText的內(nèi)容長(zhǎng)度滿足要求后,隱藏輸入法窗口。

java代碼:

package com.example.ch3;

import androidx.appcompat.app.AppCompatActivity;

import android.os.Bundle;
import android.text.Editable;
import android.text.TextWatcher;
import android.widget.EditText;

import com.example.ch3.until.UtilFunc;

public class TextChangeActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_text_change);

        EditText et_Phone = findViewById(R.id.etPhone);
        EditText et_Pw = findViewById(R.id.etPw);

        et_Phone.addTextChangedListener(new HideTextWatcher(et_Phone, 11));
        et_Pw.addTextChangedListener(new HideTextWatcher(et_Pw, 8));



    }

    private class HideTextWatcher implements TextWatcher {

        private EditText et;
        private int maxL;
        public HideTextWatcher(EditText et, int maxL) {
            this.et = et;
            this.maxL = maxL;
        }

        @Override
        public void beforeTextChanged(CharSequence charSequence, int i, int i1, int i2) {

        }

        @Override
        public void onTextChanged(CharSequence charSequence, int i, int i1, int i2) {

        }

        @Override
        public void afterTextChanged(Editable editable) {
            String s = editable.toString();
            if(s.length()==maxL){
                UtilFunc.hideInput(TextChangeActivity.this, et);
            }
        }
    }
}

隱藏輸入法的工具函數(shù)實(shí)現(xiàn):文章來源地址http://www.zghlxwxcb.cn/news/detail-531884.html

package com.example.ch3.until;

import android.app.Activity;
import android.content.Context;
import android.view.View;
import android.view.inputmethod.InputMethodManager;
import android.widget.EditText;

public class UtilFunc {

    public static void hideInput(Activity act, View v){
        InputMethodManager imm = (InputMethodManager)         
        act.getSystemService(Context.INPUT_METHOD_SERVICE);
        imm.hideSoftInputFromWindow(v.getWindowToken(),0);
    }

}

到了這里,關(guān)于Android開發(fā) 文本輸入 EditText 監(jiān)聽器的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • HttpSessionListener監(jiān)聽器和HttpSessionAttributeListener監(jiān)聽器

    1.作用:監(jiān)聽Session創(chuàng)建或銷毀,即生命周期監(jiān)聽 2.相關(guān)方法: 3.使用場(chǎng)景: 和前面的ServletContextListener等一樣,可以用于監(jiān)控用戶上線和離線 4.代碼 HttpSessionListener監(jiān)聽器 實(shí)現(xiàn)類 HttpSessionAttributeListener監(jiān)聽器 1.作用:監(jiān)聽Session屬性的變化,使用少 2.相關(guān)方法: 3.代碼 監(jiān)聽器 實(shí)

    2024年02月04日
    瀏覽(20)
  • Listener監(jiān)聽器----HttpServletRequest對(duì)象的生命周期監(jiān)聽器

    一、HttpServletRequest對(duì)象的生命周期監(jiān)聽器 ????????ServletRequestListener接口定義了ServletRequest(是HttpServletRequest接口的父接口類型)對(duì)象生命周期的監(jiān)聽行為。 void requestInitialized(ServletRequestEvent sre) ??????? HttpServletRequest對(duì)象創(chuàng)建后會(huì)觸發(fā)該監(jiān)聽器方法,并將已創(chuàng)建HttpServletR

    2024年01月23日
    瀏覽(23)
  • camunda執(zhí)行監(jiān)聽器和任務(wù)監(jiān)聽器有什么區(qū)別

    camunda執(zhí)行監(jiān)聽器和任務(wù)監(jiān)聽器有什么區(qū)別

    Camunda的執(zhí)行監(jiān)聽器和任務(wù)監(jiān)聽器是用于添加自定義邏輯的監(jiān)聽器,它們的區(qū)別在于作用對(duì)象和觸發(fā)事件的不同。 執(zhí)行監(jiān)聽器是與BPMN流程中的各種流程元素(例如開始事件、用戶任務(wù)、服務(wù)任務(wù)、網(wǎng)關(guān)等)相關(guān)聯(lián)的。執(zhí)行監(jiān)聽器可以在流程元素執(zhí)行前、執(zhí)行后或拋出異常時(shí)添

    2024年02月04日
    瀏覽(39)
  • 消息監(jiān)聽器和消息監(jiān)聽容器

    前些天發(fā)現(xiàn)了一個(gè)巨牛的人工智能學(xué)習(xí)網(wǎng)站,通俗易懂,風(fēng)趣幽默,忍不住分享一下給大家。點(diǎn)擊跳轉(zhuǎn)到網(wǎng)站。 消息監(jiān)聽器顧名思義用來接收消息,它是使用消息監(jiān)聽容器的必須條件。目前有8個(gè)消息監(jiān)聽器: 使用自動(dòng)提交或容器管理的提交方法之一,處理從 Kafka 消費(fèi)者 p

    2024年02月07日
    瀏覽(21)
  • watch監(jiān)聽器三種監(jiān)聽方式

    1、普通監(jiān)聽( 無法監(jiān)聽到第一次綁定的變化 ) 這樣使用watch時(shí)有一個(gè)特點(diǎn),就是當(dāng)值第一次綁定的時(shí)候,不會(huì)執(zhí)行監(jiān)聽函數(shù),只有值發(fā)生改變才會(huì)執(zhí)行。 2、普通監(jiān)聽( 可以監(jiān)聽到第一次綁定的變化) 給 text 綁定了一個(gè)handler方法,之前我們寫的 watch 方法其實(shí)默認(rèn)寫的就是

    2024年02月15日
    瀏覽(23)
  • Servlet的監(jiān)聽器

    Servlet的監(jiān)聽器

    Servlet常用的監(jiān)聽器 ServletContextAttributeListener 用來感知 ServlerContext 對(duì)象屬性變化,比如添加或刪除屬性變化 ServletContextListener 用來感知 ServlerContext 對(duì)象的創(chuàng)建和銷毀的 ServletRequestListener 可以用來監(jiān)聽感知 ServletRequest 對(duì)象的創(chuàng)建和銷毀的 ServletRequestAttributeListener 用來感知 Serv

    2024年02月17日
    瀏覽(22)
  • Flowable監(jiān)聽器

    本人最近在找工作,有推薦的小伙伴私我,不勝感激。 開始、結(jié)束節(jié)點(diǎn) 連線節(jié)點(diǎn) 節(jié)點(diǎn)的開始和結(jié)束 網(wǎng)關(guān)的開始和結(jié)束 中間事件的開始和結(jié)束 開始時(shí)間結(jié)束或結(jié)束事件開始 Event事件 start 開始 take 啟用 end 結(jié)束 類型 類:Class:com.sgp.StartListeners 類名全限定 監(jiān)聽器類上無論是否

    2024年02月16日
    瀏覽(21)
  • Kafka 監(jiān)聽器詳解

    Kafka 監(jiān)聽器詳解

    Kafka Assistant 是一款 Kafka GUI 管理工具——管理Broker,Topic,Group、查看消費(fèi)詳情、監(jiān)控服務(wù)器狀態(tài)、支持多種消息格式。 你需要將 advertised.listeners (如果你使用Docker鏡像,則為 KAFKA_ADVERTISED_LISTENERS )設(shè)置為外部地址(host/IP),以便客戶端可以正確地連接到它。否則,他們會(huì)嘗試

    2024年02月06日
    瀏覽(22)
  • 認(rèn)識(shí)監(jiān)聽器(Listener)

    認(rèn)識(shí)監(jiān)聽器(Listener)

    監(jiān)聽器是什么? 監(jiān)聽器(Listener)是一種運(yùn)行在后臺(tái)的程序,它主要用于監(jiān)控某些事件在系統(tǒng)中的發(fā)生,并且根據(jù)這些事件做一些特定的處理。在Web應(yīng)用程序中,監(jiān)聽器可以觀察ServletContext、HttpSession以及ServletRequest等對(duì)象的變化,以便于在這些對(duì)象變化時(shí)進(jìn)行相應(yīng)的處理。監(jiān)

    2024年02月02日
    瀏覽(24)
  • 計(jì)算屬性和監(jiān)聽器

    計(jì)算屬性是Vue中非常常用的一個(gè)概念,它能夠根據(jù)現(xiàn)有的數(shù)據(jù)直接生成一個(gè)新的數(shù)據(jù)進(jìn)行展示和操作。在Vue的實(shí)例中,可以使用 computed 來定義計(jì)算屬性。 例如,我們有一個(gè)Vue實(shí)例 vm ,其中有一個(gè)數(shù)據(jù) message ,我們可以通過計(jì)算屬性 reversedMessage 來生成消息的反轉(zhuǎn)字符串: 在

    2024年02月15日
    瀏覽(23)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包