先上圖
先看一下鍵盤的布局檔案control_digitpasswordkeypad.xml
鍵盤布局檔案截圖如下:
下面看一下主界面的布局檔案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類