天天看點

Android自定義密碼鍵盤

先上圖

Android自定義密碼鍵盤

先看一下鍵盤的布局檔案control_digitpasswordkeypad.xml

鍵盤布局檔案截圖如下:

Android自定義密碼鍵盤

下面看一下主界面的布局檔案mian.xml

主界面隻有一個textview控件,通過觸發textview的單擊事件彈出自定義鍵盤

觸發事件代碼:

[java] view

plaincopy

textview edittext = (textview)findviewbyid(r.id.input);  

edittext.setonclicklistener(new onclicklistener() {  

    @override  

    public void onclick(view v) {  

        showpasswdpadview();  

    }  

});  

彈出自定義鍵盤方法showpasswdpadview()

private void showpasswdpadview() {  

        this.runonuithread(new runnable() {  

            public void run() {  

                // 讓一個視圖浮動在你的應用程式之上  

                windowmanager windowmanager = (windowmanager) content.getsystemservice(context.window_service);  

                layoutparams layoutparams = new layoutparams(-1, -1, windowmanager.layoutparams.first_sub_window, windowmanager.layoutparams.flag_not_focusable, pixelformat.rgba_8888);  

                layoutparams.gravity = gravity.bottom;  

                passwdview.findviewbyid(r.id.transpwdpdpanel).getbackground().setalpha(140);  

                windowmanager.addview(passwdview, layoutparams);  

            }  

        });  

}  

這裡用到了windowmanager,具體用法可參考網上。

下面是主界面的全部代碼

面代碼中passwdview這個對象就是彈出鍵盤界面的view執行個體,passwdview這個對象是在digitpasswordkeypad中初始化得到。

digitpasswordkeypad類自定義鍵盤類,繼承自view類

繼續閱讀