小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

DownEditTextView【自定義Edittext對(duì)Android 軟鍵盤向下的監(jiān)聽(tīng)】

 小仙女本仙人 2022-01-16

版權(quán)聲明:本文為HaiyuKing原創(chuàng)文章,轉(zhuǎn)載請(qǐng)注明出處!

前言

記錄自定義EditText控件實(shí)現(xiàn)監(jiān)聽(tīng)軟鍵盤隱藏事件的功能?;旧虾蛥⒖假Y料相同。

效果圖

  

代碼分析

自定義EditText子類,然后重寫onKeyPreIme方法

    @Override
     public  boolean onKeyPreIme( int keyCode, KeyEvent event) {
         if (keyCode == KeyEvent.KEYCODE_BACK && event.getAction() == 1 ) {
            Log.i( "DownEditTextView","鍵盤向下" );
            超級(jí).onKeyPreIme(keyCode, event);
            if (onKeyBoardHideListener != null ){
                onKeyBoardHideListener.onKeyHide(keyCode, event); //回調(diào)
            }
             return  false ;
        }
        返回 超級(jí).onKeyPreIme(keyCode, event);
    }

使用步驟

一、項(xiàng)目組織結(jié)構(gòu)圖

注意事項(xiàng):

1、  導(dǎo)入類文件后需要change包名以及重新import R文件路徑

2、  Values目錄下的文件(strings.xml、dimens.xml、colors.xml等),如果項(xiàng)目中存在,則復(fù)制里面的內(nèi)容,不要整個(gè)覆蓋

二、導(dǎo)入步驟

將DownEditTextView復(fù)制到項(xiàng)目中

com.why.project.androidcnblogsdemo.views.customedittext;

導(dǎo)入android.annotation.SuppressLint;
導(dǎo)入android.content.Context;
導(dǎo)入android.util.AttributeSet;
導(dǎo)入android.util.Log;
導(dǎo)入android.view.KeyEvent;
導(dǎo)入android.widget.EditText;

/**
 * 海育王創(chuàng)作
 * Used 對(duì)Android 軟鍵盤向下的監(jiān)聽(tīng):https://blog.csdn.net/yxhuang2008/article/details/53822072
 * Android軟鍵盤彈出和收回監(jiān)聽(tīng):https://blog.csdn.net/wangkai1101/article/details/79066046
 */

@SuppressLint( "AppCompatCustomView" )
公共 DownEditTextView擴(kuò)展EditText {
     public DownEditTextView(Context context) {
         super (context);
    }

    public DownEditTextView(Context context, AttributeSet attrs) {
         super (context, attrs);
    }

    public DownEditTextView(上下文上下文,AttributeSet attrs,int defStyleAttr){
        超級(jí)(上下文,attrs,defStyleAttr);
    }

    @覆蓋
    public  boolean onKeyPreIme( int keyCode, KeyEvent event) {
         if (keyCode == KeyEvent.KEYCODE_BACK && event.getAction() == 1 ) {
            Log.i( "DownEditTextView","鍵盤向下" );
            超級(jí).onKeyPreIme(keyCode, event);
            if (onKeyBoardHideListener != null ){
                onKeyBoardHideListener.onKeyHide(keyCode, event); //回調(diào)
            }
             return  false ;
        }
        返回 超級(jí).onKeyPreIme(keyCode, event);
    }

    /**
     *鍵盤監(jiān)聽(tīng)接口
     */ 
    public OnKeyBoardHideListener onKeyBoardHideListener;
    公共 無(wú)效setOnKeyBoardHideListener(OnKeyBoardHideListener onKeyBoardHideListener) {
         this .onKeyBoardHideListener = onKeyBoardHideListener;
    }

    公共 接口OnKeyBoardHideListener{
         void onKeyHide( int keyCode, KeyEvent event);
    }
}

輸入框背景圖片資源input_box_send.9.png

三、使用方法

在布局文件中引用這個(gè)自定義控件【注意,實(shí)際項(xiàng)目中需要更改DownEditTextView的完整路徑

<?xml 版本="1.0" 編碼="utf-8"?>
<!-- 自定義EditText的演示(監(jiān)聽(tīng)軟鍵盤隱藏) -->
<LinearLayout xmlns:android="http://schemas./apk/res/android"
    機(jī)器人:方向=“垂直”
    android:layout_width="match_parent"
    android:layout_height="match_parent">

    < com.why.project.androidcnblogsdemo.views.customedittext .DownEditTextView
        android:id="@+id/edt_down"
        android:layout_width="match_parent"
        android:layout_height="48dp"
        安卓:inputType="文本"
        android:hint="演示監(jiān)聽(tīng)軟鍵盤隱藏功能"
        機(jī)器人:線=“1”
        android:background="@drawable/input_box_send"
        android:layout_margin="8dp"
        />

</線性布局>

 

Activity中使用

com.why.project.androidcnblogsdemo.activity;

導(dǎo)入android.os.Bundle;
導(dǎo)入android.support.v7.app.AppCompatActivity;
導(dǎo)入android.view.KeyEvent;
導(dǎo)入android.widget.Toast;

導(dǎo)入com.why.project.androidcnblogsdemo.R;
導(dǎo)入com.why.project.androidcnblogsdemo.views.customedittext.DownEditTextView;

/**
 * 海育王創(chuàng)作
 * Used 自定義EditText的演示(監(jiān)聽(tīng)軟鍵盤隱藏)
 */

公共 DownEditTextActivity擴(kuò)展AppCompatActivity {
    私有DownEditTextView mDownEditTextView;

    @覆蓋
    protected  void onCreate (Bundle savedInstanceState) {
          super .onCreate (savedInstanceState);
        setContentView(R.layout.activity_downedittext);

        初始化視圖();
        初始化事件();
    }

    私人 無(wú)效initViews(){
        mDownEditTextView = (DownEditTextView) findViewById(R.id.edt_down);
    }

    私人 無(wú)效initEvents(){
         mDownEditTextView.setOnKeyBoardHideListener(DownEditTextView.OnKeyBoardHideListener(){
            @覆蓋
            公共 無(wú)效onKeyHide(int keyCode,KeyEvent事件){
                Toast.makeText(DownEditTextActivity.this,"軟鍵盤隱藏了",Toast.LENGTH_SHORT).show();
            }
        });
    }
}

混淆配置

無(wú)

參考資料

對(duì)Android 軟鍵盤向下的監(jiān)聽(tīng)

Android軟鍵盤彈出和收回監(jiān)聽(tīng)

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多